新增CCS-PRIMA使能参数设置。

This commit is contained in:
TAO Cheng
2014-06-04 14:35:27 +08:00
parent ff4f68d009
commit 59d5b292a2
10 changed files with 101 additions and 22 deletions
@@ -12,6 +12,8 @@
class cAcqEasy
{
private:
#ifdef _RELEASE_FULL_VERSION
HANDLE hThread;
static DWORD WINAPI ProcessThread (LPVOID lpArg);
DWORD ProcessThread(void);
@@ -41,10 +43,12 @@ private:
//try to determine and set the sensor mode and digital output
bool _SetSensorModeAndDigitalOutput(sAcqEasyParam *pAcqEasyParam);
#endif //_RELEASE_FULL_VERSION
public:
cAcqEasy(MCHR_ID SensorID);
~cAcqEasy();
#ifdef _RELEASE_FULL_VERSION
//start spectrum acquisition
bool StartSpectrumAcquisition(unsigned short **ppSpectrum, unsigned short *pFirstUsablePixel, unsigned short *pBufferSize);
@@ -81,6 +85,8 @@ public:
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 //_RELEASE_FULL_VERSION
};
#endif //AFX_ACQUISITION_EASY_H_INCLUDED_
@@ -6,6 +6,8 @@
//--------------------------------------------------------------------
cAcqEasy::cAcqEasy(MCHR_ID SensorID)
{
#ifdef _RELEASE_FULL_VERSION
DWORD dwThreadId = 0;
int nIndex = 0, idx = 0, jdx = 0;
UNREFERENCED_PARAMETER(jdx);
@@ -52,10 +54,16 @@ cAcqEasy::cAcqEasy(MCHR_ID SensorID)
ZeroMemory(&m_acqParam, sizeof(MCHR_tyAcqParam));
//open process thread
hThread = ::CreateThread(0, 0, ProcessThread, LPVOID(this), 0, &dwThreadId);
#else
UNREFERENCED_PARAMETER(SensorID);
#endif //_RELEASE_FULL_VERSION
}
//--------------------------------------------------------------------
cAcqEasy::~cAcqEasy()
{
#ifdef _RELEASE_FULL_VERSION
int nIndex = 0;
//close process thread
@@ -88,7 +96,10 @@ cAcqEasy::~cAcqEasy()
}
}
_ReleaseAcqBuffer(m_acqEasyParam.NumberOfBuffers);
#endif //_RELEASE_FULL_VERSION
}
#ifdef _RELEASE_FULL_VERSION
//-------------------------------------------------------------------------------------------------
void cAcqEasy::_ReleaseAcqBuffer(int NumberOfBuffers)
{
@@ -2653,3 +2664,4 @@ bool cAcqEasy::GetSpectrumAcquisition(unsigned short *pSpectrum, unsigned short
return(ret);
}
//--------------------------------------------------------------------
#endif //_RELEASE_FULL_VERSION
@@ -4,36 +4,26 @@
CSTIL_CCS_PRIMA_Laser::CSTIL_CCS_PRIMA_Laser()
{
#ifdef _RELEASE_FULL_VERSION
ResetParam();
#endif //_RELEASE_FULL_VERSION
}
CSTIL_CCS_PRIMA_Laser::~CSTIL_CCS_PRIMA_Laser(void)
{
#ifdef _RELEASE_FULL_VERSION
if (m_SensorId != 0)
{
CloseCom ();
}
}
//================================================================
void CSTIL_CCS_PRIMA_Laser::ResetParam()
{
m_SensorId = 0;
m_ErrorCode = SPARKSHI_ERROR_NONE;
m_pAcqEasy = NULL;
m_ScanRate = MCHR_SCAN_RATE_CCS_PRIMA_1000HZ;
m_NumberOfPointTRE = 1;
m_evAcquisition = NULL;
m_pThickness = NULL;
m_pDistance1 = NULL;
m_pIntensity1 = NULL;
m_pDistance2 = NULL;
m_pIntensity2 = NULL;
#endif //_RELEASE_FULL_VERSION
}
//================================================================
BOOL CSTIL_CCS_PRIMA_Laser::Init(int _Mode)
{
BOOL bStatus(FALSE);
#ifdef _RELEASE_FULL_VERSION
ResetParam();
switch(_Mode)
{
@@ -53,17 +43,22 @@ BOOL CSTIL_CCS_PRIMA_Laser::Init(int _Mode)
break;
}
}
#else
UNREFERENCED_PARAMETER(_Mode);
#endif //_RELEASE_FULL_VERSION
return bStatus;
}
//================================================================
BOOL CSTIL_CCS_PRIMA_Laser::Exit()
{
BOOL bStatus(FALSE);
#ifdef _RELEASE_FULL_VERSION
bStatus=ReleaseAcquisition();
if (m_SensorId != 0)
{
CloseCom ();
}
#endif //_RELEASE_FULL_VERSION
return bStatus;
}
//================================================================
@@ -74,10 +69,12 @@ BOOL CSTIL_CCS_PRIMA_Laser::SetMeasureMode(int _MeasureMode)
{
case 0:
{
#ifdef _RELEASE_FULL_VERSION
double refractiveIndex = 1.5120;
SetRefractiveIndex (refractiveIndex);
int numberOfPointTRE(1);
InitAcquisition (eMCHR_GetThicknessMeasurement, MCHR_TYPE_TRE, numberOfPointTRE);
#endif //_RELEASE_FULL_VERSION
break;
}
default:
@@ -91,21 +88,50 @@ BOOL CSTIL_CCS_PRIMA_Laser::SetMeasureMode(int _MeasureMode)
BOOL CSTIL_CCS_PRIMA_Laser::GetDistance(double &_dDis1, double &_dDis2)
{
BOOL bStatus(FALSE);
#ifdef _RELEASE_FULL_VERSION
double dbThickness(0.0),dblDistance1(0.0),dblDistance2(0.0),dblIntensity1(0.0),dblIntensity2(0.0);
bool bSoftTrigger(true);
bStatus=GetThicknessValue(dbThickness,dblDistance1,dblDistance2,dblIntensity1,dblIntensity2,bSoftTrigger);
_dDis1=dblDistance1;
_dDis2=dblDistance2;
#else
UNREFERENCED_PARAMETER(_dDis1);
UNREFERENCED_PARAMETER(_dDis2);
#endif //_RELEASE_FULL_VERSION
return bStatus;
}
//================================================================
BOOL CSTIL_CCS_PRIMA_Laser::GetThicknessAllData(double &dbThickness, double &dblDistance1, double &dblDistance2, double &dblIntensity1, double &dblIntensity2)
{
BOOL bStatus(FALSE);
#ifdef _RELEASE_FULL_VERSION
bool bSoftTrigger(true);
bStatus=GetThicknessValue(dbThickness,dblDistance1,dblDistance2,dblIntensity1,dblIntensity2,bSoftTrigger);
#else
UNREFERENCED_PARAMETER(dbThickness);
UNREFERENCED_PARAMETER(dblDistance1);
UNREFERENCED_PARAMETER(dblDistance2);
UNREFERENCED_PARAMETER(dblIntensity1);
UNREFERENCED_PARAMETER(dblIntensity2);
#endif //_RELEASE_FULL_VERSION
return bStatus;
}
#ifdef _RELEASE_FULL_VERSION
//================================================================
void CSTIL_CCS_PRIMA_Laser::ResetParam()
{
m_SensorId = 0;
m_ErrorCode = SPARKSHI_ERROR_NONE;
m_pAcqEasy = NULL;
m_ScanRate = MCHR_SCAN_RATE_CCS_PRIMA_1000HZ;
m_NumberOfPointTRE = 1;
m_evAcquisition = NULL;
m_pThickness = NULL;
m_pDistance1 = NULL;
m_pIntensity1 = NULL;
m_pDistance2 = NULL;
m_pIntensity2 = NULL;
}
BOOL CSTIL_CCS_PRIMA_Laser::InitChrLib()
{
char szVersion[MAX_CHAR];
@@ -596,3 +622,4 @@ BOOL CSTIL_CCS_PRIMA_Laser::GetRefractiveIndex (double &indice)
}
}
#endif //_RELEASE_FULL_VERSION
@@ -27,6 +27,7 @@ public:
BOOL GetDistance(double &dblDistance1, double &dblDistance2);
BOOL GetThicknessAllData(double &dbThickness, double &dblDistance1, double &dblDistance2, double &dblIntensity1, double &dblIntensity2);
private :
#ifdef _RELEASE_FULL_VERSION
void ResetParam();
BOOL InitChrLib();
@@ -74,6 +75,8 @@ private :
float *m_pDistance2;
float *m_pIntensity1;
float *m_pIntensity2;
#endif //_RELEASE_FULL_VERSION
};
#endif