refactor codes.
This commit is contained in:
parent
5a67571482
commit
4547cff99a
@ -182,6 +182,7 @@ public:
|
|||||||
float Calcoe(int ran, int iChannel, std::string& product, int range);
|
float Calcoe(int ran, int iChannel, std::string& product, int range);
|
||||||
void WriteDatFile(int sampleRate, std::string& strMeasurementID, int iChannel, std::vector<float>& vecData);
|
void WriteDatFile(int sampleRate, std::string& strMeasurementID, int iChannel, std::vector<float>& vecData);
|
||||||
float ScaleConvert(int highbit);
|
float ScaleConvert(int highbit);
|
||||||
|
void DataExtract(RecvData *p, int id, unsigned int &lowbit, float &n);
|
||||||
|
|
||||||
// command category
|
// command category
|
||||||
void modify_info(unsigned short id, char* zigbee);
|
void modify_info(unsigned short id, char* zigbee);
|
||||||
|
|||||||
@ -31,6 +31,15 @@ void Uart::RecordBattery(std::string &strLongAddr, DataRecvStatic &dataStatic, s
|
|||||||
sqlite_db_ctrl::instance().InsertData(T_BATTERY_INFO(TNAME), insertSql);
|
sqlite_db_ctrl::instance().InsertData(T_BATTERY_INFO(TNAME), insertSql);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Uart::DataExtract(RecvData *p, int id, unsigned int &lowbit, float &n) {
|
||||||
|
char buf[20] = {0};
|
||||||
|
sprintf(buf, "%02x%02x", p->Data[id+1], p->Data[id]);
|
||||||
|
int temp = (unsigned int)strtol(buf, NULL, 16);
|
||||||
|
unsigned char highbit = temp >> 14 & 0x3;
|
||||||
|
lowbit = temp & 0x3fff;
|
||||||
|
n = ScaleConvert(highbit);
|
||||||
|
}
|
||||||
|
|
||||||
void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
||||||
RecvData *pRecvData = (RecvData *)pData;
|
RecvData *pRecvData = (RecvData *)pData;
|
||||||
char whereCon[1024] = {0};
|
char whereCon[1024] = {0};
|
||||||
@ -104,7 +113,7 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
|||||||
strTimetamp = nowTimetamp;
|
strTimetamp = nowTimetamp;
|
||||||
|
|
||||||
int iTemp = 0;
|
int iTemp = 0;
|
||||||
unsigned char highbit = 0;
|
// unsigned char highbit = 0;
|
||||||
unsigned int lowbit = 0;
|
unsigned int lowbit = 0;
|
||||||
float n = 0;
|
float n = 0;
|
||||||
|
|
||||||
@ -141,21 +150,10 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
|||||||
iTemp = (int)strtol(buf, NULL, 16);
|
iTemp = (int)strtol(buf, NULL, 16);
|
||||||
dataStatic.Voltage = iTemp;
|
dataStatic.Voltage = iTemp;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 30, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[31], pRecvData->Data[30]);
|
|
||||||
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataStatic.nodeWorkTime = lowbit * n;
|
dataStatic.nodeWorkTime = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 32, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[33], pRecvData->Data[32]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataStatic.nodeSendTime = lowbit * n;
|
dataStatic.nodeSendTime = lowbit * n;
|
||||||
dataStatic.nodeWorkTime = dataStatic.nodeWorkTime - dataStatic.nodeSendTime;
|
dataStatic.nodeWorkTime = dataStatic.nodeWorkTime - dataStatic.nodeSendTime;
|
||||||
|
|
||||||
@ -276,76 +274,32 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
|||||||
sprintf(szTableName, "t_data_%s", strLongAddr.c_str());
|
sprintf(szTableName, "t_data_%s", strLongAddr.c_str());
|
||||||
|
|
||||||
DataRecvDym dataDymX;
|
DataRecvDym dataDymX;
|
||||||
memset(buf, 0, sizeof(buf));
|
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[9], pRecvData->Data[8]);
|
DataExtract(pRecvData, 8, lowbit, n);
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.DiagnosisPk = lowbit * n;
|
dataDymX.DiagnosisPk = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 10, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[11], pRecvData->Data[10]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.RmsValues = lowbit * n;
|
dataDymX.RmsValues = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 12, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[13], pRecvData->Data[12]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.IntegratPk = lowbit * n;
|
dataDymX.IntegratPk = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 14, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[15], pRecvData->Data[14]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.IntegratRMS = lowbit * n;
|
dataDymX.IntegratRMS = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 16, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[17], pRecvData->Data[16]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.Amp1 = lowbit * n;
|
dataDymX.Amp1 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 18, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[19], pRecvData->Data[18]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.Amp2 = lowbit * n;
|
dataDymX.Amp2 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 20, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[21], pRecvData->Data[20]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.Amp3 = lowbit * n;
|
dataDymX.Amp3 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 22, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[23], pRecvData->Data[22]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.Amp4 = lowbit * n;
|
dataDymX.Amp4 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 24, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[25], pRecvData->Data[24]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymX.Amp5 = lowbit * n;
|
dataDymX.Amp5 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
@ -413,76 +367,32 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
|||||||
valNodeFeature["timeStamp"] = nowTimetamp;
|
valNodeFeature["timeStamp"] = nowTimetamp;
|
||||||
valNodeData.append(valNodeFeature);
|
valNodeData.append(valNodeFeature);
|
||||||
DataRecvDym dataDymY;
|
DataRecvDym dataDymY;
|
||||||
memset(buf, 0, sizeof(buf));
|
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[35], pRecvData->Data[34]);
|
DataExtract(pRecvData, 34, lowbit, n);
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.DiagnosisPk = lowbit * n;
|
dataDymY.DiagnosisPk = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 36, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[37], pRecvData->Data[36]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.RmsValues = lowbit * n;
|
dataDymY.RmsValues = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 38, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[39], pRecvData->Data[38]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.IntegratPk = lowbit * n;
|
dataDymY.IntegratPk = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 40, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[41], pRecvData->Data[40]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.IntegratRMS = lowbit * n;
|
dataDymY.IntegratRMS = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 42, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[43], pRecvData->Data[42]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.Amp1 = lowbit * n;
|
dataDymY.Amp1 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 44, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[45], pRecvData->Data[44]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.Amp2 = lowbit * n;
|
dataDymY.Amp2 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 46, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[47], pRecvData->Data[46]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.Amp3 = lowbit * n;
|
dataDymY.Amp3 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 48, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[49], pRecvData->Data[48]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.Amp4 = lowbit * n;
|
dataDymY.Amp4 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 50, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[51], pRecvData->Data[50]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymY.Amp5 = lowbit * n;
|
dataDymY.Amp5 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
@ -545,115 +455,46 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
|||||||
valNodeData.append(valNodeFeature);
|
valNodeData.append(valNodeFeature);
|
||||||
|
|
||||||
DataRecvDym dataDymZ;
|
DataRecvDym dataDymZ;
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 52, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[53], pRecvData->Data[52]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.DiagnosisPk = lowbit * n;
|
dataDymZ.DiagnosisPk = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 54, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[55], pRecvData->Data[54]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.RmsValues = lowbit * n;
|
dataDymZ.RmsValues = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 56, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[57], pRecvData->Data[56]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.IntegratPk = lowbit * n;
|
dataDymZ.IntegratPk = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 58, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[59], pRecvData->Data[58]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.IntegratRMS = lowbit * n;
|
dataDymZ.IntegratRMS = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 60, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[61], pRecvData->Data[60]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Amp1 = lowbit * n;
|
dataDymZ.Amp1 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 62, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[63], pRecvData->Data[62]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Amp2 = lowbit * n;
|
dataDymZ.Amp2 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 64, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[65], pRecvData->Data[64]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Amp3 = lowbit * n;
|
dataDymZ.Amp3 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 66, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[67], pRecvData->Data[66]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Amp4 = lowbit * n;
|
dataDymZ.Amp4 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 68, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[69], pRecvData->Data[68]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Amp5 = lowbit * n;
|
dataDymZ.Amp5 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 70, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[71], pRecvData->Data[70]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.EnvelopEnergy = lowbit * n;
|
dataDymZ.EnvelopEnergy = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 72, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[73], pRecvData->Data[72]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Phase1 = lowbit * n;
|
dataDymZ.Phase1 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 74, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[75], pRecvData->Data[74]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Phase2 = lowbit * n;
|
dataDymZ.Phase2 = lowbit * n;
|
||||||
|
|
||||||
memset(buf, 0, sizeof(buf));
|
DataExtract(pRecvData, 76, lowbit, n);
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[77], pRecvData->Data[76]);
|
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Phase3 = lowbit * n;
|
dataDymZ.Phase3 = lowbit * n;
|
||||||
|
|
||||||
sprintf(buf, "%02x%02x", pRecvData->Data[79], pRecvData->Data[78]);
|
DataExtract(pRecvData, 78, lowbit, n);
|
||||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
|
||||||
highbit = iTemp >> 14 & 0x3;
|
|
||||||
lowbit = iTemp & 0x3fff;
|
|
||||||
n = ScaleConvert(highbit);
|
|
||||||
dataDymZ.Phase4 = lowbit * n;
|
dataDymZ.Phase4 = lowbit * n;
|
||||||
|
|
||||||
memset(whereCon, 0, 1024);
|
memset(whereCon, 0, 1024);
|
||||||
@ -887,14 +728,14 @@ std::vector<float> Uart::DealData(int iChannel, float coe, unsigned int sampleRa
|
|||||||
deallen = j * 92;
|
deallen = j * 92;
|
||||||
}
|
}
|
||||||
for (size_t i = 0; i < deallen; i++) {
|
for (size_t i = 0; i < deallen; i++) {
|
||||||
float fTemp = 0.0;
|
float fTemp = 0.0f;
|
||||||
memset(buf, 0, 8);
|
memset(buf, 0, 8);
|
||||||
sprintf(buf, "%02x%02x", dealdata[2 * i + 1], dealdata[i * 2]);
|
sprintf(buf, "%02x%02x", dealdata[2 * i + 1], dealdata[i * 2]);
|
||||||
iTemp = strtol(buf, NULL, 16);
|
iTemp = strtol(buf, NULL, 16);
|
||||||
if (iTemp < 0x8000) {
|
if (iTemp < 0x8000) {
|
||||||
fTemp = iTemp * coe * 9.8; // convert to m/s2
|
fTemp = iTemp * coe * 9.8f; // convert to m/s2
|
||||||
} else {
|
} else {
|
||||||
fTemp = (((~iTemp) & 0xffff) + 1) * -coe * 9.8; // convert to m/s2
|
fTemp = (((~iTemp) & 0xffff) + 1) * -coe * 9.8f; // convert to m/s2
|
||||||
}
|
}
|
||||||
vecData.push_back(fTemp);
|
vecData.push_back(fTemp);
|
||||||
if (strProduct == "01") {
|
if (strProduct == "01") {
|
||||||
@ -997,32 +838,32 @@ void Uart::DealWave() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
float Uart::Calcoe(int ran, int iChannel, std::string &product, int range) {
|
float Uart::Calcoe(int ran, int iChannel, std::string &product, int range) {
|
||||||
float coe = 0.0;
|
float coe = 0.0f;
|
||||||
if (product == "01") {
|
if (product == "01") {
|
||||||
switch (ran) {
|
switch (ran) {
|
||||||
case 0: {
|
case 0: {
|
||||||
range = 8;
|
range = 8;
|
||||||
coe = 8 * 1.0 / 32767;
|
coe = 8 * 1.0f / 32767;
|
||||||
} break;
|
} break;
|
||||||
case 1: {
|
case 1: {
|
||||||
range = 16;
|
range = 16;
|
||||||
coe = 16 * 1.0 / 32767;
|
coe = 16 * 1.0f / 32767;
|
||||||
} break;
|
} break;
|
||||||
case 2: {
|
case 2: {
|
||||||
range = 32;
|
range = 32;
|
||||||
coe = 32 * 1.0 / 32767;
|
coe = 32 * 1.0f / 32767;
|
||||||
} break;
|
} break;
|
||||||
case 3: {
|
case 3: {
|
||||||
range = 64;
|
range = 64;
|
||||||
coe = 64 * 1.0 / 32767;
|
coe = 64 * 1.0f / 32767;
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
} else if (product == "02") {
|
} else if (product == "02") {
|
||||||
if (iChannel == WAVE_X || iChannel == WAVE_Y) {
|
if (iChannel == WAVE_X || iChannel == WAVE_Y) {
|
||||||
coe = 0.00048828125;
|
coe = 0.00048828125f;
|
||||||
}
|
}
|
||||||
if (iChannel == WAVE_Z) {
|
if (iChannel == WAVE_Z) {
|
||||||
coe = 0.00172607421875;
|
coe = 0.00172607421875f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return coe;
|
return coe;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user