新增STIL CCS-PRIMA激光测试功能。
This commit is contained in:
@@ -0,0 +1,936 @@
|
||||
|
||||
|
||||
//COLORIMETRY FUNCTIONS
|
||||
|
||||
/*
|
||||
Acquisition functions
|
||||
Configure the device in the acquisition mode (XYZ,RGB) and start acquiring data
|
||||
Any float array parameter is optional and can be set to NULL
|
||||
|
||||
======================================
|
||||
= Acquisition functions parameters =
|
||||
======================================
|
||||
SensorID : device ID
|
||||
Parameters : Acquire parameter
|
||||
|
||||
pArrayColorDiff : ???
|
||||
pArraySpectralDiff : ???
|
||||
pArrayConformity : ???
|
||||
pArrayCounter : This array will be filled with an incremented value ranging from 0 to 1200
|
||||
|
||||
Parameters 3,4 and 5 will be filled according to the mode (XYZ,Yxy,RGB...)
|
||||
|
||||
Mode description :
|
||||
XYZ : ???
|
||||
Yxy : ???
|
||||
RGB : ???
|
||||
Lab : ???
|
||||
Luv : ???
|
||||
Lch_ab : ???
|
||||
W : ???
|
||||
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetXYZ (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataX,PFLOAT*pArrayDataY,PFLOAT*pArrayDataZ,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
\if FR
|
||||
\brief Récupère les données colorimétriques CIEXYZ.
|
||||
\else
|
||||
\brief Get the colorometric data CIEXYZ.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataX : Data X
|
||||
\param [out] PFLOAT*pArrayDataY? : Data Y
|
||||
\param [out] PFLOAT*pArrayDataZ : Data Z
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataX : Data X
|
||||
\param [out] PFLOAT*pArrayDataY? : Data Y
|
||||
\param [out] PFLOAT*pArrayDataZ : Data Z
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetXYZ (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataX,PFLOAT*pArrayDataY,PFLOAT*pArrayDataZ,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetYxy (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataY,PFLOAT*pArrayDatax,PFLOAT*pArrayDatay,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
\if FR
|
||||
\brief Récupère les données colorimétriques CIEYxy.
|
||||
\else
|
||||
\brief Get the colorometric data CIEYxy.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataY : Data Y
|
||||
\param [out] PFLOAT*pArrayDatax : Data x
|
||||
\param [out] PFLOAT*pArrayDatay : Data y
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataY : Data Y
|
||||
\param [out] PFLOAT*pArrayDatax : Data x
|
||||
\param [out] PFLOAT*pArrayDatay : Data y
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetYxy (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataY,PFLOAT*pArrayDataX,PFLOAT*pArrayDatay,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetRGB (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataR,PFLOAT*pArrayDataG,PFLOAT*pArrayDataB,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
\if FR
|
||||
\brief Récupère les données colorimétriques sRVB.
|
||||
\else
|
||||
\brief Get the colorometric data sRVB.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataR : Data R
|
||||
\param [out] PFLOAT*pArrayDataG : Data V
|
||||
\param [out] PFLOAT*pArrayDataB : Data B
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataR : Data R
|
||||
\param [out] PFLOAT*pArrayDataG : Data V
|
||||
\param [out] PFLOAT*pArrayDataB : Data B
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetRGB (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataR,PFLOAT*pArrayDataG,PFLOAT*pArrayDataB,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetLab (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataL,PFLOAT*pArrayDataa,PFLOAT*pArrayDatab,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
\if FR
|
||||
\brief Récupère les données colorimétriques CIELab.
|
||||
\else
|
||||
\brief Get the colorometric data CIELab.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataL : Data L
|
||||
\param [out] PFLOAT*pArrayDataa : Data a
|
||||
\param [out] PFLOAT*pArrayDatab : Data b
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataL : Data L
|
||||
\param [out] PFLOAT*pArrayDataa : Data a
|
||||
\param [out] PFLOAT*pArrayDatab : Data b
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetLab (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataL,PFLOAT*pArrayDataa,PFLOAT*pArrayDatab,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetLuv (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataL,PFLOAT*pArrayDatau,PFLOAT*pArrayDatav,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
\if FR
|
||||
\brief Récupère les données colorimétriques CIELuv.
|
||||
\else
|
||||
\brief Get the colorometric data CIELuv.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataL : Data L
|
||||
\param [out] PFLOAT*pArrayDatau : Data u
|
||||
\param [out] PFLOAT*pArrayDatav : Data v
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataL : Data L
|
||||
\param [out] PFLOAT*pArrayDatau : Data u
|
||||
\param [out] PFLOAT*pArrayDatav : Data v
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetLuv (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataL,PFLOAT*pArrayDatau,PFLOAT*pArrayDatav,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetLch_ab (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataLch,PFLOAT*pArrayData,PFLOAT*pArrayDatab,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
\if FR
|
||||
\brief Récupère les données colorimétriques CIELch.
|
||||
\else
|
||||
\brief Get the colorometric data CIELch.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataLch : Data Lch
|
||||
\param [out] PFLOAT*pArrayDataa : Data a
|
||||
\param [out] PFLOAT*pArrayDatab : Data b
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataLch : Data Lch
|
||||
\param [out] PFLOAT*pArrayDataa : Data a
|
||||
\param [out] PFLOAT*pArrayDatab : Data b
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetLch_ab (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataLch,PFLOAT*pArrayData,PFLOAT*pArrayDatab,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetW (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataW,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
\if FR
|
||||
\brief Récupère l'indice de blancheur CIE W
|
||||
\brief Get the colorometric data CIE W
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataW : Value of the whiteref
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] MCHR_tyAcqParam Parameters?
|
||||
\param [out] PFLOAT*pArrayDataW : Data W
|
||||
\param [out] PFLOAT*pArrayColorDiff ? Method to calculate the difference of the color
|
||||
\param [out] PFLOAT*pArraySpectralDiff : Method to calculate the difference of spectral
|
||||
\param [out] PFLOAT*pArrayConformity : Tolerance to eliminate the sample no accordance.
|
||||
\param [out] PFLOAT*pArrayCounter : Count the number of acquisitions
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetW (MCHR_ID SensorID,MCHR_tyAcqParam Parameters, PFLOAT *pArrayDataW,PFLOAT*pArrayColorDiff,PFLOAT*pArraySpectralDiff,PFLOAT*pArrayConformity,PFLOAT*pArrayCounter);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetFirstPixel(MCHR_ID SensorID,long *piFps)
|
||||
\if FR
|
||||
\brief Fonction detection du premier pixel.
|
||||
\else
|
||||
\brief Function Get First pixel.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] long *piFps : Premier pixel detecte
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] long *piFps : First detected pixel
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
|
||||
DLL_CHR_API short MCHR_GetFirstPixel(MCHR_ID SensorID,long *piFps);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetFirstPixel(MCHR_ID SensorID,long iFps)
|
||||
\if FR
|
||||
\brief Fonction de parametrage du premier pixel.
|
||||
\else
|
||||
\brief Function Set First pixel.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long iFps : Premier pixel detecte
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long iFps : First detected pixel
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
|
||||
DLL_CHR_API short MCHR_SetFirstPixel(MCHR_ID SensorID,long iFps);
|
||||
|
||||
/*
|
||||
Number of pixels returned in the taken in account for result
|
||||
To retreive the spectrums when using MCHR_SetSpectrumBuffer, buffer size must be equal to the NumberOfPixels
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetNumberOfPixels(MCHR_ID SensorID,long *piFps);
|
||||
\if FR
|
||||
\brief Recupere le nombre de pixel pour definir un spectre.
|
||||
\else
|
||||
\brief Get the number of pixels to define a spectral.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long *piFps : Nombre de pixels.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long *piFps : Numbers of pixels.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetNumberOfPixels(MCHR_ID SensorID,long *piFps);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetNumberOfPixels(MCHR_ID SensorID,long iFps);
|
||||
\if FR
|
||||
\brief Parametre le nombre de pixel pour definir un spectre.
|
||||
\else
|
||||
\brief Set the number of pixels to define a spectral.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long *piFps : Nombre de pixels.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long *piFps : Numbers of pixels.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetNumberOfPixels(MCHR_ID SensorID,long iFps);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetSampling(MCHR_ID SensorID,long *piSampling);
|
||||
\if FR
|
||||
\brief Recupere le pas d'échantillonage du spectre.
|
||||
\else
|
||||
\brief Get the spectral sampling
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long *piSampling :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long *piSampling : Spectral sampling ( nothing, 1nm, 5nm, 10nm).
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetSampling(MCHR_ID SensorID,long *piSampling);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetSampling(MCHR_ID SensorID,long iSampling);
|
||||
\if FR
|
||||
\brief Parametre le pas d'échantillonage du spectre.
|
||||
\else
|
||||
\brief Set the spectral sampling
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long *piSampling :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long *piSampling : Spectral sampling ( nothing, 1nm, 5nm, 10nm).
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetSampling(MCHR_ID SensorID,long iSampling);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetMaximumNumberPixel(MCHR_ID SensorID,long *piMax);
|
||||
\if FR
|
||||
\brief Obtient le nombre maximum de pixels.
|
||||
\else
|
||||
\brief Get the the maximum numbers of pixels
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long *piMax :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long *piMax : Maximum Numbers of pixels.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetMaximumNumberPixel(MCHR_ID SensorID,long *piMax);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetMaximumNumberPixel(MCHR_ID SensorID,long *piMax);
|
||||
\if FR
|
||||
\brief PAramétre le nombre maximum de pixels.
|
||||
\else
|
||||
\brief Set the the maximum numbers of pixels
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long iMax :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long iMax : Maximum Numbers of pixels.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetMaximumNumberPixel(MCHR_ID SensorID,long iMax);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetMinimumNumberPixel(MCHR_ID SensorID,long *piMin);
|
||||
\if FR
|
||||
\brief Obtient le nombre minimum de pixels.
|
||||
\else
|
||||
\brief Get the the minimum numbers of pixels
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long *piMin :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long *piMins : Maximum Numbers of pixels.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetMinimumNumberPixel(MCHR_ID SensorID,long *piMin);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetMinimumNumberPixel(MCHR_ID SensorID,long iMin);
|
||||
\if FR
|
||||
\brief Parametre le nombre minmum de pixels.
|
||||
\else
|
||||
\brief Set the the minimum numbers of pixels
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long iMin :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long iMin : Minimum Numbers of pixels.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetMinimumNumberPixel(MCHR_ID SensorID,long iMin);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetRealTimeSignalType(MCHR_ID SensorID,enRealTimeSignalType *);
|
||||
\if FR
|
||||
\brief Obtient le type de signal export?(brut ou trait?, le signal trait?correspond ?la réflectance de l’échantillon.
|
||||
\else
|
||||
\brief Get the type of signal exported (raw or processed), the processed signal is equivalent to the reflectance of the sample.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enRealTimeSignalType :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enRealTimeSignalType : type of signal
|
||||
\arg \c RT_NO_SIGNAL,
|
||||
\arg \c RT_RAW_SIGNAL,
|
||||
\arg \c RT_PRETRAITED_SIGNAL,
|
||||
\aeg \c NBR_MAX_RT_SIGNAL_TYPE,
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetRealTimeSignalType(MCHR_ID SensorID,enRealTimeSignalType *pRealTimeSignalType);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetRealTimeSignalType(MCHR_ID SensorID,enRealTimeSignalType);
|
||||
\if FR
|
||||
\brief Parametre le type de signal export?(brut ou trait?, le signal trait?correspond ?la réflectance de l’échantillon.
|
||||
\else
|
||||
\brief Set the type of signal exported (raw or processed), the processed signal is equivalent to the reflectance of the sample.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enRealTimeSignalType :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enRealTimeSignalType : type of signal
|
||||
\arg \c RT_NO_SIGNAL,
|
||||
\arg \c RT_RAW_SIGNAL,
|
||||
\arg \c RT_PRETRAITED_SIGNAL,
|
||||
\aeg \c NBR_MAX_RT_SIGNAL_TYPE,
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetRealTimeSignalType(MCHR_ID SensorID, enRealTimeSignalType realTimeSignalType);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_MeasureTarget(MCHR_ID SensorID);
|
||||
\if FR
|
||||
\brief
|
||||
\else
|
||||
\brief Function to read the mesure of the target
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\endif
|
||||
*/
|
||||
DLL_CHR_API short MCHR_MeasureTarget(MCHR_ID SensorID);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetReferenceCoordinate (MCHR_ID SensorID, PFLOAT pfX, PFLOAT pfY, PFLOAT pfZ);
|
||||
\if FR
|
||||
\brief Obtient les coordonnées colorimétriques de la cible
|
||||
\else
|
||||
\brief Get the target colorimetric coordinates.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param PFLOAT pfX : Pointer to an array of target colorimetric coordinate X.
|
||||
\param PFLOAT pfY : Pointer to an array of target colorimetric coordinate Y.
|
||||
\param PFLOAT pfZ : Pointer to an array of target colorimetric coordinate Z.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param PFLOAT pfX : Pointer to an array of target colorimetric coordinate X.
|
||||
\param PFLOAT pfY : Pointer to an array of target colorimetric coordinate Y.
|
||||
\param PFLOAT pfZ : Pointer to an array of target colorimetric coordinate Z.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetReferenceCoordinate (MCHR_ID SensorID, PFLOAT pfX, PFLOAT pfY, PFLOAT pfZ);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetIlluminantCoordinate (MCHR_ID SensorID, PFLOAT pfX, PFLOAT pfY, PFLOAT pfZ);
|
||||
\if FR
|
||||
\brief Obtient les coordonnées colorimétriques de l'illuminant
|
||||
\else
|
||||
\brief Get the illuminant colorimetric coordinates
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param PFLOAT pfX :
|
||||
\param PFLOAT pfY :
|
||||
\param PFLOAT pfZ :
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param PFLOAT pfX : Pointer to an array of target colorimetric coordinate X.
|
||||
\param PFLOAT pfY : Pointer to an array of target colorimetric coordinate Y.
|
||||
\param PFLOAT pfZ : Pointer to an array of target colorimetric coordinate Z.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetIlluminantCoordinate (MCHR_ID SensorID, PFLOAT pfX, PFLOAT pfY, PFLOAT pfZ);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetIlluminants (MCHR_ID SensorID, enIlluminant);
|
||||
\if FR
|
||||
\brief Configure l'illuminant CIE ?utiliser pour le calcul des coordonnées colorimétriques.
|
||||
\else
|
||||
\brief Set the CIE illuminant to calculate of colorimetrics coordinates.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enIlluminant :
|
||||
\arg \c A.
|
||||
\arg \c C.
|
||||
\aeg \c D.
|
||||
\arg \c F.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enIlluminant :
|
||||
\arg \c A.
|
||||
\arg \c C.
|
||||
\aeg \c D.
|
||||
\arg \c F.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetIlluminants (MCHR_ID SensorID, enIlluminant );
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetIlluminants (MCHR_ID SensorID, enIlluminant *);
|
||||
\if FR
|
||||
\brief Obtient l'illuminant CIE ?utiliser pour le calcul des coordonnées colorimétriques.
|
||||
\else
|
||||
\brief Get the CIE illuminant to calculate of colorimetrics coordinates.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enIlluminant :
|
||||
\arg \c A.
|
||||
\arg \c C.
|
||||
\aeg \c D.
|
||||
\arg \c F.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enIlluminant : Choice of illuminant
|
||||
\arg \c A.
|
||||
\arg \c C.
|
||||
\aeg \c D.
|
||||
\arg \c F.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetIlluminants (MCHR_ID SensorID, enIlluminant *);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetObserver (MCHR_ID SensorID, enObservateur);
|
||||
\if FR
|
||||
\brief Configure l’observateur standard CIE ?utiliser pour le calcul des coordonnées colorimétriques.
|
||||
\else
|
||||
\brief Set the standart observer to calculate the colorimetrics coordinates.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enObservateur :
|
||||
\arg \c OBS_CIE1931 : CIE1931 (2?,
|
||||
\arg \c OBS_CIE1964 : CIE1964 (10?.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enObservateur : Value of observer
|
||||
\arg \c OBS_CIE1931 : CIE1931 (2?,
|
||||
\arg \c OBS_CIE1964 : CIE1964 (10?.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetObserver (MCHR_ID SensorID, enObservateur);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetObserver (MCHR_ID SensorID, enObservateur*);
|
||||
\if FR
|
||||
\brief Obtient l’observateur standard CIE ?utiliser pour le calcul des coordonnées colorimétriques.
|
||||
\else
|
||||
\brief Get the standart observer to calculate the colorimetrics coordinates.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enObservateur :
|
||||
\arg \c OBS_CIE1931 : CIE1931 (2?,
|
||||
\arg \c OBS_CIE1964 : CIE1964 (10?.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enObservateur : Value of observer
|
||||
\arg \c OBS_CIE1931 : CIE1931 (2?,
|
||||
\arg \c OBS_CIE1964 : CIE1964 (10?
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetObserver (MCHR_ID SensorID, enObservateur*);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetColorIndicator (MCHR_ID SensorID, enIndiceCouleur);
|
||||
\if FR
|
||||
\brief Configure le calcul des différences de couleur (coordonnées colorimétriques).
|
||||
\else
|
||||
\brief Set the value to calculate the color difference.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enIndiceCouleur :
|
||||
\arg \c IND_COLOR_Eab : delta Eab,
|
||||
\arg \c IND_COLOR_E2000 : delta E2000,
|
||||
\arg \c IND_COLOR_CMC : CMC,
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enIndiceCouleur : Value of calculation
|
||||
\arg \c IND_COLOR_Eab : delta Eab,
|
||||
\arg \c IND_COLOR_E2000 : delta E2000,
|
||||
\arg \c IND_COLOR_CMC : CMC,
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetColorIndicator (MCHR_ID SensorID, enIndiceCouleur);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetColorIndicator (MCHR_ID SensorID, enIndiceCouleur*);
|
||||
\if FR
|
||||
\brief Obtient le calcul des différences de couleur (coordonnées colorimétriques).
|
||||
\else
|
||||
\brief Get the value to calculate the color difference.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enIndiceCouleur :
|
||||
\arg \c IND_COLOR_Eab : delta Eab,
|
||||
\arg \c IND_COLOR_E2000 : delta E2000,
|
||||
\arg \c IND_COLOR_CMC : CMC,
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enIndiceCouleur : Value of calculation
|
||||
\arg \c IND_COLOR_Eab : delta Eab,
|
||||
\arg \c IND_COLOR_E2000 : delta E2000,
|
||||
\arg \c IND_COLOR_CMC : CMC,
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetColorIndicator (MCHR_ID SensorID, enIndiceCouleur*);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetSpectralIndicator (MCHR_ID SensorID, enIndiceSpectre);
|
||||
\if FR
|
||||
\brief Configure le calcul des différences de spectre.
|
||||
\else
|
||||
\brief Set the value to calculate the spectral difference.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enIndiceSpectre :
|
||||
\arg \c IND_SPECTRE_RMS : RootMeanSquar,
|
||||
\arg \c IND_SPECTRE_GFC : Goodness-Fitness Coefficient,
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enIndiceSpectre : Value of calculation
|
||||
\arg \c IND_SPECTRE_RMS : RootMeanSquar,
|
||||
\arg \c IND_SPECTRE_GFC : Goodness-Fitness Coefficient,
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetSpectralIndicator (MCHR_ID SensorID, enIndiceSpectre);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetSpectralIndicator (MCHR_ID SensorID, enIndiceSpectre*);
|
||||
\if FR
|
||||
\brief Obtient le calcul des différences de spectre.
|
||||
\else
|
||||
\brief Set the value to calculate the spectral difference.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enIndiceSpectre :
|
||||
\arg \c IND_SPECTRE_RMS : RootMeanSquar,
|
||||
\arg \c IND_SPECTRE_GFC : Goodness-Fitness Coefficient,
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enIndiceSpectre : Value of calculation
|
||||
\arg \c IND_SPECTRE_RMS : RootMeanSquar,
|
||||
\arg \c IND_SPECTRE_GFC : Goodness-Fitness Coefficient,
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetSpectralIndicator (MCHR_ID SensorID, enIndiceSpectre*);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetColorDifferenceMode (MCHR_ID SensorID, enTypeConformite);
|
||||
\if FR
|
||||
\brief Configure le type de calcul des différences entre mesure courante et mesure cible. Les deux types disponibles sont soit une différence de couleur ou de spectre.
|
||||
\else
|
||||
\brief Set the calculation type of difference between current measurement and target measurement.
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enIndiceSpectre :
|
||||
\arg \c CONFORMITE_DESACTIVE,
|
||||
\arg \c CONFORMITE_COULEUR,
|
||||
\arg \c CONFORMITE_SPECTRE,
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enIndiceSpectre : Value of calculation
|
||||
\arg \c CONFORMITE_DESACTIVE,
|
||||
\arg \c CONFORMITE_COULEUR,
|
||||
\arg \c CONFORMITE_SPECTRE,
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetColorDifferenceMode (MCHR_ID SensorID, enTypeConformite);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetColorDifferenceMode (MCHR_ID SensorID, enTypeConformite*);
|
||||
\if FR
|
||||
\brief Configure le type de calcul des différences entre mesure courante et mesure cible. Les deux types disponibles sont soit une différence de couleur ou de spectre.
|
||||
\else
|
||||
\brief Get the calculation type of difference between current measurement and target measurement.
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param enIndiceSpectre :
|
||||
\arg \c CONFORMITE_DESACTIVE,
|
||||
\arg \c CONFORMITE_COULEUR,
|
||||
\arg \c CONFORMITE_SPECTRE,
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param enIndiceSpectre : Value of calculation
|
||||
\arg \c CONFORMITE_DESACTIVE,
|
||||
\arg \c CONFORMITE_COULEUR,
|
||||
\arg \c CONFORMITE_SPECTRE,
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetColorDifferenceMode (MCHR_ID SensorID, enTypeConformite*);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetColorTolerance (MCHR_ID SensorID, double);
|
||||
\if FR
|
||||
\brief Configure la valeur de tolérance d’un calcul de différence entre spectres ou coordonnées colorimétriques.
|
||||
\else
|
||||
\brief Set the tolerance value of calculation berween spectral or colorimetrics coordinates.
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetColorTolerance (MCHR_ID SensorID, double);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetColorTolerance (MCHR_ID SensorID, double*);
|
||||
\if FR
|
||||
\brief Configure la valeur de tolérance d’un calcul de différence entre spectres ou coordonnées colorimétriques.
|
||||
\else
|
||||
\brief Get the tolerance value of calculation berween spectral or colorimetrics coordinates.
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\return short : un code d'erreur \link MCHR_ERROR MCHR_ERROR \endlink.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
\see MCHR_GetErrorDescription
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetColorTolerance (MCHR_ID SensorID, double*);
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Use this function to specify a buffer receiving the spectrums
|
||||
ppSpectrumBuffer is a pointer to a pointer array of the size of the buffer_number
|
||||
Each of this buffer is pointing to an array of pointer. Each of them point to an array of WORD, which size is specified in wSpectroSize
|
||||
The size should be equals to the value returned by SPECTRO_GetNumberOfPixels()
|
||||
For an example, please have a look at the SpectroSample, "DAcquisition.cpp"
|
||||
|
||||
ppSpectrumBuffer
|
||||
|
|
||||
[*][*][*][*][*][*][*][*] ... (buffer number)
|
||||
/|\
|
||||
\
|
||||
[*][*][*]... (buffer length)
|
||||
/|\
|
||||
\
|
||||
[WORD][WORD][WORD][WORD][WORD][WORD][WORD][WORD]... buffer size
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetSpectrumBuffer (MCHR_ID SensorID, double*);
|
||||
\if FR
|
||||
\brief PRIVE
|
||||
\else
|
||||
\brief PRIVATE
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetSpectrumBuffer(MCHR_ID SensorID,WORD***ppSpectrumBuffer,WORD wSpectroSize);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,545 @@
|
||||
/************************************************************************/
|
||||
/* STIL * Software Departement */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* MchrDefine.h */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* Project .................................. CHR DLL */
|
||||
/* Reference documents */
|
||||
/* Programming Language ................. Visual C++ v6.0 */
|
||||
/* Starting date ................... 16/01/2003 */
|
||||
/* Date of last update ............. */
|
||||
/* Author(s)................................. DMO */
|
||||
/* Required Files .........................none */
|
||||
/* Required hardware .................... PC Pentium 350 Mhz */
|
||||
/* Prefix ........... MCHR_ */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* This HEADER file defines constants */
|
||||
/* */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* V? | Date |AUTHOR| COMMENTS */
|
||||
/*-------+---------- +--------------------------------------------------*/
|
||||
/* 01 | 05 Sept 03| DMO | Initial version */
|
||||
/* 02 | 18 Nov 05| DMO | Ethernet, XE, download */
|
||||
/* 03 | 07 Mar. 08| RSA | Max number devices set to 8 */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef MCHRDEFINE_H
|
||||
#define MCHRDEFINE_H
|
||||
|
||||
|
||||
#if defined(_cplusplus) || defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif /* _cplusplus */
|
||||
|
||||
/*!
|
||||
\def MCHR_MAX_SENSOR
|
||||
\if FR
|
||||
Nombre maximum de capteur pouvant être gere par la DLL
|
||||
\else
|
||||
Maximum number of sensors that can be handled by the DLL
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_SENSOR 16
|
||||
|
||||
/*!
|
||||
\def MCHR_MAX_REFRACTIVE_INDEX
|
||||
\if FR
|
||||
Nombre maximum de d'indice de refraction pouvant être gere par un capteur
|
||||
\else
|
||||
Maximum number of refractive indexes that can be handled by a sensor
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_REFRACTIVE_INDEX 8
|
||||
|
||||
/*!
|
||||
\def MCHR_USB_DEVICE_NAME_LENGTH
|
||||
\if FR
|
||||
Taille max du nom de peripherique USB
|
||||
\else
|
||||
Max length of Usb device name
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_USB_DEVICE_NAME_LENGTH 50
|
||||
|
||||
/*!
|
||||
\def MCHR_MAX_DIGITAL_DATA
|
||||
\if FR
|
||||
Nombre de donnees max mesurees par un capteur
|
||||
\else
|
||||
Max number of data measured at each physical point
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_DIGITAL_DATA 16
|
||||
|
||||
/*!
|
||||
\def MCHR_ANALOG_OUTPUT_NUMBER
|
||||
\if FR
|
||||
Nombre de sorties analogique max d'un capteur
|
||||
\else
|
||||
Max number of analog outputs for a sensor
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ANALOG_OUTPUT_NUMBER 2
|
||||
|
||||
/*!
|
||||
\def MCHR_MAX_ENCODER
|
||||
\if FR
|
||||
Nombre de codeur max pour un capteur
|
||||
\else
|
||||
Max number of encoders for a sensor
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_ENCODER 3
|
||||
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CHR_150
|
||||
\if FR
|
||||
Nombre de crayon max dans un CHR-150.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CHR 150
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CHR_150 6
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CHR_450
|
||||
\if FR
|
||||
Nombre de crayon max dans un CHR-450.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CHR 450
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CHR_450 6
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CHR_XE
|
||||
\if FR
|
||||
Nombre de crayon max dans un CHR-XE.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CHR XE
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CHR_XE 6
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CHR_XE_E
|
||||
\if FR
|
||||
Nombre de crayon max dans un CHR-XE.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CHR XE
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CHR_XE_E 20
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CCS_ALPHA
|
||||
\if FR
|
||||
Nombre de crayon max dans un CCS ALPHA.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CCS ALPHA
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CCS_ALPHA 20
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CCS_PRIMA
|
||||
\if FR
|
||||
Nombre de crayon max dans un CCS PRIMA.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CCS PRIMA.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CCS_PRIMA 20
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CCS_OPTIMA
|
||||
\if FR
|
||||
Nombre de crayon max dans un CCS OPTIMA.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CCS OPTIMA
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CCS_OPTIMA 20
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CCS_ULTIMA
|
||||
\if FR
|
||||
Nombre de crayon max dans un CCS ULTIMA.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CCS ULTIMA
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CCS_ULTIMA 20
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CCS_INITIAL
|
||||
\if FR
|
||||
Nombre de crayon max dans un CCS INITIAL.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CCS INITIAL.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CCS_INITIAL 1
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_TRIO
|
||||
\if FR
|
||||
Nombre de crayon max dans un TRIO.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by TRIO.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_TRIO 20
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_RUBY
|
||||
\if FR
|
||||
Nombre de crayon max dans un RUBY.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by RUBY
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_RUBY 20
|
||||
/*!
|
||||
\def MCHR_MAX_PEN_CHR
|
||||
\if FR
|
||||
Nombre de crayon max dans un CHR.
|
||||
\else
|
||||
Max number of opticals pens ( = calibration tables) by CHR.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_PEN_CHR MCHR_MAX_PEN_CHR_150
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CHR_150
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un capteur.
|
||||
\warning Fonction non autorisee pour le CHR 150.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for a sensor.
|
||||
\warning COMMAND NOT AUTHORIZED for CHR 150.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CHR_150 0 /* Non applicable sur CHR-150 */
|
||||
/* Command not authorized for CHR 150 */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CHR_150
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un capteur.
|
||||
\warning Fonction non autorisee pour le CHR 150.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for a sensor.
|
||||
\warning COMMAND NOT AUTHORIZED for CHR 150.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CHR_150 0 /* Non applicable sur CHR-150 */
|
||||
/* Command not authorized for CHR 150 */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CHR_450
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un CHR 450 <br>
|
||||
30000 correspond ?la fréquence 33Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for CHR 450. <br>
|
||||
30000 correspond to the frequency 33Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CHR_450 30000 /* Correspond ?la Freq 33Hhz */
|
||||
/* Corresponds to 33Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CHR_450
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un CHR 450.
|
||||
250 correspond ?la fréquence 4 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for CHR 450.
|
||||
250 correspond to the frequency 4 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CHR_450 250 /* Correspond la freq 4Khz */
|
||||
/* Corresponds to 4KHz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CHR_XE
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un CHR XE <br>
|
||||
30000 correspond ?la fréquence 33Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for CHR XE <br>
|
||||
30000 correspond to the frequency 33Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CHR_XE 30000 /* Correspond ?la Freq 33Hhz */
|
||||
/* Corresponds to 33Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CHR_XE
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un CHR XE.
|
||||
100 correspond ?la fréquence 10 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for CHR XE.
|
||||
100 correspond to the frequency 10 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CHR_XE 100 /* Correspond la freq 10Khz */
|
||||
/* Corresponds to 10KHz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CHR_XE_E
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un CHR XE_E <br>
|
||||
30000 correspond ?la fréquence 33 Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for CHR XE_E. <br>
|
||||
30000 correspond to the frequency 33 Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CHR_XE_E 30000 /* Correspond ?la Freq 33Hhz */
|
||||
/* Corresponds to 33Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_XE_E
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un CHR XE_E.
|
||||
32 correspond ?la fréquence 31,250 Khz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for CHR XE_E.
|
||||
32 correspond to the frequency 31,250 Khz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CHR_XE_E 32 /* Correspond la freq 31Khz250 */
|
||||
/* Corresponds to 31250 Hz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CCS_ALPHA
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un CCS ALPHA <br>
|
||||
25000 correspond ?la fréquence 40 Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for CCS ALPHA. <br>
|
||||
25000 correspond to the frequency 40 Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CCS_ALPHA 25000 /* Correspond ?la Freq 40 Hz */
|
||||
/* Corresponds to 40 Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CCS_ALPHA
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un CCS ALPHA.
|
||||
500 correspond ?la fréquence 2 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for CHR CCS ALPHA.
|
||||
500 correspond to the frequency 2 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CCS_ALPHA 500 /* Correspond la freq 2Khz */
|
||||
/* Corresponds to 2000 Hz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CCS_INITIAL
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un CCS INITIAL <br>
|
||||
10000 correspond ?la fréquence 100 Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for CHR CCS INITIAL. <br>
|
||||
10000 correspond to the frequency 100 Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CCS_INITIAL 10000 /* Correspond ?la Freq 100Hhz */
|
||||
/* Corresponds to 100Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CCS_INITIAL
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un CCS INITIAL.
|
||||
500 correspond ?la fréquence 2 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for CHR CCS INITIAL.
|
||||
500 correspond to the frequency 2 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CCS_INITIAL 500 /* Correspond la freq 2Khz */
|
||||
/* Corresponds to 2000 Hz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CCS_PRIMA
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un CCS PRIMA <br>
|
||||
10000 correspond ?la fréquence 100Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for CCS PRIMA. <br>
|
||||
10000 correspond to the frequency 100Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CCS_PRIMA 10000 /* Correspond ?la Freq 100Hhz */
|
||||
/* Corresponds to 100Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CCS_PRIMA
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un CCS PRIMA.
|
||||
500 correspond ?la fréquence 2 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for CCS PRIMA.
|
||||
500 correspond to the frequency 2 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CCS_PRIMA 500 /* Correspond la freq 2Khz */
|
||||
/* Corresponds to 2000 Hz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CCS_OPTIMA
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un CCS_OPTIMA <br>
|
||||
10000 correspond ?la fréquence 100Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for CCS_OPTIMA. <br>
|
||||
10000 correspond to the frequency 100Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CCS_OPTIMA 10000 /* Correspond ?la Freq 100Hhz */
|
||||
/* Corresponds to 100Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CCS_OPTIMA
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un CCS OPTIMA.
|
||||
200 correspond ?la fréquence 5 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for CCS OPTIMA.
|
||||
200 correspond to the frequency 4 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CCS_OPTIMA 200 /* Correspond la freq 5000 hz */
|
||||
/* Corresponds to 5 kHz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_CCS_ULTIMA
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un CCS ULTIMA<br>
|
||||
10000 correspond ?la fréquence 100Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for CCS ULTIMA. <br>
|
||||
10000 correspond to the frequency 100Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_CCS_ULTIMA 10000 /* Correspond ?la Freq 100Hhz */
|
||||
/* Corresponds to 100Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CCS_ULTIMA
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un CCS ULTIMA.
|
||||
32 correspond ?la fréquence 31,250 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for CCS ULTIMA.
|
||||
32 correspond to the frequency 31,250 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_CCS_ULTIMA 32 /* Correspond la freq 31250 hz */
|
||||
/* Corresponds to 31250 Hz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_TRIO
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un TRIO <br>
|
||||
25000 correspond ?la fréquence 40Hz.
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for TRIO. <br>
|
||||
25000 correspond to the frequency 40Hz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_TRIO 25000 /* Correspond ?la Freq 40Hz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_TRIO
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un TRIO.
|
||||
500 correspond ?la fréquence 2 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for TRIO.
|
||||
500 correspond to the frequency 2 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_TRIO 500 /* Correspond ?la Freq 2000Hhz */
|
||||
/*!
|
||||
\def MCHR_MAX_EXPOSURE_RUBY
|
||||
\if FR
|
||||
Definition du temps d'exposition MAXIMUM pour un RUBY
|
||||
\else
|
||||
MAXIMUM exposure time in microsec for RUBY.
|
||||
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MAX_EXPOSURE_RUBY 250000L /* Correspond ?la Freq 100Hhz */
|
||||
/*!
|
||||
\def MCHR_MIN_EXPOSURE_CHR_450
|
||||
\if FR
|
||||
Definition du temps d'exposition MINIMUM pour un RUBY.
|
||||
500 correspond ?la fréquence 2 KHz.
|
||||
\else
|
||||
MINIMUM exposure time in microsec for RUBY.
|
||||
500 correspond to the frequency 2 kHz.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_MIN_EXPOSURE_RUBY 500 /* Correspond ?la Freq 2Khz */
|
||||
|
||||
/*!
|
||||
\def MCHR_NO_PEN
|
||||
\if FR
|
||||
Identificateur d'absence de crayon configure
|
||||
\else
|
||||
Full scale value attributed to undefined calibration table
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_NO_PEN 999
|
||||
|
||||
/*!
|
||||
\def MCHR_NOT_FREQ_MIN
|
||||
\if FR
|
||||
Identificateur d'absence de Frequence min du Dark
|
||||
\else
|
||||
Dark min frequency value attributed to undefined Dark
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_NOT_FREQ_MIN 999
|
||||
|
||||
/*!
|
||||
\def enum MCHR_STATUS
|
||||
\if FR
|
||||
Definition des etats de l'objet Capteur
|
||||
\else
|
||||
Definition of possible states of the CHR
|
||||
\endif
|
||||
*/
|
||||
enum MCHR_STATUS
|
||||
{
|
||||
/*! \brief not initialized */
|
||||
MCHR_STATUS_NOT_INITIALIZED=1, //not initialized
|
||||
/*! \brief initialized */
|
||||
MCHR_STATUS_INITIALIZED, //initialized
|
||||
/*! \brief initialization failed */
|
||||
MCHR_STATUS_INIT_FAILED, //initialization failed
|
||||
/*! \brief waiting for command */
|
||||
MCHR_STATUS_WAIT_COMMAND, //waiting for command
|
||||
/*! \brief not initialized */
|
||||
MCHR_STATUS_COMMAND_IN_PROGRESS, //command processing in progress
|
||||
/*! \brief finite acquisition in progress */
|
||||
MCHR_STATUS_ACQUISITION_IN_PROGRESS, //finite acquisition in progress
|
||||
/*! \brief finite acquisition in progress */
|
||||
MCHR_STATUS_CONTINUOUS_ACQ_IN_PROGRESS, //continuous acquisition in progress
|
||||
/*! \brief Acquisition-abort in progress */
|
||||
MCHR_STATUS_STOP_ACQ_IN_PROGRESS, //Acquisition-abort in progress
|
||||
/*! \brief communication failed */
|
||||
MCHR_STATUS_COM_FAILED, //communication failed
|
||||
/*! \brief Sensor already in use by another instance */
|
||||
MCHR_STATUS_ALREADY_IN_USE, // Sensor already in use by another instance
|
||||
|
||||
};
|
||||
|
||||
/*!
|
||||
\def enum enSpectrumAcquisitionResult
|
||||
\if FR
|
||||
Definition des etats de l'objet de l'acquisition du spectre
|
||||
\else
|
||||
Definition of possible states of the spectrum acquisition
|
||||
\endif
|
||||
*/
|
||||
enum enSpectrumAcquisitionResult
|
||||
{
|
||||
/*! \brief data present */
|
||||
SPECTRUM_ACQUISITION_DATA_READY,
|
||||
/*! \brief no data present */
|
||||
SPECTRUM_ACQUISITION_BUFFER_EMPTY,
|
||||
/*! \brief error */
|
||||
SPECTRUM_ACQUISITION_ERROR,
|
||||
/*! \brief timeout */
|
||||
SPECTRUM_ACQUISITION_TIMEOUT,
|
||||
};
|
||||
|
||||
|
||||
// Other declarations
|
||||
#define MAX_NAME_LENGTH 128
|
||||
|
||||
#if defined(_cplusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif /* _cplusplus */
|
||||
#endif
|
||||
@@ -0,0 +1,754 @@
|
||||
/*************************************************************************/
|
||||
/* STIL * Software Departement */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* MchrError.h */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* Project .................................. CHR DLL */
|
||||
/* Reference documents "Specification DLL CHR-150"*/
|
||||
/* Programming Language ................. Visual C++ v6.0 */
|
||||
/* Starting date ................... 16/01/2003 */
|
||||
/* Date of last update ............. */
|
||||
/* Author(s)................................. DMO */
|
||||
/* Required Files .........................none */
|
||||
/* Required hardware .................... PC Pentium 350 Mhz */
|
||||
/* Prefix ........... MCHR_ */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* This HEADER file defines the errors returned by the */
|
||||
/* "MCHR_GetLastError" function and other DLL functions */
|
||||
/* */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* V? | Date |AUTHOR| COMMENTS */
|
||||
/*-------+---------- +--------------------------------------------------*/
|
||||
/* 01 | 16 Janu 03| DMO | Initial version */
|
||||
/* 02 | 18 Nov 05| DMO | Ethernet, XE, Downloads */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef DEFINEERROR_H
|
||||
#define DEFINEERROR_H
|
||||
|
||||
|
||||
#if defined(_cplusplus) || defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif /* _cplusplus */
|
||||
|
||||
/*
|
||||
ERREURS RETOURNEES PAR LES FONCTIONS DE LA DLL
|
||||
INTERPRETATION OF ERRORS RETURNED BY THE DLL FUNCTIONS
|
||||
*/
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR
|
||||
\if FR
|
||||
La fonction est sortie en erreur, utilisez \link MCHR_GetLastError MCHR_GetLastError \endlink pour en connaitre son origine
|
||||
\else
|
||||
The function is in error, call \link MCHR_GetLastError MCHR_GetLastError \endlink to know the origin of the error
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR 0
|
||||
/*!
|
||||
\def MCHR_ERROR_NONE
|
||||
\if FR
|
||||
Pas d'erreur, la fonction s'est correctement exécutée
|
||||
\else
|
||||
No ERROR, the function is OK.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_NONE 1
|
||||
/*!
|
||||
\def MCHR_ERROR_CODE
|
||||
\if FR
|
||||
Début du codage des types d'erreur.
|
||||
\else
|
||||
Starting of ERROR CODE
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_CODE 0xf000
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_NOT_CONNECTED
|
||||
\if FR
|
||||
Problème de communication avec le CHR
|
||||
\else
|
||||
Error encountered when trying to communicate with the CHR
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_NOT_CONNECTED (MCHR_ERROR_CODE + 0x01)
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SERIAL_PORT
|
||||
\if FR
|
||||
La fonction a rencontre un problème pour initialiser le port serie (IdSerialPort > 0) specifie.
|
||||
\else
|
||||
Error encountered when trying to initialize the specified COM PORT (IdSerialPort > 0)
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_SERIAL_PORT (MCHR_ERROR_CODE + 0x03)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_READ_CONFIG_FILE
|
||||
\if FR
|
||||
Un problème est survenu lors de la lecture du fichier de configuration specifie.
|
||||
\else
|
||||
Error encountered when trying to read the specified confoguration file
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_READ_CONFIG_FILE (MCHR_ERROR_CODE + 0x04)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_WRITE_CONFIG_FILE
|
||||
\if FR
|
||||
Un problème est survenu lors de l'ecriture du fichier de configuration specifie.
|
||||
\else
|
||||
Error encountered when trying to write the specified configuration file
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_WRITE_CONFIG_FILE (MCHR_ERROR_CODE + 0x05)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_RECEIVE_CONFIG_CHR
|
||||
\if FR
|
||||
Un problème est survenu lors de la recuperation de la configuration du CHR.
|
||||
\else
|
||||
Error encountered when trying to get the CHR configuration
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_RECEIVE_CONFIG_CHR (MCHR_ERROR_CODE + 0x06)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SEND_CONFIG_CHR
|
||||
\if FR
|
||||
Un problème est survenu lors de la transmission de la configuration du CHR.
|
||||
\else
|
||||
Error encountered during CHR configuration transmission
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_SEND_CONFIG_CHR (MCHR_ERROR_CODE + 0x07)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_NAME_ALREADY_EXIST
|
||||
\if FR
|
||||
Le nom du CHR recherche existe dej?dans la liste des CHR initialises.
|
||||
\else
|
||||
The name of the specified CHR exist already in the list of initialized CHR
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_NAME_ALREADY_EXIST (MCHR_ERROR_CODE + 0x08)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ADD_SENSOR
|
||||
\if FR
|
||||
Il y a une erreur lors de l'ajout du capteur.
|
||||
\else
|
||||
Error while adding a new CHR
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_ADD_SENSOR (MCHR_ERROR_CODE + 0x09)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_UNKNOWN_SENSOR
|
||||
\if FR
|
||||
Le CHR n'existe pas dans la liste des CHR initialises.
|
||||
\else
|
||||
The specified CHR does not exist in the list of initialized CHR
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_UNKNOWN_SENSOR (MCHR_ERROR_CODE + 0x0a)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_NO_SENSOR_CONNECTED
|
||||
\if FR
|
||||
Pas de capteur CHR connecte.
|
||||
\else
|
||||
No CHR is currently connected
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_NO_SENSOR_CONNECTED (MCHR_ERROR_CODE + 0x0b)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_PARAM_NOT_VALID
|
||||
\if FR
|
||||
Le paramètre de la fonction demandee n'est pas valide.
|
||||
\else
|
||||
Invalid argument for the required function
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_PARAM_NOT_VALID (MCHR_ERROR_CODE + 0x0c)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_DIALOG_CHR
|
||||
\if FR
|
||||
Une erreur de dialogue est apparue lors d'un echange avec le CHR.
|
||||
\else
|
||||
Dialog error encountered while communicationg with the CHR
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_DIALOG_CHR (MCHR_ERROR_CODE + 0x0d)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_START_RECEP_THREAD
|
||||
\if FR
|
||||
Une erreur s'est produite lors de l'initialisation du thread de reception.
|
||||
\else
|
||||
Error encountered while initializing the Reception Thread
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_START_RECEP_THREAD (MCHR_ERROR_CODE + 0x0e)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_NOTHING_TO_ABORT
|
||||
\if FR
|
||||
S'il n'y a aucune commande ?arrêter.
|
||||
\else
|
||||
No command is being executed while "Abort" command is received
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_NOTHING_TO_ABORT (MCHR_ERROR_CODE + 0x0f)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ABORT_COMMAND
|
||||
\if FR
|
||||
Si impossible d'arrêter une commande.
|
||||
\else
|
||||
Abort command failed
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_ABORT_COMMAND (MCHR_ERROR_CODE + 0x10)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_DLL_NOT_ACTIVE
|
||||
\if FR
|
||||
Si la DLL n'a pas ete initialisee et activee.
|
||||
\else
|
||||
The DLL has not been initialized and activated
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_DLL_NOT_ACTIVE (MCHR_ERROR_CODE + 0x11)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_CHR_BUSY
|
||||
\if FR
|
||||
Si la DLL est dej?occupee ?traiter une commande.
|
||||
\else
|
||||
The DLL is busy executing a previous command
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_CHR_BUSY (MCHR_ERROR_CODE + 0x12)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SCANRATE_TOO_HIGH
|
||||
\if FR
|
||||
La Frequence de mesure est trop elevee pour transmettre all required data.
|
||||
\else
|
||||
The acquisition rate is too high, impossible to transmit all requested data at this rate
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_SCANRATE_TOO_HIGH (MCHR_ERROR_CODE + 0x13)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ONLY_CHR450_FUNCTION
|
||||
\if FR
|
||||
La fonction demande n'est valide que pour un CHR-450.
|
||||
\else
|
||||
The specified function is autorized for CHR 450 only, the current CHR is not a 450
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_ONLY_CHR450_FUNCTION (MCHR_ERROR_CODE + 0x14)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ACQUISTION_STOPPED
|
||||
\if FR
|
||||
Erreur de la fonction car il n'y a pas d'acquisition en cours.
|
||||
\else
|
||||
No acquisition is currently in progress
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_ACQUISITION_STOPPED (MCHR_ERROR_CODE + 0x15)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_INTERNAL_FUNCTION
|
||||
\if FR
|
||||
Erreur interne de la fonction.
|
||||
\else
|
||||
Unspecified error during function execution
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_INTERNAL_FUNCTION (MCHR_ERROR_CODE + 0x16)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_NOT_IN_INTERFEROMETRIC_MODE
|
||||
\if FR
|
||||
Erreur de la fonction car le CHR n'est pas en mode interferometrique.
|
||||
\else
|
||||
The specified function is autorized on interferometric mode only, the CHR is not in this mode
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_NOT_IN_INTERFEROMETRIC_MODE (MCHR_ERROR_CODE + 0x17)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_DARK_NOT_VALID
|
||||
\if FR
|
||||
Erreur lors de la commande Fast Dark.
|
||||
\else
|
||||
Error during "Fast Dark" command execution
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_DARK_NOT_VALID (MCHR_ERROR_CODE + 0x18)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_INTERFEROMETRIC_MODE_NOT_AUTHORIZED
|
||||
\if FR
|
||||
Le mode Interferometrique n'est pas autorise sur ce capteur.
|
||||
\else
|
||||
The interferometric mode is not authorized with this sensor
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_INTERFEROMETRIC_MODE_NOT_AUTHORIZED (MCHR_ERROR_CODE + 0x19)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_NOT_VALID_CHR_CMD
|
||||
\if FR
|
||||
La commande envoye sur le capteur n'est pas valide.
|
||||
\else
|
||||
The command is not authorized for the current sensor type
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_NOT_VALID_CHR_CMD (MCHR_ERROR_CODE + 0x1a)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_READ_CALIBRATION_FILE
|
||||
\if FR
|
||||
Un problème est survenu lors de la lecture du fichier de calibration.
|
||||
\else
|
||||
Impossible to read calibration file
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_READ_CALIBRATION_FILE (MCHR_ERROR_CODE + 0x1b)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SEND_CALIBRATION_TABLE
|
||||
\if FR
|
||||
Un problème est survenu lors de l'envoi de la table de calibration vers le capteur specifie.
|
||||
\else
|
||||
Impossible to send the calibration file
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_SEND_CALIBRATION_TABLE (MCHR_ERROR_CODE + 0x1c)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_IP_ADDRESS
|
||||
\if FR
|
||||
L'adresse IP specifie n'est pas valide.
|
||||
\else
|
||||
Illegal IP address
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_IP_ADDRESS (MCHR_ERROR_CODE + 0x1d)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_BUFFER_FULL
|
||||
\if FR
|
||||
Les buffers de receptions sont plein, Cadence de lecture trop lente.
|
||||
\else
|
||||
Reception buffer overflow, reading rate is too slow
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_BUFFER_FULL (MCHR_ERROR_CODE + 0x1e)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_TRIGGER_TYPE
|
||||
\if FR
|
||||
Le mode de trigger demande n'existe pas.
|
||||
\else
|
||||
Unrecognized trigger type
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_TRIGGER_TYPE (MCHR_ERROR_CODE + 0x1f)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_READ_FIRMWARE_FILE
|
||||
\if FR
|
||||
Erreur de lecture du fichier firmware.
|
||||
\else
|
||||
Impossible to read the firmware file
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_READ_FIRMWARE_FILE (MCHR_ERROR_CODE + 0x20)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_READ_ADDITIONAL_FILE
|
||||
\if FR
|
||||
Erreur de lecture du fichier menu.
|
||||
\else
|
||||
Impossible to read the menu file
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_READ_ADDITIONAL_FILE (MCHR_ERROR_CODE + 0x21)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SEND_FIRMWARE_FILE
|
||||
\if FR
|
||||
Erreur d'envoi du fichier firmware.
|
||||
\else
|
||||
Impossible to send the firmware file
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_SEND_FIRMWARE_FILE (MCHR_ERROR_CODE + 0x22)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SEND_ADDITIONAL_FILE
|
||||
\if FR
|
||||
Erreur d'envoi du fichier menu.
|
||||
\else
|
||||
Impossible to send the menu file
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_SEND_ADDITIONAL_FILE (MCHR_ERROR_CODE + 0x23)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_RUN_FIRMWARE
|
||||
\if FR
|
||||
Une erreur est survenue lors de l'execution de la nouvelle version du firmware.
|
||||
\else
|
||||
Error while trying to run the new firmware version
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_RUN_FIRMWARE (MCHR_ERROR_CODE + 0x24)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SAVE_FIRMWARE
|
||||
\if FR
|
||||
Erreur de sauvegarde du firmware.
|
||||
\else
|
||||
Error while trying to save the new firmware version
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_SAVE_FIRMWARE (MCHR_ERROR_CODE + 0x25)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_RESTART_CHR
|
||||
\if FR
|
||||
Erreur de redemarrage apres sauvegarde du firmware.
|
||||
\else
|
||||
Error while trying restart the sensor after saving the new firmware version
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_RESTART_CHR (MCHR_ERROR_CODE + 0x26)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ONLY_CHR150_FUNCTION
|
||||
\if FR
|
||||
La fonction demande n'est valide que pour un CHR-150.
|
||||
\else
|
||||
The specified function is autorized for CHR 150 only, the current CHR is not a 150
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_ONLY_CHR150_FUNCTION (MCHR_ERROR_CODE + 0x27) /* La fonction demande n'est valide que pour un CHR-150 */
|
||||
/* The specified function is autorized for CHR 150 only, the current CHR is not a 150 */
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ONLY_CCS_FUNCTION
|
||||
\if FR
|
||||
La fonction demande n'est valide que pour un CCS.
|
||||
\else
|
||||
The specified function is autorized for CCS only, the current CHR is not a 150
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_ONLY_CCS_FUNCTION (MCHR_ERROR_CODE + 0x28)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_NO_TRANSMITTED_DATA
|
||||
\if FR
|
||||
Aucune donnee n'est configuree sur la sortie numerique utilisee.
|
||||
\else
|
||||
No data item is configured to be transmitted on current digital output channel
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_NO_TRANSMITTED_DATA (MCHR_ERROR_CODE + 0x29)
|
||||
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ETHERNET_NOT_SUPPORTED
|
||||
\if FR
|
||||
La Liaison Ethernet n'est pas supporte sur ce capteur.
|
||||
\else
|
||||
The Ethernet link is not supported on this sensor
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_ETHERNET_NOT_SUPPORTED (MCHR_ERROR_CODE + 0x2a)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SEND_SERIAL_NUMBER
|
||||
\if FR
|
||||
L'envoi du numero de serie ?echoue.
|
||||
\else
|
||||
Failed to send Serial Number
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_SEND_SERIAL_NUMBER (MCHR_ERROR_CODE + 0x2b)
|
||||
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ONLY_ILB_FUNCTION
|
||||
\if FR
|
||||
La fonction demande n'est valide que pour un capteur ILB.
|
||||
\else
|
||||
The specified function is autorized for an ILB sensor
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_ONLY_ILB_FUNCTION (MCHR_ERROR_CODE + 0x2c)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_FUNCTION_NOT_AVAILABLE
|
||||
\if FR
|
||||
La fonction demande n'est pas disponible sur le capteur.
|
||||
\else
|
||||
The specified function is not available on the device
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_FUNCTION_NOT_AVAILABLE (MCHR_ERROR_CODE + 0x2d)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_FREQUENCY_TOO_HIGH
|
||||
\if FR
|
||||
La frequence est trop elevee.
|
||||
\else
|
||||
Frequency too high
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_FREQUENCY_TOO_HIGH (MCHR_ERROR_CODE + 0x2e)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_FREQUENCY_TOO_LOW
|
||||
\if FR
|
||||
La frequence est trop basse.
|
||||
\else
|
||||
Frequency too low
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_FREQUENCY_TOO_LOW (MCHR_ERROR_CODE + 0x2f)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_WHITE_TOO_HIGH
|
||||
\if FR
|
||||
Erreur lors de la commande d'acquisition du Blanc : le signal est trop haut.
|
||||
\else
|
||||
Error during "White Acquisition" command execution : the signal is too High
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_WHITE_TOO_HIGH (MCHR_ERROR_CODE + 0x3a)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_WHITE_TOO_LOW
|
||||
\if FR
|
||||
Erreur lors de la commande d'acquisition du Blanc : le signal est trop bas.
|
||||
\else
|
||||
Error during "White Acquisition" command execution : the signal is too low
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_WHITE_TOO_LOW (MCHR_ERROR_CODE + 0x3b)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_WHITE_SATURED
|
||||
\if FR
|
||||
Erreur lors de la commande d'acquisition du Blanc : le signal est sature.
|
||||
\else
|
||||
Error during "White Acquisition" command execution : the signal is satured
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_WHITE_SATURED (MCHR_ERROR_CODE + 0x3c)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ONLY_ETHERNET_CONNECTION
|
||||
\if FR
|
||||
La fonction demande n'est valide que pour une connection Ethernet.
|
||||
\else
|
||||
The function is avalaible only for an ethernet connection
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_ONLY_ETHERNET_CONNECTION (MCHR_ERROR_CODE + 0x3d)
|
||||
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_ILB_PARAM
|
||||
\if FR
|
||||
Probleme dans l'envoi / reception de parametres ILB.
|
||||
\else
|
||||
Error during setting / getting ILB parameters
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_ILB_PARAM (MCHR_ERROR_CODE + 0x3e)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_NOT_CHR150_FUNCTION
|
||||
\if FR
|
||||
La fonction demande n'est pas valide pour un CHR-150.
|
||||
\else
|
||||
The specified function is unautorized for CHR 150
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_NOT_CHR150_FUNCTION (MCHR_ERROR_CODE + 0x3f) /* La fonction demande n'est valide que pour un CHR-150 */
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_TO_START_WHITE_REF_ACQ
|
||||
\if FR
|
||||
Erreur de lancement de l'acquisition du whiteRef
|
||||
\else
|
||||
Failure to start the acquisition of WhiteRef
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_TO_START_WHITE_REF_ACQ (MCHR_ERROR_CODE + 0x40) /* La fonction demande n'est valide que pour un CHR-150 */
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_TO_STOP_WHITE_REF_ACQ
|
||||
\if FR
|
||||
Erreur d'arrêt de l'acquisition du whiteRef
|
||||
\else
|
||||
Failure to stop the acquisition of WhiteRef
|
||||
\endif
|
||||
*/
|
||||
|
||||
#define MCHR_ERROR_TO_STOP_WHITE_REF_ACQ (MCHR_ERROR_CODE + 0x41) /* La fonction demande n'est valide que pour un CHR-150 */
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_TO_STOP_WHITE_REF_ACQ
|
||||
\if FR
|
||||
Erreur Autorisation d'accès
|
||||
\else
|
||||
Failure Permission access
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_UNAUTHORIZED_ACCESS (MCHR_ERROR_CODE + 0x42) /* Permission access */
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_FREQ_SMALLER_THAN_MIN_DARK_FREQ
|
||||
\if FR
|
||||
Erreur fréquence du scanrate en dessous de la fréquence du dark minimum
|
||||
\else
|
||||
Failure the resquested frequency is smaller then the min dark frequency
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_FREQ_SMALLER_THAN_MIN_DARK_FREQ (MCHR_ERROR_CODE + 0x43)
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_SENSOR_ALREADY_IN_USE
|
||||
\if FR
|
||||
Le capteur est déj?utilis?par une autre instance ou processus.
|
||||
\else
|
||||
The sensor is already in use with another instance or process.
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_SENSOR_ALREADY_IN_USE (MCHR_ERROR_CODE + 0x44)
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\def MCHR_ERROR_UNKNOWN
|
||||
\if FR
|
||||
Erreur inconue.
|
||||
\else
|
||||
Unknown error
|
||||
\endif
|
||||
*/
|
||||
#define MCHR_ERROR_UNKNOWN (MCHR_ERROR_CODE + 0x0100)
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
|
||||
#if defined(_cplusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif /* _cplusplus */
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,281 @@
|
||||
/*********************************************************
|
||||
** White light interferometry functions **
|
||||
*********************************************************/
|
||||
/*!
|
||||
\fn short MCHR_GetSAWLINumberOfLayer(MCHR_ID SensorID, long *piNbLayers)
|
||||
\if FR
|
||||
\brief Fonction permettant de recuperer le nombre de couches mesurable en mode ILB (SAWLI).
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Function getting number of layers measurable in SAWLI mode.
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] long *piNbLayers : Nombre de couche mesurable.
|
||||
\return short : un code d'erreur MCHR_ERROR.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] long *piNbLayers : Number of SAWLI measurable layers.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetSAWLINumberOfLayer(MCHR_ID SensorID, long *piNbLayers);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetSAWLINumberOfLayer(MCHR_ID SensorID, long iNbLayers)
|
||||
\if FR
|
||||
\brief Fonction permettant de paramétrer le nombre de couches mesurable en mode ILB (SAWLI).
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Function setting number of layers measurable in SAWLI mode.
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long iNbLayers : Nombre de couche mesurable.
|
||||
\return short : un code d'erreur MCHR_ERROR.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long piNbLayers : Number of SAWLI measurable layers.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetSAWLINumberOfLayer(MCHR_ID SensorID, long iNbLayers);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetSAWLISmoothing(MCHR_ID SensorID, long *piSmoothing)
|
||||
\if FR
|
||||
\brief Fonction permettant de recuperer le lissage du signal en mode ILB (SAWLI).
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Function getting smoothing value in SAWLI mode.
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [long] MCHR_ID SensorID : ID du coffret.
|
||||
\param [out] long *iSmoothing : Largeur du lissage.
|
||||
\return short : un code d'erreur MCHR_ERROR.
|
||||
\else
|
||||
\param [long] MCHR_ID SensorID : ID of the device.
|
||||
\param [out] long *iSmoothing : Smoothing width.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetSAWLISmoothing(MCHR_ID SensorID, long *piSmoothing);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetSAWLISmoothing(MCHR_ID SensorID, long iSmoothing)
|
||||
\if FR
|
||||
\brief Fonction permettant de parametrer le lissage du signal en mode ILB (SAWLI).
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Function setting smoothing value in SAWLI mode.
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID : ID du coffret.
|
||||
\param [in] long iSmoothing : Largeur du lissage.
|
||||
\return short : un code d'erreur MCHR_ERROR.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID : ID of the device.
|
||||
\param [in] long iSmoothing : Smoothing width.
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
\endif
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetSAWLISmoothing(MCHR_ID SensorID, long iSmoothing);
|
||||
|
||||
//These 4 functions helps you define the measurement range
|
||||
// en micron
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetSAWLIMinThickness(MCHR_ID SensorId, long *piThickness)
|
||||
\if FR
|
||||
\brief Get the minimal value (threshold) of thickness to detect
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Get the minimal value (threshold) of thickness to detect
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID: Sensor Identifier
|
||||
\param [in] long piThickness: pointer to the Min thickness threshold.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID: Sensor Identifier
|
||||
\param [in] long piThickness: pointer to the Min thickness threshold.
|
||||
\endif
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetSAWLIMinThickness(MCHR_ID SensorID,long *piThickness);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetSAWLIMinThickness(MCHR_ID SensorId, long iThickness)
|
||||
\if FR
|
||||
\brief Set the minimal value (threshold) of thickness to detect
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Set the minimal value (threshold) of thickness to detect
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID: Sensor Identifier
|
||||
\param [in] long iThickness: Min thickness threshold, in µm.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID: Sensor Identifier
|
||||
\param [in] long iThickness: Min thickness threshold, in µm.
|
||||
\endif
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetSAWLIMinThickness(MCHR_ID SensorID, long iThickness);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetSAWLIMaxThickness(MCHR_ID SensorId, long *piThickness)
|
||||
\if FR
|
||||
\brief Get the maximal value (threshold) of thickness to detect
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Get the maximal value (threshold) of thickness to detect
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param MCHR_ID SensorID: Sensor Identifier
|
||||
\param long *piThickness: pointer to the Max thickness threshold.
|
||||
\else
|
||||
\param MCHR_ID SensorID: Sensor Identifier
|
||||
\param long *piThickness: pointer to the Max thickness threshold.
|
||||
\endif
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetSAWLIMaxThickness(MCHR_ID SensorID, long *piThickness);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetSAWLIMaxThickness(MCHR_ID SensorId, long iThickness)
|
||||
\if FR
|
||||
\brief Set the maximal value (threshold) of thickness to detect
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Set the maximal value (threshold) of thickness to detect
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID: Sensor Identifier
|
||||
\param [in] long iThickness: Max thickness threshold, in µm.
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID: Sensor Identifier
|
||||
\param [in] long iThickness: Max thickness threshold, in µm.
|
||||
\endif
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetSAWLIMaxThickness(MCHR_ID SensorID, long iThickness);
|
||||
|
||||
//Indices de refraction en mode ILB mode
|
||||
//Refractive index used in the SAWLI mode
|
||||
|
||||
/*!
|
||||
\fn short MCHR_GetSAWLIRefractiveIndex(MCHR_ID SensorID,double *dRefractiveIndex);
|
||||
\if FR
|
||||
\brief Obtient l'indidice de refraction en mode interferometrique.
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Get the refractive index in Interferometric mode.
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param [in] MCHR_ID SensorID: Sensor Identifier
|
||||
\param [in] double *dRefractiveIndex : Indice de refraction
|
||||
\else
|
||||
\param [in] MCHR_ID SensorID: Sensor Identifier
|
||||
\param [in] double *dRefractiveIndex : Index of refractive
|
||||
\endif
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetSAWLIRefractiveIndex(MCHR_ID SensorID,double *dRefractiveIndex);
|
||||
|
||||
/*!
|
||||
\fn short MCHR_SetSAWLIRefractiveIndex(MCHR_ID SensorID,double dRefractiveIndex);
|
||||
\if FR
|
||||
\brief Configure l'indidice de refraction en mode interferometrique.
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Set the refractive index in Interferometric mode.
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param SensorID: Sensor Identifier
|
||||
\param dRefractiveIndex : Indice de refraction
|
||||
\else
|
||||
\param SensorID: Sensor Identifier
|
||||
\param dRefractiveIndex : Index of refractive
|
||||
\endif
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
*/
|
||||
DLL_CHR_API short MCHR_SetSAWLIRefractiveIndex(MCHR_ID SensorID,double dRefractiveIndex);
|
||||
|
||||
/*
|
||||
Fonction d'acquisition d'une sequence de points en mode interferometrique avec capteur MTS-DUO
|
||||
Acquisition function for the Interferometric mode
|
||||
voir le .cpp correspondant pour plus d'info lors de la redaction de la doc
|
||||
*/
|
||||
/*!
|
||||
\fn short MCHR_GetInterferometricThicknessSAWLI ( MCHR_ID SensorID, MCHR_tyAcqParam Parameters,
|
||||
PFLOAT *pArrayThickness1, PFLOAT *pArrayThickness2, PFLOAT *pArrayThickness3,
|
||||
PFLOAT *pArrayQuality1, PFLOAT *pArrayQuality2, PFLOAT *pArrayQuality3,
|
||||
PFLOAT *pArrayIntensity,PFLOAT *pNbThickness,PFLOAT *pCounter,PFLOAT *pState);
|
||||
\if FR
|
||||
\brief Acquisition function for the Specral Interferometric (SAWLI) Thickness mode.<br>
|
||||
\brief Note: in Distance mode set the number of layer to 1, and the refractive index to 1.0.<br>
|
||||
\brief The Distance Data may be comuted from the air gap thickness using the following raelation:<br>
|
||||
\brief Distance = 160µm ?Thickness1.
|
||||
\warning Seulement pour les coffrets ILB (SAWLI).
|
||||
\else
|
||||
\brief Acquisition function for the Specral Interferometric (SAWLI) Thickness mode.<br>
|
||||
\brief Note: in Distance mode set the number of layer to 1, and the refractive index to 1.0.<br>
|
||||
\brief The Distance Data may be comuted from the air gap thickness using the following raelation:<br>
|
||||
\brief Distance = 160µm ?Thickness1.
|
||||
\brief This function is destined to STIL-DUO in the interferometric mode
|
||||
\warning Only for SAWLI Controllers.
|
||||
\endif
|
||||
\details
|
||||
\if FR
|
||||
\param SensorID: Sensor Identifier
|
||||
\param iThickness: Max thickness threshold, in µm.
|
||||
\else
|
||||
\param SensorID : Sensor Identifier
|
||||
\param pThickness1 : a pointer to the Thickness1 data buffers.
|
||||
\param pThickness2 : a pointer to the Thickness2 data buffers.
|
||||
\param pThickness3 : a pointer to the Thickness3 data buffers
|
||||
\param pQuality1 : a pointer to the Quality1 data buffers
|
||||
\param pQuality2 : a pointer to the Quality2 data buffers
|
||||
\param pQuality3 : a pointer to the Quality3 data buffers
|
||||
\param pIntensity : a pointer to the Intensity data buffers
|
||||
\param pNbThickness : a pointer to the Number Of Thicknesses data Buffers
|
||||
\param pCounter : a pointer to the Counter data Buffers
|
||||
\param pState : a pointer to the State Data buffer
|
||||
\endif
|
||||
\if FR
|
||||
\par Capteurs Compatibles : STIL DUO en mode de mesure SAWLI interfermotric.
|
||||
\else
|
||||
\par Compatibles Sensors : STIL DUO in the SAWLI interfermotric measuring modes.
|
||||
\endif
|
||||
\return short : A \link MCHR_ERROR MCHR_ERROR \endlink code.
|
||||
*/
|
||||
DLL_CHR_API short MCHR_GetInterferometricThicknessSAWLI (MCHR_ID SensorID, MCHR_tyAcqParam Parameters,
|
||||
PFLOAT *pArrayThickness1, PFLOAT *pArrayThickness2, PFLOAT *pArrayThickness3,
|
||||
PFLOAT *pArrayQuality1, PFLOAT *pArrayQuality2, PFLOAT *pArrayQuality3,
|
||||
PFLOAT *pArrayIntensity,PFLOAT *pNbThickness,PFLOAT *pCounter,PFLOAT *pState);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
#if !defined(AFX_ACQUISITION_EASY_H_INCLUDED_)
|
||||
#define AFX_ACQUISITION_EASY_H_INCLUDED_
|
||||
|
||||
#include "afxmt.h"
|
||||
#include "windows.h"
|
||||
#include "MchrType.h"
|
||||
#include "MchrDefine.h"
|
||||
#include "MchrError.h"
|
||||
#include "Mchr.h"
|
||||
#include "cAcqEasyType.h"
|
||||
|
||||
class cAcqEasy
|
||||
{
|
||||
private:
|
||||
HANDLE hThread;
|
||||
static DWORD WINAPI ProcessThread (LPVOID lpArg);
|
||||
DWORD ProcessThread(void);
|
||||
HANDLE m_OnEvent[EVENT_ACQ_EASY_NUMBER];
|
||||
HANDLE m_OnEventAcquisition[EVENT_ACQUISITION_NUMBER];
|
||||
MCHR_tyAcqParam m_acqParam;
|
||||
sAcqEasyParam m_acqEasyParam;
|
||||
bool m_IsDataAcquisitionStarting;
|
||||
bool m_IsSpectrumAcquisitionStarting;
|
||||
MCHR_ID m_chr_id;
|
||||
short m_status_acquisition;
|
||||
char m_status_message[MAX_CHAR];
|
||||
int m_number_of_buffer_to_read;
|
||||
int m_current_index_of_buffer_to_read;
|
||||
long m_measure_index;
|
||||
HANDLE m_end_acq_event;
|
||||
HANDLE m_status_event;
|
||||
float **m_ppAcqBuffer[ID_BUFFER_MAX]; //data buffers
|
||||
DWORD **m_ppEncoderBuffer[ID_BUFFER_ENCODER_MAX]; //encoders buffers
|
||||
float **m_ppAutoAdaptativeBuffer; //auto adaptative buffers
|
||||
bool m_IsCreateAcqBuffer;
|
||||
|
||||
CCriticalSection criticalBuffer;
|
||||
|
||||
void _CreateAcqBuffer(int NumberOfBuffers, int BufferLength);
|
||||
void _ReleaseAcqBuffer(int NumberOfBuffers);
|
||||
|
||||
//try to determine and set the sensor mode and digital output
|
||||
bool _SetSensorModeAndDigitalOutput(sAcqEasyParam *pAcqEasyParam);
|
||||
|
||||
public:
|
||||
cAcqEasy(MCHR_ID SensorID);
|
||||
~cAcqEasy();
|
||||
|
||||
//start spectrum acquisition
|
||||
bool StartSpectrumAcquisition(unsigned short **ppSpectrum, unsigned short *pFirstUsablePixel, unsigned short *pBufferSize);
|
||||
//stop spectrum acquisition
|
||||
bool StopSpectrumAcquisition(unsigned short **ppSpectrum);
|
||||
//read spectrum acquisition
|
||||
bool GetSpectrumAcquisition(unsigned short *pSpectrum, unsigned short DataSize, unsigned short *pCounter, enSpectrumAcquisitionResult *pSpectrumAcquisitionResult, int timeout);
|
||||
|
||||
|
||||
//start acquisition with acquisition parameters
|
||||
bool StartAcquisition(sAcqEasyParam acqEasyParam);
|
||||
//stop acquisition
|
||||
bool StopAcquisition();
|
||||
//select your own acquisition event
|
||||
void SetAcqEvent(HANDLE endAcqEvent) { m_end_acq_event = endAcqEvent; };
|
||||
//select your own status event
|
||||
void SetStatusEvent(HANDLE statusEvent) { m_status_event = statusEvent; };
|
||||
|
||||
void SetSensorId(MCHR_ID Id) { m_chr_id = Id; }
|
||||
MCHR_ID GetSensorId(void) { return (m_chr_id); }
|
||||
bool GetAltitudeAcquisitionData(PFLOAT pArrayAltitude, PFLOAT pArrayIntensity, PFLOAT pArrayCounter, PFLOAT pArrayBarycenter, PFLOAT pArrayStatus, int* pCount);
|
||||
bool GetThicknessAcquisitionData(PFLOAT pArrayThickness, PFLOAT pArrayDistance1, PFLOAT pArrayIntensity1, PFLOAT pArrayBarycenter1, PFLOAT pArrayDistance2, PFLOAT pArrayIntensity2, PFLOAT pArrayBarycenter2, PFLOAT pArrayStatus, PFLOAT pArrayCounter, int* pDataCount);
|
||||
bool GetDepthAcquisitionData(PFLOAT pArrayDepth, PFLOAT pArrayIntensity, PFLOAT pArrayCounter, PFLOAT pArrayBarycenter, PFLOAT pArrayStatus, int* pDataCount);
|
||||
bool GetInterferometricThicknessAcquisitionData(PFLOAT pArrayThickness1, PFLOAT pArrayThickness2, PFLOAT pArrayThickness3, PFLOAT pArrayQuality1, PFLOAT pArrayQuality2, PFLOAT pArrayQuality3, PFLOAT pArrayIntensity, int* pDataCount);
|
||||
bool GetInterferometricThicknessSAWLIAcquisitionData(PFLOAT pArrayThickness1, PFLOAT pArrayThickness2, PFLOAT pArrayThickness3, PFLOAT pArrayQuality1, PFLOAT pArrayQuality2, PFLOAT pArrayQuality3, PFLOAT pArrayIntensity, PFLOAT pArrayThickness, PFLOAT pArrayCounter, PFLOAT pArrayStatus, int* pDataCount);
|
||||
bool GetEncoderData(PDWORD pArrayEncoder1, PDWORD pArrayEncoder2, PDWORD pArrayEncoder3);
|
||||
bool GetAutoAdaptativeData(PFLOAT pArrayAutoAdaptative);
|
||||
bool GetTransmittedData_ChrDistance(PFLOAT pArrayDistance, PFLOAT pArrayIntensity, PFLOAT pArrayBarycenter, int* pDataCount);
|
||||
bool GetTransmittedData_ChrThickness(PFLOAT pArrayThickness, PFLOAT pArrayDistance1, PFLOAT pArrayDistance2, PFLOAT pArrayIntensity1, PFLOAT pArrayIntensity2, PFLOAT pArrayBarycenter1, PFLOAT pArrayBarycenter2, int* pDataCount);
|
||||
bool GetTransmittedData_CcsDistance(PFLOAT pArrayDistance, PFLOAT pArrayAutoAdaptativeModeData, PFLOAT pArrayIntensity, PFLOAT pArrayBarycenter, PFLOAT pArrayStatus, PFLOAT pArrayCounter, PDWORD pArrayEncoder1, PDWORD pArrayEncoder2, PDWORD pArrayEncoder3, int* pDataCount);
|
||||
bool GetTransmittedData_CcsThickness(PFLOAT pArrayThickness, PFLOAT pArrayDistance1, PFLOAT pArrayDistance2, PFLOAT pArrayAutoAdaptativeModeData, PFLOAT pArrayIntensity1, PFLOAT pArrayIntensity2, PFLOAT pArrayBaryCenter1, PFLOAT pArrayBaryCenter2, PFLOAT pArrayStatus, PFLOAT pArrayCounter, PDWORD pArrayEncoder1, PDWORD pArrayEncoder2, PDWORD pArrayEncoder3, int* pDataCount);
|
||||
bool GetTransmittedData_DuoDistance(PFLOAT pArrayDistance, PFLOAT pArrayIntensity, PFLOAT pArrayCounter, PFLOAT pArrayBarycenter, PFLOAT pArrayStatus, int* pDataCount);
|
||||
bool GetTransmittedData_DuoThickness(PFLOAT pArrayThickness, PFLOAT pArrayDistance1, PFLOAT pArrayDistance2, PFLOAT pArrayCounter, PFLOAT pArrayIntensity1, PFLOAT pArrayIntensity2, PFLOAT pArrayBaryCenter1, PFLOAT pArrayBaryCenter2, PFLOAT pArrayStatus, int* pDataCount);
|
||||
bool GetTransmittedData_DuoSawliDistance(PFLOAT pArrayDistance, PFLOAT pArrayQuality, PFLOAT pArrayIntensity, PFLOAT pArrayCounter, PFLOAT pArrayStatus, int* pDataCount);
|
||||
bool GetTransmittedData_DuoSawliThickness(PFLOAT pArrayThickness1, PFLOAT pArrayThickness2, PFLOAT pArrayThickness3, PFLOAT pArrayQuality1, PFLOAT pArrayQuality2, PFLOAT pArrayQuality3, PFLOAT pArrayIntensity, PFLOAT pArrayNbThickness, PFLOAT pArrayCounter, PFLOAT pArrayStatus, int* pDataCount);
|
||||
short GetStatusAcquisition(char *pMessage);
|
||||
};
|
||||
|
||||
#endif //AFX_ACQUISITION_EASY_H_INCLUDED_
|
||||
@@ -0,0 +1,402 @@
|
||||
#if !defined(AFX_ACQUISITION_EASY_TYPE_H_INCLUDED_)
|
||||
#define AFX_ACQUISITION_EASY_TYPE_H_INCLUDED_
|
||||
|
||||
#include "afxmt.h"
|
||||
|
||||
#define MAX_CHAR 256
|
||||
|
||||
//do not change the order of data
|
||||
#define EVENT_ACQ_EASY_KILL_THREAD 0
|
||||
#define EVENT_ACQ_EASY_KILL_THREAD_DO 1
|
||||
#define EVENT_ACQ_EASY_NUMBER 2
|
||||
|
||||
//do not change the order of data
|
||||
#define EVENT_ACQUIRE_N_POINTS 0
|
||||
#define EVENT_END_BUFFER 1
|
||||
#define EVENT_END_MEASUREMENT 2
|
||||
#define EVENT_END_ACQUIRE 3
|
||||
#define EVENT_STARTING_ACQUISITION 4
|
||||
#define EVENT_ACQUISITION_NUMBER 5
|
||||
|
||||
//do not change the order of data
|
||||
//for eMCHR_GetThicknessMeasurement
|
||||
#define ID_BUFFER_THICKNESS_THICKNESS 0
|
||||
#define ID_BUFFER_THICKNESS_DISTANCE1 1
|
||||
#define ID_BUFFER_THICKNESS_DISTANCE2 2
|
||||
#define ID_BUFFER_THICKNESS_INTENSITY1 3
|
||||
#define ID_BUFFER_THICKNESS_INTENSITY2 4
|
||||
#define ID_BUFFER_THICKNESS_BARYCENTER1 5
|
||||
#define ID_BUFFER_THICKNESS_BARYCENTER2 6
|
||||
#define ID_BUFFER_THICKNESS_STATUS 7
|
||||
#define ID_BUFFER_THICKNESS_COUNTER 8
|
||||
#define ID_BUFFER_THICKNESS_MEASUREMENT_MAX 9 //number of max buffers for MCHR_GetThicknessMeasurement
|
||||
|
||||
//for eMCHR_GetAltitudeMeasurement
|
||||
#define ID_BUFFER_ALTITUDE_ALTITUDE 0
|
||||
#define ID_BUFFER_ALTITUDE_INTENSITY 1
|
||||
#define ID_BUFFER_ALTITUDE_COUNTER 2
|
||||
#define ID_BUFFER_ALTITUDE_BARYCENTER 3
|
||||
#define ID_BUFFER_ALTITUDE_STATUS 4
|
||||
#define ID_BUFFER_ALTITUDE_MEASUREMENT_MAX 5 //number of max buffers for MCHR_GetAltitudeMeasurement
|
||||
|
||||
//for eMCHR_GetDepthMeasurement
|
||||
#define ID_BUFFER_DEPTH_DEPTH 0
|
||||
#define ID_BUFFER_DEPTH_INTENSITY 1
|
||||
#define ID_BUFFER_DEPTH_COUNTER 2
|
||||
#define ID_BUFFER_DEPTH_BARYCENTER 3
|
||||
#define ID_BUFFER_DEPTH_STATUS 4
|
||||
#define ID_BUFFER_DEPTH_MEASUREMENT_MAX 5 //number of max buffers for MCHR_GetDepthMeasurement
|
||||
|
||||
//for eMCHR_GetTransmittedDataMeasurement
|
||||
#define ID_BUFFER_CHR_DISTANCE_DISTANCE 0
|
||||
#define ID_BUFFER_CHR_DISTANCE_INTENSITY 3
|
||||
#define ID_BUFFER_CHR_DISTANCE_COUNTER 5
|
||||
#define ID_BUFFER_CHR_DISTANCE_BARYCENTER 6
|
||||
#define ID_BUFFER_CHR_DISTANCE_STATUS 7
|
||||
#define ID_BUFFER_CHR_DISTANCE_MEASUREMENT_MAX 8
|
||||
|
||||
#define ID_BUFFER_CHR_THICKNESS_THICKNESS 0
|
||||
#define ID_BUFFER_CHR_THICKNESS_DISTANCE1 1
|
||||
#define ID_BUFFER_CHR_THICKNESS_DISTANCE2 2
|
||||
#define ID_BUFFER_CHR_THICKNESS_STATUS 3
|
||||
#define ID_BUFFER_CHR_THICKNESS_INTENSITY1 4
|
||||
#define ID_BUFFER_CHR_THICKNESS_INTENSITY2 5
|
||||
#define ID_BUFFER_CHR_THICKNESS_BARYCENTER1 6
|
||||
#define ID_BUFFER_CHR_THICKNESS_BARYCENTER2 7
|
||||
#define ID_BUFFER_CHR_THICKNESS_MEASUREMENT_MAX 8
|
||||
|
||||
#define ID_BUFFER_CCS_DISTANCE_DISTANCE_MSB 0
|
||||
#define ID_BUFFER_CCS_DISTANCE_DISTANCE_LSB 1
|
||||
#define ID_BUFFER_CCS_DISTANCE_AUTO_ADAPTATIVE_MODE 2
|
||||
#define ID_BUFFER_CCS_DISTANCE_INTENSITY 3
|
||||
#define ID_BUFFER_CCS_DISTANCE_BARYCENTER 6
|
||||
#define ID_BUFFER_CCS_DISTANCE_STATUS 8
|
||||
#define ID_BUFFER_CCS_DISTANCE_COUNTER 9
|
||||
#define ID_BUFFER_CCS_DISTANCE_ENCODER1_MSB 10
|
||||
#define ID_BUFFER_CCS_DISTANCE_ENCODER1_LSB 11
|
||||
#define ID_BUFFER_CCS_DISTANCE_ENCODER2_MSB 12
|
||||
#define ID_BUFFER_CCS_DISTANCE_ENCODER2_LSB 13
|
||||
#define ID_BUFFER_CCS_DISTANCE_ENCODER3_MSB 14
|
||||
#define ID_BUFFER_CCS_DISTANCE_ENCODER3_LSB 15
|
||||
#define ID_BUFFER_CCS_DISTANCE_MEASUREMENT_MAX 16
|
||||
|
||||
#define ID_BUFFER_CCS_THICKNESS_THICKNESS 0
|
||||
#define ID_BUFFER_CCS_THICKNESS_DISTANCE1 1
|
||||
#define ID_BUFFER_CCS_THICKNESS_DISTANCE2 2
|
||||
#define ID_BUFFER_CCS_THICKNESS_AUTO_ADAPTATIVE_MODE 3
|
||||
#define ID_BUFFER_CCS_THICKNESS_INTENSITY1 4
|
||||
#define ID_BUFFER_CCS_THICKNESS_INTENSITY2 5
|
||||
#define ID_BUFFER_CCS_THICKNESS_BARYCENTER1 6
|
||||
#define ID_BUFFER_CCS_THICKNESS_BARYCENTER2 7
|
||||
#define ID_BUFFER_CCS_THICKNESS_STATUS 8
|
||||
#define ID_BUFFER_CCS_THICKNESS_COUNTER 9
|
||||
#define ID_BUFFER_CCS_THICKNESS_ENCODER1_MSB 10
|
||||
#define ID_BUFFER_CCS_THICKNESS_ENCODER1_LSB 11
|
||||
#define ID_BUFFER_CCS_THICKNESS_ENCODER2_MSB 12
|
||||
#define ID_BUFFER_CCS_THICKNESS_ENCODER2_LSB 13
|
||||
#define ID_BUFFER_CCS_THICKNESS_ENCODER3_MSB 14
|
||||
#define ID_BUFFER_CCS_THICKNESS_ENCODER3_LSB 15
|
||||
#define ID_BUFFER_CCS_THICKNESS_MEASUREMENT_MAX 16
|
||||
|
||||
#define ID_BUFFER_DUO_DISTANCE_DISTANCE_MSB 0
|
||||
#define ID_BUFFER_DUO_DISTANCE_DISTANCE_LSB 1
|
||||
#define ID_BUFFER_DUO_DISTANCE_INTENSITY 3
|
||||
#define ID_BUFFER_DUO_DISTANCE_COUNTER 5
|
||||
#define ID_BUFFER_DUO_DISTANCE_BARYCENTER 6
|
||||
#define ID_BUFFER_DUO_DISTANCE_STATUS 9
|
||||
#define ID_BUFFER_DUO_DISTANCE_MEASUREMENT_MAX 10
|
||||
|
||||
#define ID_BUFFER_DUO_THICKNESS_THICKNESS 0
|
||||
#define ID_BUFFER_DUO_THICKNESS_DISTANCE1 1
|
||||
#define ID_BUFFER_DUO_THICKNESS_DISTANCE2 2
|
||||
#define ID_BUFFER_DUO_THICKNESS_COUNTER 3
|
||||
#define ID_BUFFER_DUO_THICKNESS_INTENSITY1 4
|
||||
#define ID_BUFFER_DUO_THICKNESS_INTENSITY2 5
|
||||
#define ID_BUFFER_DUO_THICKNESS_BARYCENTER1 6
|
||||
#define ID_BUFFER_DUO_THICKNESS_BARYCENTER2 7
|
||||
#define ID_BUFFER_DUO_THICKNESS_STATUS 9
|
||||
#define ID_BUFFER_DUO_THICKNESS_MEASUREMENT_MAX 10
|
||||
|
||||
#define ID_BUFFER_DUO_SAWLI_DISTANCE_DISTANCE_MSB 0
|
||||
#define ID_BUFFER_DUO_SAWLI_DISTANCE_DISTANCE_LSB 1
|
||||
#define ID_BUFFER_DUO_SAWLI_DISTANCE_QUALITY 6
|
||||
#define ID_BUFFER_DUO_SAWLI_DISTANCE_INTENSITY 9
|
||||
#define ID_BUFFER_DUO_SAWLI_DISTANCE_COUNTER 11
|
||||
#define ID_BUFFER_DUO_SAWLI_DISTANCE_STATUS 15
|
||||
#define ID_BUFFER_DUO_SAWLI_DISTANCE_MEASUREMENT_MAX 16
|
||||
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_THICKNESS1_MSB 0
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_THICKNESS1_LSB 1
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_THICKNESS2_MSB 2
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_THICKNESS2_LSB 3
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_THICKNESS3_MSB 4
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_THICKNESS3_LSB 5
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_QUALITY1 6
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_QUALITY2 7
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_QUALITY3 8
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_INTENSITY 9
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_NB_THICKNESS 10
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_COUNTER 11
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_STATUS 15
|
||||
#define ID_BUFFER_DUO_SAWLI_THICKNESS_MEASUREMENT_MAX 16
|
||||
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_THICKNESS1 0
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_THICKNESS2 1
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_THICKNESS3 2
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_QUALITY1 4
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_QUALITY2 5
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_QUALITY3 6
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_INTENSITY 7
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_THICKNESS 8
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_COUNTER 9
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_STATUS 10
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_SAWLI_MEASUREMENT_MAX 11
|
||||
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_THICKNESS1 0
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_THICKNESS2 1
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_THICKNESS3 2
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_QUALITY1 3
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_QUALITY2 4
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_QUALITY3 5
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_INTENSITY 6
|
||||
#define ID_BUFFER_INTERFEROMETRIC_THICKNESS_MEASUREMENT_MAX 7
|
||||
|
||||
|
||||
//for (MCHR_SetEncoderBuffer)
|
||||
#define ID_BUFFER_ENCODER_1 0
|
||||
#define ID_BUFFER_ENCODER_2 1
|
||||
#define ID_BUFFER_ENCODER_3 2
|
||||
#define ID_BUFFER_ENCODER_MAX 3 //number of total buffers for each encoder
|
||||
|
||||
#define ID_BUFFER_MAX 16 //number of total buffers for each acquisition function
|
||||
#define MAX_BUFFER_NUMBER 5000 //number of max buffer number
|
||||
|
||||
#define STATUS_NO_ERROR 0
|
||||
#define STATUS_TIMEOUT_ERROR 1
|
||||
#define STATUS_PARAM_ERROR 2
|
||||
#define STATUS_ACQ_ERROR 3
|
||||
#define STATUS_EVENT_ERROR 4
|
||||
#define STATUS_NO_DATA 5
|
||||
#define STATUS_MCHR_FUNCTION 6
|
||||
|
||||
enum eAcqEasyFunc{eMCHR_GetThicknessMeasurement, eMCHR_GetAltitudeMeasurement, eMCHR_GetDepthMeasurement, eMCHR_GetTransmittedDataMeasurement, eMCHR_GetInterferometricThickness, eMCHR_GetInterferometricThicknessSAWLI};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Thickness; //Enabled the acquisition Thickness
|
||||
bool Distance1; //Enabled the acquisition Distance 1
|
||||
bool Distance2; //Enabled the acquisition Distance 2
|
||||
bool Intensity1; //Enabled the acquisition Intensity 1
|
||||
bool Intensity2; //Enabled the acquisition Intensity 2
|
||||
bool BaryCenter1; //Enabled the acquisition BaryCenter 1
|
||||
bool BaryCenter2; //Enabled the acquisition BaryCenter 2
|
||||
bool Status; //Enabled the acquisition Status
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
} sEnableBufferThickness;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Altitude; //Enabled the acquisition Altitude
|
||||
bool Intensity; //Enabled the acquisition Intensity
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool BaryCenter; //Enabled the acquisition BaryCenter
|
||||
bool Status; //Enabled the acquisition Status
|
||||
} sEnableBufferAltitude;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Depth; //Enabled the acquisition Depth
|
||||
bool Intensity; //Enabled the acquisition Intensity
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool BaryCenter; //Enabled the acquisition BaryCenter
|
||||
bool Status; //Enabled the acquisition Status
|
||||
} sEnableBufferDepth;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Distance; //Enabled the acquisition Distance
|
||||
bool Intensity; //Enabled the acquisition Intensity
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool BaryCenter; //Enabled the acquisition BaryCenter
|
||||
bool Status; //Enabled the acquisition Status
|
||||
} sChrDistance;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Thickness; //Enabled the acquisition Thickness
|
||||
bool Distance1; //Enabled the acquisition Distance1
|
||||
bool Distance2; //Enabled the acquisition Distance2
|
||||
bool Status; //Enabled the acquisition Status
|
||||
bool Intensity1; //Enabled the acquisition Intensity1
|
||||
bool Intensity2; //Enabled the acquisition Intensity2
|
||||
bool BaryCenter1; //Enabled the acquisition Barycenter1
|
||||
bool BaryCenter2; //Enabled the acquisition Barycenter2
|
||||
} sChrThickness;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Distance; //Enabled the acquisition Distance
|
||||
bool AutoAdaptativeModeData; //Enabled the acquisition AutoAdaptativeModeData
|
||||
bool Intensity; //Enabled the acquisition Intensity
|
||||
bool BaryCenter; //Enabled the acquisition Barycenter
|
||||
bool Status; //Enabled the acquisition Status
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool Encoder1; //Enabled the acquisition Encoder1
|
||||
bool Encoder2; //Enabled the acquisition Encoder2
|
||||
bool Encoder3; //Enabled the acquisition Encoder3
|
||||
} sCcsDistance;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Thickness; //Enabled the acquisition Thickness
|
||||
bool Distance1; //Enabled the acquisition Distance1
|
||||
bool Distance2; //Enabled the acquisition Distance2
|
||||
bool AutoAdaptativeModeData; //Enabled the acquisition AutoAdaptativeModeData
|
||||
bool Intensity1; //Enabled the acquisition Intensity1
|
||||
bool Intensity2; //Enabled the acquisition Intensity2
|
||||
bool BaryCenter1; //Enabled the acquisition Barycenter1
|
||||
bool BaryCenter2; //Enabled the acquisition Barycenter2
|
||||
bool Status; //Enabled the acquisition Status
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool Encoder1; //Enabled the acquisition Encoder1
|
||||
bool Encoder2; //Enabled the acquisition Encoder2
|
||||
bool Encoder3; //Enabled the acquisition Encoder3
|
||||
} sCcsThickness;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Distance; //Enabled the acquisition Distance
|
||||
bool Intensity; //Enabled the acquisition Intensity
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool BaryCenter; //Enabled the acquisition Barycenter
|
||||
bool Status; //Enabled the acquisition Status
|
||||
} sDuoDistance;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Thickness; //Enabled the acquisition Thickness
|
||||
bool Distance1; //Enabled the acquisition Distance1
|
||||
bool Distance2; //Enabled the acquisition Distance2
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool Intensity1; //Enabled the acquisition Intensity1
|
||||
bool Intensity2; //Enabled the acquisition Intensity2
|
||||
bool BaryCenter1; //Enabled the acquisition Barycenter1
|
||||
bool BaryCenter2; //Enabled the acquisition Barycenter2
|
||||
bool Status; //Enabled the acquisition Status
|
||||
} sDuoThickness;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Distance; //Enabled the acquisition Distance
|
||||
bool Quality; //Enabled the acquisition Quality
|
||||
bool Intensity; //Enabled the acquisition Intensity
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool Status; //Enabled the acquisition Status
|
||||
} sDuoSawliDistance;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Thickness1; //Enabled the acquisition Thickness1
|
||||
bool Thickness2; //Enabled the acquisition Thickness2
|
||||
bool Thickness3; //Enabled the acquisition Thickness3
|
||||
bool Quality1; //Enabled the acquisition Quality1
|
||||
bool Quality2; //Enabled the acquisition Quality2
|
||||
bool Quality3; //Enabled the acquisition Quality3
|
||||
bool Intensity; //Enabled the acquisition Intensity
|
||||
bool NbThickness; //Enabled the acquisition NbThickness
|
||||
bool Counter; //Enabled the acquisition Counter
|
||||
bool Status; //Enabled the acquisition Status
|
||||
} sDuoSawliThickness;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Thickness1;
|
||||
bool Thickness2;
|
||||
bool Thickness3;
|
||||
bool Quality1;
|
||||
bool Quality2;
|
||||
bool Quality3;
|
||||
bool Intensity;
|
||||
} sEnableBufferInterferometricThickness;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Thickness1;
|
||||
bool Thickness2;
|
||||
bool Thickness3;
|
||||
bool Quality1;
|
||||
bool Quality2;
|
||||
bool Quality3;
|
||||
bool Intensity;
|
||||
bool Thickness;
|
||||
bool Status;
|
||||
bool Counter;
|
||||
} sEnableBufferInterferometricThicknessSAWLI;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
sChrDistance ChrDistance; //Enabled the acquisition ChrDistance
|
||||
sChrThickness ChrThickness; //Enabled the acquisition ChrThickness
|
||||
sCcsDistance CcsDistance; //Enabled the acquisition CcsDistance
|
||||
sCcsThickness CcsThickness; //Enabled the acquisition CcsThickness
|
||||
sDuoDistance DuoDistance; //Enabled the acquisition DuoDistance
|
||||
sDuoThickness DuoThickness; //Enabled the acquisition DuoThickness
|
||||
sDuoSawliDistance DuoSawliDistance; //Enabled the acquisition DuoSawliDistance
|
||||
sDuoSawliThickness DuoSawliThickness; //Enabled the acquisition DuoSawliThickness
|
||||
} sEnableBufferTransmittedData;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Encoder1; //Enabled the acquisition Encoder 1
|
||||
bool Encoder2; //Enabled the acquisition Encoder 2
|
||||
bool Encoder3; //Enabled the acquisition Encoder 3
|
||||
} sEnableBufferEncoder;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool Enable; //This parameter activates or deactivates Trigger mode (if Trigger mode is active acquisition will wait for a "Trigger in" signal to start, otherwise acquisition starts immediately).
|
||||
enTriggerType Type; //This parameter indicates the trigger mode (TRG /TRE/TRN/ TRS)
|
||||
enLevelEdgeFlag Level; //This parameter is significant only if TriggerFlag is set to “TRUE?and only for CCS and STIL-INITIAL sensors. It indicates which edge of the Sync-In signal pulse is active (for TRG, TRE, and TRS) or which state of this signal is active (for TRN). Authorized values are: MCHR_FALLING_EDGE, MCHR_RISING_EDGE, MCHR_LOW_LEVEL, MCHR_HIGH_LEVEL.
|
||||
} sTriggerParameters;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
//if the user wants to wait for an event type "EventEndBuffer"
|
||||
EV_END_BUFFER = 0,
|
||||
//if the user wants to wait for an event type "EventAcquire_n_Points"
|
||||
EV_ACQUIRE_N_POINTS,
|
||||
//if the user wants to wait for an event type "EventEndMeasurements"
|
||||
EV_END_MEASUREMENTS,
|
||||
//if the user wants to wait for an event type "EventEndAcquire"
|
||||
EV_END_ACQUIRE
|
||||
} evTypeEvents;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
eAcqEasyFunc typeAcquisition; //type of function to use
|
||||
sEnableBufferThickness EnableBufferThickness; //Enabled the acquisition Thickness (eMCHR_GetThicknessMeasurement)
|
||||
sEnableBufferAltitude EnableBufferAltitude; //Enabled the acquisition Altitude (eMCHR_GetAltitudeMeasurement)
|
||||
sEnableBufferDepth EnableBufferDepth; //Enabled the acquisition Depth (eMCHR_GetDepthMeasurement)
|
||||
sEnableBufferTransmittedData EnableBufferTransmittedData; //Enabled the acquisition TransmittedData (eMCHR_GetTransmittedDataMeasurement)
|
||||
sEnableBufferEncoder EnableBufferEncoder; //Enabled the acquisition Encoder
|
||||
sEnableBufferInterferometricThickness EnableBufferInterferometricThickness; //Enabled the acquisition InterferometricThickness
|
||||
sEnableBufferInterferometricThicknessSAWLI EnableBufferInterferometricThicknessSAWLI; //Enabled the acquisition InterferometricThicknessSAWLI
|
||||
bool EnableBufferAutoAdaptive; //Enabled the acquisition AutoAdaptive
|
||||
WORD NumberOfBuffers; //The number of buffers per data type for receiving the measured data (Should be greater than or equal to 1).
|
||||
DWORD BufferLength; //Size of the buffers for receiving the measured data (in words: one word=data for one measured point)
|
||||
WORD TimeoutAcquisition; //timeout for acquisition delay in ms
|
||||
DWORD NumberOfPoints; //Number of point to measure. If this parameters is set to 0, measurement will be continuous (i.e. will last forever or until stopped by the user) and no event " EventEndMeasurement" will be generated
|
||||
DWORD NumberPointsTRE; //Number of points for TRE mode: This parameter indicates the number of points to acquire after each Sync-in pulse.
|
||||
enChrType SensorType; //Controller types(MCHR_CCS_PRIMA, MCHR_DUO, ...) used only for eMCHR_GetTransmittedDataMeasurement
|
||||
enMeasureMode SensorMode; //Measuring modes(MCHR_DISTANCE_MODE, MCHR_THICKNESS_MODE, ...) used only for eMCHR_GetTransmittedDataMeasurement
|
||||
evTypeEvents TypeEvent; //The event that the user wants to wait.
|
||||
sTriggerParameters Trigger;
|
||||
unsigned short Frequency;
|
||||
} sAcqEasyParam;
|
||||
|
||||
|
||||
|
||||
#endif //AFX_ACQUISITION_EASY_H_INCLUDED_
|
||||
Reference in New Issue
Block a user