新增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
@@ -603,8 +603,9 @@ SSI_STATUS_MOTION CSO7_Proto::so7_config_para_set_default()
g_machine.s_machine_config.motion.m_TouchProbeEnable=0;
g_machine.s_machine_config.motion.m_FootSwitchEnable=0;
g_machine.s_machine_config.motion.m_JoyStickEnable=0;
g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable=0;
g_machine.s_machine_config.motion.m_DebugOutputEnable=0;
g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal=550000;
g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]=70;
g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]=70;
@@ -2262,6 +2263,10 @@ SSI_STATUS_MOTION CSO7_Proto::Save_So7_Config()
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_JoyStickEnable);
fprintf(m_pOutFile, "\n");
outBuff="CCS_PRIMA_ENABLE=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable);
fprintf(m_pOutFile, "\n");
outBuff="DEBUG_LOG_ENABLE=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_DebugOutputEnable);
@@ -2636,6 +2641,15 @@ SSI_STATUS_MOTION CSO7_Proto::Load_So7_Config()
g_machine.s_machine_config.motion.m_JoyStickEnable=atoi(cTemp);
}
}
else if (!_stricmp(token,"CCS_PRIMA_ENABLE"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable=atoi(cTemp);
}
}
else if (!_stricmp(token,"DEBUG_LOG_ENABLE"))
{
token = strtok( NULL, seps);
@@ -199,6 +199,7 @@ struct s_so7_machine_interface_config
INT m_TouchProbeEnable;
INT m_FootSwitchEnable;
INT m_JoyStickEnable;
INT m_STIL_CCS_PRIMA_Enable;
INT m_DebugOutputEnable;
INT m_SDK3000_CntThreadSleepVal;
INT m_SV4000E_DenoisePara[4];
@@ -61,8 +61,8 @@ BOOL CSetSo7MotionConfig::OnInitDialog()
}
UpdateLabelName();
UpdateDataValue();
m_ConfigList.SetEditableItemRange(0,36,2,2);
m_ConfigList.SetColorStyleItemRange(0,36,0,3);
m_ConfigList.SetEditableItemRange(0,37,2,2);
m_ConfigList.SetColorStyleItemRange(0,37,0,3);
return TRUE;
}
@@ -178,6 +178,12 @@ void CSetSo7MotionConfig::UpdateLabelName()
cStr=L"摇杆功能;0:禁用,1:使能;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"CCS_PRIMA_ENABLE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"CCS-PRIMA激光;0:禁用,1:使能;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"DEBUG_LOG_ENABLE";
m_ConfigList.SetItemText(iRow,iCol,cStr);
@@ -334,6 +340,8 @@ void CSetSo7MotionConfig::UpdateDataValue()
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_JoyStickEnable);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
@@ -462,6 +470,10 @@ void CSetSo7MotionConfig::SaveDataValue()
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable=atoi(cTemp);
iRow++;
@@ -23,11 +23,11 @@
#include "Videocard_TC4000.h"
#include "..\..\..\Videocard\SV4000E\SV4000E.h"
#include "Videocard_SV4000E.h"
#endif //_RELEASE_FULL_VERSION
#include "..\..\..\STIL\Common\inc\cAcqEasy.h"
#include "..\..\..\STIL\STIL_CCS_PRIMA_Laser.h"
#include "STIL_CCS_PRIMA_Dlg.h"
#endif //_RELEASE_FULL_VERSION
#include "SO7_UtilDlg.h"
#include "So7_UtilUsbCtlR.h"
#include "..\..\..\Keyence\Keyence_Laser.h"
@@ -6,8 +6,14 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MachineInterfaceDll", "MachineInterfaceDll\MachineInterfaceDll.vcxproj", "{A945B062-6081-49F0-992D-D14769C4C7D4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Win32TestDll", "Win32TestDll\Win32TestDll.vcxproj", "{BF02B850-BB32-4635-9E53-8583C474884D}"
ProjectSection(ProjectDependencies) = postProject
{A945B062-6081-49F0-992D-D14769C4C7D4} = {A945B062-6081-49F0-992D-D14769C4C7D4}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleTestDll", "ConsoleTestDll\ConsoleTestDll.csproj", "{5E3B7ED1-B324-4966-8527-D29873AC3815}"
ProjectSection(ProjectDependencies) = postProject
{A945B062-6081-49F0-992D-D14769C4C7D4} = {A945B062-6081-49F0-992D-D14769C4C7D4}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -72,7 +78,6 @@ Global
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|Mixed Platforms.ActiveCfg = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|Mixed Platforms.Build.0 = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|Win32.ActiveCfg = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|Win32.Build.0 = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|x64.ActiveCfg = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.ReleaseSO7|x86.ActiveCfg = Release|Win32
{A945B062-6081-49F0-992D-D14769C4C7D4}.Template|Mixed Platforms.ActiveCfg = Release|Win32
@@ -96,7 +101,6 @@ Global
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|Mixed Platforms.ActiveCfg = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|Mixed Platforms.Build.0 = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|Win32.ActiveCfg = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|Win32.Build.0 = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|x64.ActiveCfg = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.ReleaseSO7|x86.ActiveCfg = Release|Win32
{BF02B850-BB32-4635-9E53-8583C474884D}.Template|Mixed Platforms.ActiveCfg = Release|Win32