asd
Merge branch 'refactor' of http://192.168.0.10:3000/pandx/WLG into refactor
This commit is contained in:
commit
c2442e7d3c
@ -182,6 +182,7 @@ public:
|
||||
float Calcoe(int ran, int iChannel, std::string& product, int range);
|
||||
void WriteDatFile(int sampleRate, std::string& strMeasurementID, int iChannel, std::vector<float>& vecData);
|
||||
float ScaleConvert(int highbit);
|
||||
void DataExtract(RecvData *p, int id, unsigned int &lowbit, float &n);
|
||||
|
||||
// command category
|
||||
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);
|
||||
}
|
||||
|
||||
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) {
|
||||
RecvData *pRecvData = (RecvData *)pData;
|
||||
char whereCon[1024] = {0};
|
||||
@ -104,7 +113,7 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
||||
strTimetamp = nowTimetamp;
|
||||
|
||||
int iTemp = 0;
|
||||
unsigned char highbit = 0;
|
||||
// unsigned char highbit = 0;
|
||||
unsigned int lowbit = 0;
|
||||
float n = 0;
|
||||
|
||||
@ -141,21 +150,10 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
||||
iTemp = (int)strtol(buf, NULL, 16);
|
||||
dataStatic.Voltage = iTemp;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 30, lowbit, n);
|
||||
dataStatic.nodeWorkTime = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 32, lowbit, n);
|
||||
dataStatic.nodeSendTime = lowbit * n;
|
||||
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());
|
||||
|
||||
DataRecvDym dataDymX;
|
||||
memset(buf, 0, sizeof(buf));
|
||||
sprintf(buf, "%02x%02x", pRecvData->Data[9], pRecvData->Data[8]);
|
||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
||||
highbit = iTemp >> 14 & 0x3;
|
||||
lowbit = iTemp & 0x3fff;
|
||||
n = ScaleConvert(highbit);
|
||||
|
||||
DataExtract(pRecvData, 8, lowbit, n);
|
||||
dataDymX.DiagnosisPk = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 10, lowbit, n);
|
||||
dataDymX.RmsValues = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 12, lowbit, n);
|
||||
dataDymX.IntegratPk = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 14, lowbit, n);
|
||||
dataDymX.IntegratRMS = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 16, lowbit, n);
|
||||
dataDymX.Amp1 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 18, lowbit, n);
|
||||
dataDymX.Amp2 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 20, lowbit, n);
|
||||
dataDymX.Amp3 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 22, lowbit, n);
|
||||
dataDymX.Amp4 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 24, lowbit, n);
|
||||
dataDymX.Amp5 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
@ -413,76 +367,32 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
||||
valNodeFeature["timeStamp"] = nowTimetamp;
|
||||
valNodeData.append(valNodeFeature);
|
||||
DataRecvDym dataDymY;
|
||||
memset(buf, 0, sizeof(buf));
|
||||
sprintf(buf, "%02x%02x", pRecvData->Data[35], pRecvData->Data[34]);
|
||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
||||
highbit = iTemp >> 14 & 0x3;
|
||||
lowbit = iTemp & 0x3fff;
|
||||
n = ScaleConvert(highbit);
|
||||
|
||||
DataExtract(pRecvData, 34, lowbit, n);
|
||||
dataDymY.DiagnosisPk = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 36, lowbit, n);
|
||||
dataDymY.RmsValues = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 38, lowbit, n);
|
||||
dataDymY.IntegratPk = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 40, lowbit, n);
|
||||
dataDymY.IntegratRMS = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 42, lowbit, n);
|
||||
dataDymY.Amp1 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 44, lowbit, n);
|
||||
dataDymY.Amp2 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 46, lowbit, n);
|
||||
dataDymY.Amp3 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 48, lowbit, n);
|
||||
dataDymY.Amp4 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 50, lowbit, n);
|
||||
dataDymY.Amp5 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
@ -545,115 +455,46 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) {
|
||||
valNodeData.append(valNodeFeature);
|
||||
|
||||
DataRecvDym dataDymZ;
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 52, lowbit, n);
|
||||
dataDymZ.DiagnosisPk = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 54, lowbit, n);
|
||||
dataDymZ.RmsValues = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 56, lowbit, n);
|
||||
dataDymZ.IntegratPk = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 58, lowbit, n);
|
||||
dataDymZ.IntegratRMS = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 60, lowbit, n);
|
||||
dataDymZ.Amp1 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 62, lowbit, n);
|
||||
dataDymZ.Amp2 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 64, lowbit, n);
|
||||
dataDymZ.Amp3 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 66, lowbit, n);
|
||||
dataDymZ.Amp4 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 68, lowbit, n);
|
||||
dataDymZ.Amp5 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 70, lowbit, n);
|
||||
dataDymZ.EnvelopEnergy = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 72, lowbit, n);
|
||||
dataDymZ.Phase1 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 74, lowbit, n);
|
||||
dataDymZ.Phase2 = lowbit * n;
|
||||
|
||||
memset(buf, 0, sizeof(buf));
|
||||
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);
|
||||
DataExtract(pRecvData, 76, lowbit, n);
|
||||
dataDymZ.Phase3 = lowbit * n;
|
||||
|
||||
sprintf(buf, "%02x%02x", pRecvData->Data[79], pRecvData->Data[78]);
|
||||
iTemp = (unsigned int)strtol(buf, NULL, 16);
|
||||
highbit = iTemp >> 14 & 0x3;
|
||||
lowbit = iTemp & 0x3fff;
|
||||
n = ScaleConvert(highbit);
|
||||
DataExtract(pRecvData, 78, lowbit, n);
|
||||
dataDymZ.Phase4 = lowbit * n;
|
||||
|
||||
memset(whereCon, 0, 1024);
|
||||
@ -887,14 +728,14 @@ std::vector<float> Uart::DealData(int iChannel, float coe, unsigned int sampleRa
|
||||
deallen = j * 92;
|
||||
}
|
||||
for (size_t i = 0; i < deallen; i++) {
|
||||
float fTemp = 0.0;
|
||||
float fTemp = 0.0f;
|
||||
memset(buf, 0, 8);
|
||||
sprintf(buf, "%02x%02x", dealdata[2 * i + 1], dealdata[i * 2]);
|
||||
iTemp = strtol(buf, NULL, 16);
|
||||
if (iTemp < 0x8000) {
|
||||
fTemp = iTemp * coe * 9.8; // convert to m/s2
|
||||
fTemp = iTemp * coe * 9.8f; // convert to m/s2
|
||||
} 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);
|
||||
if (strProduct == "01") {
|
||||
@ -997,32 +838,32 @@ void Uart::DealWave() {
|
||||
}
|
||||
|
||||
float Uart::Calcoe(int ran, int iChannel, std::string &product, int range) {
|
||||
float coe = 0.0;
|
||||
float coe = 0.0f;
|
||||
if (product == "01") {
|
||||
switch (ran) {
|
||||
case 0: {
|
||||
range = 8;
|
||||
coe = 8 * 1.0 / 32767;
|
||||
coe = 8 * 1.0f / 32767;
|
||||
} break;
|
||||
case 1: {
|
||||
range = 16;
|
||||
coe = 16 * 1.0 / 32767;
|
||||
coe = 16 * 1.0f / 32767;
|
||||
} break;
|
||||
case 2: {
|
||||
range = 32;
|
||||
coe = 32 * 1.0 / 32767;
|
||||
coe = 32 * 1.0f / 32767;
|
||||
} break;
|
||||
case 3: {
|
||||
range = 64;
|
||||
coe = 64 * 1.0 / 32767;
|
||||
coe = 64 * 1.0f / 32767;
|
||||
} break;
|
||||
}
|
||||
} else if (product == "02") {
|
||||
if (iChannel == WAVE_X || iChannel == WAVE_Y) {
|
||||
coe = 0.00048828125;
|
||||
coe = 0.00048828125f;
|
||||
}
|
||||
if (iChannel == WAVE_Z) {
|
||||
coe = 0.00172607421875;
|
||||
coe = 0.00172607421875f;
|
||||
}
|
||||
}
|
||||
return coe;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user