init
This commit is contained in:
73
device/SerialPort/PowerAttenuator.cpp
Normal file
73
device/SerialPort/PowerAttenuator.cpp
Normal file
@@ -0,0 +1,73 @@
|
||||
#include "PowerAttenuator.h"
|
||||
|
||||
|
||||
|
||||
PowerAttenuator* PowerAttenuator::uniqueInstance = nullptr;
|
||||
PowerAttenuator* PowerAttenuator::instance()
|
||||
{
|
||||
if (!uniqueInstance) {
|
||||
uniqueInstance = new PowerAttenuator();
|
||||
}
|
||||
return uniqueInstance;
|
||||
}
|
||||
PowerAttenuator::PowerAttenuator()
|
||||
{
|
||||
|
||||
}
|
||||
PowerAttenuator::~PowerAttenuator()
|
||||
{
|
||||
|
||||
}
|
||||
int PowerAttenuator::GetSts(int * value)
|
||||
{
|
||||
int ret;
|
||||
char cmd[50] = "o\r";
|
||||
::EnterCriticalSection(&mCsRead);
|
||||
memset(revData,0,4096);
|
||||
ret = SendCmd(cmd, 2,reinterpret_cast<unsigned char*>(revData), &revDataLen);
|
||||
//revData[revDataLen - 2] = 0;
|
||||
if (revData[1] == '0')
|
||||
*value = 0;
|
||||
else
|
||||
*value = 1;
|
||||
::LeaveCriticalSection(&mCsRead);
|
||||
return ret;
|
||||
}
|
||||
int PowerAttenuator::GetPos(int * value)
|
||||
{
|
||||
int ret;
|
||||
::EnterCriticalSection(&mCsRead);
|
||||
|
||||
char cmd[50] = "o\r";
|
||||
memset(revData,0,4096);
|
||||
ret = SendCmd(cmd, 2,reinterpret_cast<unsigned char*>(revData), &revDataLen);
|
||||
revData[revDataLen - 2] = 0;
|
||||
//if (revData[1] == '0')
|
||||
*value = atoi(&revData[3]);
|
||||
//else
|
||||
// *value = 1;
|
||||
::LeaveCriticalSection(&mCsRead);
|
||||
return ret;
|
||||
}
|
||||
int PowerAttenuator::setPos(int value)
|
||||
{
|
||||
int ret;
|
||||
char cmd[50];
|
||||
|
||||
sprintf_s(cmd, "g %d\r", value);
|
||||
ret = SendCmd(cmd, static_cast<unsigned short>(strlen(cmd)) ,reinterpret_cast<unsigned char*>(revData), &revDataLen);
|
||||
return ret;
|
||||
}
|
||||
int PowerAttenuator::setRPos(int value)
|
||||
{
|
||||
int ret;
|
||||
::EnterCriticalSection(&mCsRead);
|
||||
|
||||
char cmd[50];
|
||||
|
||||
sprintf_s(cmd, "m %d\r", value);
|
||||
ret = SendCmd(cmd, static_cast<unsigned short>(strlen(cmd)) ,reinterpret_cast<unsigned char*>(revData), &revDataLen);
|
||||
::LeaveCriticalSection(&mCsRead);
|
||||
return ret;
|
||||
}
|
||||
// int SendCmd(char *data, unsigned short data_len ,unsigned char * revData, int * revData_len);
|
||||
Reference in New Issue
Block a user