From eeec0647ce0ff842359559cb752e34168ed76e51 Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Thu, 26 Mar 2026 19:52:21 +0800 Subject: [PATCH 1/2] modify debug --- jsonparse/web_cmd_parse3.cpp | 5 +++-- uart/uart.cpp | 13 ++++++++++++- uart/uart_feature_parse.cpp | 18 ++++++++++++------ 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/jsonparse/web_cmd_parse3.cpp b/jsonparse/web_cmd_parse3.cpp index 8573a8a..096f261 100644 --- a/jsonparse/web_cmd_parse3.cpp +++ b/jsonparse/web_cmd_parse3.cpp @@ -1481,11 +1481,12 @@ std::string JsonData::JsonCmd_Cgi_67(Param_67 ¶m){ char whereCon[512] = {0}; char updateSql[256] = {0}; sprintf(whereCon, " MeasurementID = '%s' ", param.measurementID[i].c_str()); - sprintf(updateSql, " status = '%d' ", 1);// 0 未调试,1 调试中,2 调试完成,3停止调试 + sprintf(updateSql, " status = '%d' ", 1);// 0 未调试,1 调试中,2 调试完成,3停止调试,4 调试失败 sqlite_db_ctrl::instance().UpdateTableData("t_debug_info", updateSql, whereCon); uint16_t short_addr; char *end_ptr = NULL; vec_t vecResult = sqlite_db_ctrl::instance().GetDataSingleLine(T_SENSOR_INFO(TNAME), " zigbeeShortAddr ", whereCon); + sqlite_db_ctrl::instance().UpdateTableData("t_debug_info", "gatewayRSSI = '0',datanodeRSSI= '0',comprehensiveRSSI = '0',minnumVoltage = '0'", whereCon); short_addr = strtol(vecResult[0].c_str(), &end_ptr, 16); short_addr_list.push_back(short_addr); } @@ -1495,7 +1496,7 @@ std::string JsonData::JsonCmd_Cgi_67(Param_67 ¶m){ char whereCon[512] = {0}; char updateSql[256] = {0}; sprintf(whereCon, " status = '1' "); - sprintf(updateSql, " status = '%d' ", 3);// 0 未调试,1 调试中,2 调试完成,3停止调试 + sprintf(updateSql, " status = '%d' ", 3);// 0 未调试,1 调试中,2 调试完成,3 停止调试,4 调试失败 sqlite_db_ctrl::instance().UpdateTableData("t_debug_info", updateSql, whereCon); scheduler::instance().CloseDebugMode(); } diff --git a/uart/uart.cpp b/uart/uart.cpp index 4a6fa3c..d52cac4 100644 --- a/uart/uart.cpp +++ b/uart/uart.cpp @@ -1372,6 +1372,12 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) { zlog_error(zct, "WaveError error ShortAddr :%s", strShortAddr.c_str()); sprintf(insertSql, "'%s','%s','%s',%d,'%d','%s','' ", strChannelID.c_str(),strShortAddr.c_str(),localtimestamp,bytesRead,0,error_msg.c_str()); sqlite_db_ctrl::instance().InsertData(" receive_wave_status ", insertSql); + if (schedule_status == kScheduleStatusDebug){ + char updateSql[100] = {0x00}; + sprintf(updateSql, " status = '4' "); + sprintf(whereCon, "MeasurementID='%s'",strMeasurementID.c_str()); + sqlite_db_ctrl::instance().UpdateTableData("t_debug_info", updateSql, whereCon); + } JsonData jd; @@ -1414,7 +1420,12 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) { zlog_error(zct, "WaveError error ShortAddr :%s", strShortAddr.c_str()); sprintf(insertSql, "'%s','%s','%s',%d,'%d','%s','' ", strChannelID.c_str(),strShortAddr.c_str(),localtimestamp,bytesRead,0,error_msg.c_str()); sqlite_db_ctrl::instance().InsertData(" receive_wave_status ", insertSql); - + if (schedule_status == kScheduleStatusDebug){ + char updateSql[100] = {0x00}; + sprintf(updateSql, " status = '4' "); + sprintf(whereCon, "MeasurementID='%s'",strMeasurementID.c_str()); + sqlite_db_ctrl::instance().UpdateTableData("t_debug_info", updateSql, whereCon); + } JsonData jd; jd.JsonCmd_32(strMeasurementID,1,1,strChannelID,error_msg); continue; diff --git a/uart/uart_feature_parse.cpp b/uart/uart_feature_parse.cpp index 29b147b..b2dcd25 100644 --- a/uart/uart_feature_parse.cpp +++ b/uart/uart_feature_parse.cpp @@ -64,12 +64,12 @@ void Uart::RecordBattery(std::string &strLongAddr, DataRecvStatic &dataStatic, s if (res_static.size() > 0){ int zigbeeSignal = atoi(res_static[6].c_str()); int zigbeeSignalNode = atoi(res_static[11].c_str()); - float standardRate = 5.0f; //5kB/s + float standardRate = 1.8f; //1.8kB/s float actualRate = 0.0f; if (dataStatic.nodeSendTime > 0){ actualRate = (wave_dataLen / 1024.0f) / (dataStatic.nodeSendTime / 1000.0f); //单位:KB/s } - float comprehensiveRSSI = (((zigbeeSignal + zigbeeSignalNode) / 255.0) / 2.0) * (standardRate / actualRate); + float comprehensiveRSSI = (((zigbeeSignal + zigbeeSignalNode) / 255.0) / 2.0) * ( actualRate / standardRate); if (comprehensiveRSSI > 1.0f) { comprehensiveRSSI = 1.0f; //综合信号强度最大为1 } @@ -97,6 +97,13 @@ void Uart::RecordBattery(std::string &strLongAddr, DataRecvStatic &dataStatic, s sprintf(tableName, "t_debug_info"); sprintf(updateSql, " comprehensiveRSSI = '%f',minnumVoltage = '%d',status = '2',timeStamp = '%s' ", comprehensiveRSSI,dataStatic.instantaneousBatteryVoltage,localtimestamp); sqlite_db_ctrl::instance().UpdateTableData(tableName, updateSql, whereCon); + memset(whereCon,0x00,sizeof(whereCon)); + sprintf(whereCon,"status = '1'"); + int count = sqlite_db_ctrl::instance().GetTableRows(tableName, whereCon); + if (count == 0) + { + scheduler::instance().CloseDebugMode(); + } } } @@ -297,7 +304,7 @@ int Uart::DealDataNodeFeature(const char *pData, int flag) { dataStatic.nodeSendTime = lowbit * n; dataStatic.nodeWorkTime = dataStatic.nodeWorkTime - dataStatic.nodeSendTime; zlog_info(zct, "nodeWorkTime = %f,nodeSendTime = %f", dataStatic.nodeWorkTime, dataStatic.nodeSendTime); - RecordBattery(strMeasurementID, dataStatic, nowTimetamp); + if (compareVersions(softVersion, "2.4")) { @@ -327,9 +334,8 @@ int Uart::DealDataNodeFeature(const char *pData, int flag) { iTemp = (int)strtol(buf, NULL, 16); dataStatic.instantaneousBatteryVoltage = iTemp; - if(schedule_status == kScheduleStatusDebug){ + RecordBattery(strMeasurementID, dataStatic, nowTimetamp); - } char szTableName[50] = {0x00}, szTableNameStatic[50] = {0x00}, szTableNameData[50] = {0x00}; sprintf(szTableName, "t_dataStatic_%s", strMeasurementID.c_str()); memcpy(szTableNameStatic, szTableName, sizeof(szTableNameStatic)); @@ -1233,7 +1239,7 @@ void Uart::DealWave() { if (vecDataZ.size() > 0) { sprintf(insertSql, "'%s-Z','%02x%02x','%s',%d,'1','%s','' ", strMeasurementID.c_str(),(wave_shortAddr >> 8) & 0xFF,wave_shortAddr & 0xFF,(char*)timestamp_last.c_str(),g_mapCompress[strShortAddr].CountZ,""); - sqlite_db_ctrl::instance().InsertData(" receive_wave_status ", insertSql); + sqlite_db_ctrl::instance().InsertData(" receive_wave_status ", insertSql); } zlog_warn(zct,"waveCountX = %zu, waveCountY = %zu, waveCountZ = %zu", vecDataX.size() , vecDataY.size(), vecDataZ.size()); zlog_warn(zct,"CountX = %d, CountY = %d, CountZ = %d,strShortAddr = %s", g_mapCompress[strShortAddr].CountX , g_mapCompress[strShortAddr].CountY, g_mapCompress[strShortAddr].CountZ,strShortAddr.c_str()); From 2ece5cbe717368b73c67804c0bfa222501a49b21 Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Mon, 30 Mar 2026 14:13:29 +0800 Subject: [PATCH 2/2] modify bugs --- uart/uart_feature_parse.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uart/uart_feature_parse.cpp b/uart/uart_feature_parse.cpp index b2dcd25..fef7493 100644 --- a/uart/uart_feature_parse.cpp +++ b/uart/uart_feature_parse.cpp @@ -30,7 +30,7 @@ unsigned char data[96000] = {0x00}; unsigned char outdata[96000] = {0x00}; unsigned char dealdata[96000] = {0x00}; char mqttData[1024000] = {0}; -char mqttData_vel[10240] = {0}; +char mqttData_vel[102400] = {0}; void Uart::RecordBattery(std::string &strLongAddr, DataRecvStatic &dataStatic, std::string &nowTimetamp) { char insertSql[1024] = {0};