#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(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(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(strlen(cmd)) ,reinterpret_cast(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(strlen(cmd)) ,reinterpret_cast(revData), &revDataLen); ::LeaveCriticalSection(&mCsRead); return ret; } // int SendCmd(char *data, unsigned short data_len ,unsigned char * revData, int * revData_len);