init
This commit is contained in:
62
device/SerialPort/PanasonicHeightFind.cpp
Normal file
62
device/SerialPort/PanasonicHeightFind.cpp
Normal file
@@ -0,0 +1,62 @@
|
||||
#include "PanasonicHeightFind.h"
|
||||
|
||||
|
||||
PanasonicHeightFind* PanasonicHeightFind::uniqueInstance = nullptr;
|
||||
PanasonicHeightFind* PanasonicHeightFind::instance()
|
||||
{
|
||||
if (!uniqueInstance) {
|
||||
uniqueInstance = new PanasonicHeightFind();
|
||||
}
|
||||
return uniqueInstance;
|
||||
}
|
||||
PanasonicHeightFind::PanasonicHeightFind()
|
||||
{
|
||||
|
||||
}
|
||||
PanasonicHeightFind::~PanasonicHeightFind()
|
||||
{
|
||||
|
||||
}
|
||||
int PanasonicHeightFind::SetLaser(int deviceID,int value)
|
||||
{
|
||||
int ret;
|
||||
int CR = 0xd;
|
||||
char cmd[50];//%03#WLR+00000**D %03$WLR**D %03!XX**D
|
||||
sprintf_s(cmd,50,"%%%02dWLR+%05d**%X",deviceID,value,CR);
|
||||
ret = SendCmd(cmd, static_cast<unsigned short>(strlen(cmd)) ,reinterpret_cast<unsigned char*>(revData), &revDataLen);
|
||||
if (ret== 0)
|
||||
{
|
||||
if (revData[3] == '$')
|
||||
ret = 0;
|
||||
else
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
int PanasonicHeightFind::GetHeightValue(int deviceID,double *value)
|
||||
{
|
||||
//% 0 3 # R M D * * CR % 0 3 $ R M D - 0 1 2 3 4 5 6 * * CR
|
||||
int ret;
|
||||
int CR = 0xd;
|
||||
char cmd[50];
|
||||
sprintf_s(cmd,50,"%%%02dRMD**%X",deviceID,CR);
|
||||
ret = SendCmd(cmd, static_cast<unsigned short>(strlen(cmd)) ,reinterpret_cast<unsigned char*>(revData), &revDataLen);
|
||||
if (ret== 0)
|
||||
{
|
||||
if (revData[3] == '$')
|
||||
{
|
||||
memset(cmd,0,50);
|
||||
|
||||
memcpy_s(cmd,50,&revData[7],8);
|
||||
*value = atof(cmd);
|
||||
*value = *value / 10000;
|
||||
ret = 0;
|
||||
}
|
||||
else
|
||||
ret = -1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
// int SendCmd(char *data, unsigned short data_len ,unsigned char * revData, int * revData_len);
|
||||
Reference in New Issue
Block a user