From 972c23424f0744e918791bb0fb9eb73f0ebc4687 Mon Sep 17 00:00:00 2001 From: zhangsheng Date: Fri, 8 Nov 2024 09:17:35 +0800 Subject: [PATCH] add web --- common/parameter_defination.hpp | 6 ++++ dbaccess/sql_db.cpp | 61 +++++++++++++++++++++++++++++++-- dbaccess/sql_db.hpp | 1 + jsonparse/communication_cmd.hpp | 1 + jsonparse/web_cmd_parse2.cpp | 1 + jsonparse/web_cmd_parse3.cpp | 60 +++++++++++++++++++++++++++++--- localserver/local_server.hpp | 3 +- localserver/web_cmd.cpp | 15 ++++++++ uart/uart.cpp | 21 +++--------- uart/uart.hpp | 1 + uart/uart_feature_parse.cpp | 52 ++++++++++++++-------------- 11 files changed, 172 insertions(+), 50 deletions(-) diff --git a/common/parameter_defination.hpp b/common/parameter_defination.hpp index 7ca3eeb..05e6b71 100644 --- a/common/parameter_defination.hpp +++ b/common/parameter_defination.hpp @@ -316,5 +316,11 @@ struct Param_59 { std::string straxis; Param_59() : mMode(0),DataNodeNo(""),straxis(""){}; }; +struct Param_60 { + std::string fileName; + int product; + std::vector dataNodeNo; + Param_60() : fileName(""),product(0){}; +}; #endif // PARAMETER_DEFINATION_HPP_ diff --git a/dbaccess/sql_db.cpp b/dbaccess/sql_db.cpp index 3077f96..aec3ab0 100644 --- a/dbaccess/sql_db.cpp +++ b/dbaccess/sql_db.cpp @@ -37,7 +37,7 @@ void SqliteDB::SqliteInit(const char *pDbName) { //创建传感器信息存储表 memset(sql_exec, 0, 2048); - sprintf(sql_exec, "create table if not exists %s(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);", + sprintf(sql_exec, "create table if not exists %s(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);", T_SENSOR_INFO(TNAME), T_SENSOR_INFO(DATANODENO), T_SENSOR_INFO(DATANODENAME), @@ -82,7 +82,8 @@ void SqliteDB::SqliteInit(const char *pDbName) { T_SENSOR_INFO(RSSI), "UpdateFlag", "LooseValue", - "batteryPower"); + "batteryPower", + "upgradeStatus"); CreateTable(sql_exec); int iRet = GetTableRows(" sqlite_master "," name = 't_sensor_info' and sql LIKE '%LooseValue%' "); @@ -102,6 +103,10 @@ void SqliteDB::SqliteInit(const char *pDbName) { if(iRet == 0){ CreateTable("ALTER TABLE t_sensor_info ADD COLUMN 'NodeWaveSend'"); } + iRet = GetTableRows(" sqlite_master "," name = 't_sensor_info' and sql LIKE '%upgradeStatus%' "); + if(iRet == 0){ + CreateTable("ALTER TABLE t_sensor_info ADD COLUMN 'upgradeStatus'"); + } memset(sql_exec, 0, 2048); sprintf(sql_exec,"update t_sensor_info set MeasurementID = dataNodeNo where MeasurementID IS NULL ;"); @@ -115,6 +120,11 @@ void SqliteDB::SqliteInit(const char *pDbName) { memset(sql_exec, 0, 2048); sprintf(sql_exec,"update t_sensor_info set NodeWaveSend = '0,0,0' where NodeWaveSend IS NULL ;"); UpdateTableData(sql_exec); + + sprintf(sql_exec,"update t_sensor_info set upgradeStatus = '0' where upgradeStatus IS NULL ;"); + UpdateTableData(sql_exec); + sprintf(sql_exec,"update t_sensor_info set upgradeStatus = '0' where upgradeStatus = '' ;"); + UpdateTableData(sql_exec); //创建传感器数据存储表 memset(sql_exec, 0, 2048); @@ -230,6 +240,9 @@ void SqliteDB::SqliteInit(const char *pDbName) { T_BATTERY_INFO(BATTERYREMAIN), T_BATTERY_INFO(TIMESTAMP)); CreateTable(sql_exec); + + execute_sql_file("/opt/configenv/firmware_upgrade.sql"); + } void SqliteDB::Createtable(const char *ptableName) { @@ -688,7 +701,51 @@ int SqliteDB::UpdateTableDataOneColumn(const char *tablename, const char *column } return iRet; } +int callback(void *data, int argc, char **argv, char **azColName) { + // 如果需要处理查询结果,可以在此回调函数中进行操作 + for (int i = 0; i < argc; i++) { + zlog_error(zct,"%s = %s", azColName[i], argv[i] ? argv[i] : "NULL"); + } + return 0; +} +int SqliteDB::execute_sql_file(const char *filename) { + FILE *file = fopen(filename, "r"); + if (file == NULL) { + zlog_error(zct,"无法打开 SQL 文件"); + return 1; + } + + // 获取文件大小 + fseek(file, 0, SEEK_END); + long file_size = ftell(file); + fseek(file, 0, SEEK_SET); + + // 为文件内容分配内存 + char *sql = (char *)malloc(file_size + 1); + if (sql == NULL) { + zlog_error(zct,"内存分配失败"); + fclose(file); + return 2; + } + + // 读取文件内容到内存 + fread(sql, 1, file_size, file); + sql[file_size] = '\0'; // 确保字符串结尾 + + fclose(file); + + // 执行 SQL 文件中的语句 + char *err_msg = NULL; + if (sqlite3_exec(GetDbHandle(), sql, callback, 0, &err_msg) != SQLITE_OK) { + zlog_error(zct, "执行 SQL 错误: %s", err_msg); + sqlite3_free(err_msg); + free(sql); + return 3; + } + free(sql); + return 0; +} int SqliteDB::InsertData(const char *tablename, const char *insertValues, int replace, bool expandable) { char *msg; int iRet = 0; diff --git a/dbaccess/sql_db.hpp b/dbaccess/sql_db.hpp index 2852ae0..16d4ba7 100644 --- a/dbaccess/sql_db.hpp +++ b/dbaccess/sql_db.hpp @@ -59,6 +59,7 @@ public: int UpdateTableData(const char *tablename, const char *updateColumn, const char *whereCond); int UpdateNodeNameData(const char *tablename, const char *updateColumn, const char *whereCond); int UpdateTableDataOneColumn(const char *tablename, const char *columnName, const char *columnValue, const char *whereColName = NULL, const char *whereColValue = NULL); + int execute_sql_file(const char *filename); int UpdateTableData(const char *directSql); int InsertData(const char *tablename, const char *insertValues, int replace = 0, bool expandalbe = false); int InsertData(const char *insertSql); diff --git a/jsonparse/communication_cmd.hpp b/jsonparse/communication_cmd.hpp index cf274ae..7a60398 100644 --- a/jsonparse/communication_cmd.hpp +++ b/jsonparse/communication_cmd.hpp @@ -65,6 +65,7 @@ public: std::string JsonCmd_Cgi_57(Param_57 ¶m); std::string JsonCmd_Cgi_58(Param_58 ¶m); std::string JsonCmd_Cgi_59(Param_59 ¶m); + std::string JsonCmd_Cgi_60(Param_60 ¶m); std::string JsonCmd_Cgi_default(); private: diff --git a/jsonparse/web_cmd_parse2.cpp b/jsonparse/web_cmd_parse2.cpp index b4def4c..068b529 100644 --- a/jsonparse/web_cmd_parse2.cpp +++ b/jsonparse/web_cmd_parse2.cpp @@ -109,6 +109,7 @@ std::string JsonData::JsonCmd_Cgi_26(Param_26 ¶m) { jsSensorData["MeasurementID"] = arrRes[j][44]; jsSensorData["battery"] = arrRes[j][43]; jsSensorData["nodeWaveSend"] = arrRes[j][45]; + jsSensorData["upgradeStatus"] = arrRes[j][46]; jsArray.append(jsSensorData); } } else { diff --git a/jsonparse/web_cmd_parse3.cpp b/jsonparse/web_cmd_parse3.cpp index 596e68c..199c093 100644 --- a/jsonparse/web_cmd_parse3.cpp +++ b/jsonparse/web_cmd_parse3.cpp @@ -513,9 +513,10 @@ std::string JsonData::JsonCmd_Cgi_58(Param_58 ¶m) { jsonVal["success"] = true; jsonVal["message"] = ""; int ret = 0; + std::string error_msg = ""; if (param.mMode == 1) { - ret = scheduler::instance().Config(param.featureInterVal,param.waveInterVal,param.featureInterTime,param.waveInterTime,param.maxSensorNum); + ret = scheduler::instance().Config(param.featureInterVal,param.waveInterVal,param.featureInterTime,param.waveInterTime,param.maxSensorNum,error_msg); }else if (param.mMode == 0) { ret = scheduler::instance().GetScheduleConfig(param.featureInterVal,param.waveInterVal,param.featureInterTime,param.waveInterTime,param.maxSensorNum); @@ -529,8 +530,9 @@ std::string JsonData::JsonCmd_Cgi_58(Param_58 ¶m) { jsBody["maxSensorNum"] = param.maxSensorNum; }else{ jsonVal["success"] = false; - jsonVal["message"] = "保存失败!"; + jsonVal["message"] = error_msg; } + jsonVal["content"] = jsBody; return show_value_.write(jsonVal); } std::string JsonData::JsonCmd_Cgi_59(Param_59 ¶m) { @@ -546,7 +548,7 @@ std::string JsonData::JsonCmd_Cgi_59(Param_59 ¶m) { if (param.mMode == 1) { sprintf(table_name,"t_dataStatic_%s",param.DataNodeNo.c_str()); - interval = 400; + interval = 10; snprintf(sql, sizeof(sql), "WITH CTE AS (" @@ -564,7 +566,7 @@ std::string JsonData::JsonCmd_Cgi_59(Param_59 ¶m) { }else if (param.mMode == 2) { sprintf(table_name,"t_data_waveSend"); - interval = 7300; + interval = 20; snprintf(sql, sizeof(sql), "WITH CTE AS (" " SELECT timestamp, " @@ -607,3 +609,53 @@ std::string JsonData::JsonCmd_Cgi_59(Param_59 ¶m) { return show_value_.write(jsonVal); } +std::string JsonData::JsonCmd_Cgi_60(Param_60 ¶m){ + Json::Value jsonVal; + jsonVal.clear(); + Json::Value jsBody; + jsonVal[JSON_FIELD_CMD] = "60"; + jsonVal["success"] = true; + jsonVal["message"] = ""; + char file_path[64]={0}; + char cmd[64]={0}; + sprintf(cmd,"mv /opt/%s /opt/DataNode/",param.fileName.c_str()); + system(cmd); + sprintf(file_path,"/opt/DataNodeNo/%s",file_path); + FILE * pFile=NULL; + size_t thisSize = 0; + char *buffer=NULL; + pFile = fopen (file_path,"rb"); + if (pFile==NULL) zlog_error(zct,"Error opening file"); + else + { + while (fgetc(pFile) != EOF) { + ++thisSize; + } + rewind(pFile); + buffer = (char*)malloc(thisSize); + fread (buffer, sizeof (char), thisSize, pFile); + fclose (pFile); + } + char head[9]={0}; + int packgeSize = 0; + memcpy(head,buffer,8); + packgeSize = BUILD_UINT32(buffer[8],buffer[9],buffer[10],buffer[11]); + zlog_info(zct,"head = %s\n",head); + zlog_info(zct,"packgeSize = %d\n",packgeSize); + unsigned char sum = 0x00; + for(size_t i = 13; i < thisSize;i++){ + sum += buffer[i]; + } + printf("sum = %x\n",sum % 256); + return show_value_.write(jsonVal); + char localtimestamp[32] = {0}; + GetTimeNet(localtimestamp, 1); + for (size_t i = 0; i < param.dataNodeNo.size(); i++) + { + //char insertSql[1024] = {0}; + + //sprintf(insertSql, " '%s','%s','%d','%d','%d','%d','%d','%d','%d'",param.dataNodeNo[i].c_str(),localtimestamp); + } + + +} diff --git a/localserver/local_server.hpp b/localserver/local_server.hpp index b8dfdc8..fd6f201 100644 --- a/localserver/local_server.hpp +++ b/localserver/local_server.hpp @@ -48,7 +48,8 @@ enum WebCommand { kVelocityFreqDomain = 56, kEnableZigbeePower = 57, kSchedulingConfiguration = 58, - kLostRecords = 59 + kLostRecords = 59, + kTransducerUpgrade = 60 }; class LocalServer { diff --git a/localserver/web_cmd.cpp b/localserver/web_cmd.cpp index eed2a37..8de6f1d 100644 --- a/localserver/web_cmd.cpp +++ b/localserver/web_cmd.cpp @@ -400,6 +400,21 @@ std::string LocalServer::HandleCgi_cmd(std::string &pData) { std::string data = jd.JsonCmd_Cgi_59(param); return data; }break; + case kTransducerUpgrade:{ + JsonData jd; + Param_60 param; + param.fileName = recvBody["fileName"].asString(); + param.product = recvBody["product"].asInt(); + Json::Value recvDataNodeNo = recvBody["DataNodeNo"]; + if (recvDataNodeNo.size() > 0) + { + for (size_t i = 0; i < recvDataNodeNo.size(); i++) { + param.dataNodeNo.push_back(recvDataNodeNo[i].asString()); + } + } + std::string data = jd.JsonCmd_Cgi_60(param); + return data; + }break; default: JsonData jd; std::string data = jd.JsonCmd_Cgi_default(); diff --git a/uart/uart.cpp b/uart/uart.cpp index ad57c1c..bf0e2fd 100644 --- a/uart/uart.cpp +++ b/uart/uart.cpp @@ -45,12 +45,11 @@ int Uart::UartRecv(int fd, char srcshow, char *buffer) { ret = read_data(fd, buff, BUF_LENGTH, 10); if (ret <= 0) { timeoutflag++; - if (timeoutflag > 300) { + if (timeoutflag > 100) { DealReviveDuration(wave_shortAddr); zlog_info(zct, "===============0x9999 timeout= %d offSize = %d===============", timeoutflag, offSize); zlog_info(zct, "0x9999 timeout %d===============Size = %d", timeoutflag, offSize); FindRecvPackage(offSize, mUartRecvTmpBuf, head); - GlobalConfig::Zigbee_G.MyAddr = 0x8888; now_task = -1; timeoutflag = 0; offSize = 0; @@ -275,11 +274,11 @@ int Uart::ZigbeeTest() { void Uart::WriteToUart(const char *strSend, int pLen) { if (!bUpdate) { - zlog_info(zct, "Write To Uart Start:"); + printf( "Write To Uart Start:\n"); for (int i = 0; i < pLen; i++) { printf("%02X ", *(strSend + i) & 0xFF); } - zlog_info(zct, "\nWrite To Uart End."); + printf( "\nWrite To Uart End.\n"); } write_data(fd, (char *)strSend, pLen); @@ -371,7 +370,6 @@ int Uart::DealAskTask(uint16_t ushortAdd){ ModifyDistAddr(ushortAdd); int next_duration = 0; int taskID = scheduler::instance().StartSchedule(ushortAdd,next_duration); - taskID = 4; ScheduleTask scheduleTask; zlog_info(zct, "taskID = %d ", taskID); if (taskID == kScheduleEigenValue) //1.特征值 @@ -428,7 +426,6 @@ int Uart::DealReviveDuration(uint16_t ushortAdd){ ScheduleTask scheduleTask; uint16_t next_duration = scheduler::instance().GetNextDuration(ushortAdd); - next_duration = 60; zlog_info(zct, "next_duration = %d ", next_duration); scheduleTask.cmd = REVIVE_DURATION; scheduleTask.shortAddr = ushortAdd; @@ -958,7 +955,7 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) { if ((mPackgeIndex == -1 || (unsigned int)UartRecvBuf[i + 6] == 0) && (!bUpdatePre && !bUpdateconfig)) { mPackgeIndex = UartRecvBuf[i + 6] & 0xFF; } else if ((unsigned int)mPackgeIndex == (unsigned int)UartRecvBuf[i + 6] && mPackgeIndex != -1 && (!bUpdatePre && !bUpdateconfig) && command != 2) { - zlog_error(zct, "mPackgeIndex same index1:%d,index2:%02d ShortAddr :%s ", mPackgeIndex, UartRecvBuf[i + 6] & 0xff, strShortAddr.c_str()); + zlog_warn(zct, "mPackgeIndex same index1:%d,index2:%02d ShortAddr :%s ", mPackgeIndex, UartRecvBuf[i + 6] & 0xff, strShortAddr.c_str()); continue; } else if ((unsigned int)mPackgeIndex + 1 != (unsigned int)UartRecvBuf[i + 6] && mPackgeIndex != -1 && (!bUpdatePre && !bUpdateconfig) && command != 2) { @@ -975,16 +972,6 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) { strcat(tmp2, tmp); } zlog_error(zct, "error str = %s", tmp2); - GlobalConfig::Zigbee_G.MyAddr = 0x8888; - tcflush(fd, TCIOFLUSH); - sleep(1); - modify_LocalAddr(0x8888); - sleep(1); - bModifyAddr = true; - bSendTimeStamp = false; - GlobalConfig::EnterZigBeeWaveTransmittingFlag_G = NO_ENTER_TRANSMITTING_STATUS; - GlobalConfig::EnterZigBeeWaveTransmittingCnt_G = 0; - break; } diff --git a/uart/uart.hpp b/uart/uart.hpp index cb4e528..a58eff9 100644 --- a/uart/uart.hpp +++ b/uart/uart.hpp @@ -29,6 +29,7 @@ enum InteractiveCommand { SIGNAL_STRENGTH = 13, // 信号强度 DEVICE_EXCEPTION = 14, // 异常: 外设 WAVE_COMPRESS = 15, // 波形数据压缩 + UPGRADE_FIRMWARE = 16 //固件升级内容 }; // 无线传感器请求任务 typedef struct { diff --git a/uart/uart_feature_parse.cpp b/uart/uart_feature_parse.cpp index 80f9c7e..a645109 100644 --- a/uart/uart_feature_parse.cpp +++ b/uart/uart_feature_parse.cpp @@ -177,6 +177,7 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) { // return; // } memset(whereCon, 0x00, sizeof(whereCon)); + sprintf(szTableNameData, "t_data_%s", strMeasurementID.c_str()); ///////////////////////////////////////////////////////////// for V2.0.3 upgrade to V3.0 std::string strTmp = ""; char sztmp[100] = {0x00}; @@ -231,6 +232,7 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) { int Count = sqlite_db_ctrl::instance().GetTableRows(szTableName, whereCon); if (Count == -1) { sqlite_db_ctrl::instance().CreatedataStatictable(szTableName); + sqlite_db_ctrl::instance().Createtable(szTableNameData); } zlog_info(zct, "strLongAddr = %s,strTime = %s", strLongAddr.c_str(), strTime.c_str()); long lTime = atol(nowTimetamp.c_str()) - atol(strTime.c_str()); @@ -271,9 +273,7 @@ void Uart::DealDataNodeFeature(const char *pData, int flag) { } memset(szTableName, 0x00, sizeof(szTableName)); sprintf(szTableName, "t_data_%s", strLongAddr.c_str()); - if (Count == -1) { - sqlite_db_ctrl::instance().Createtable(szTableName); - } + DataRecvDym dataDymX; memset(buf, 0, sizeof(buf)); sprintf(buf, "%02x%02x", pRecvData->Data[9], pRecvData->Data[8]); @@ -817,7 +817,7 @@ std::vector Uart::DealData(int iChannel, float coe, unsigned int sampleRa std::vector vecData; size_t j = 0; std::string strShortAddr = ""; - if (iChannel == 3) { + if (iChannel == WAVE_X) { if (VecWaveDataX.size() > 0) { g_VecWaveDataX.assign(VecWaveDataX.begin(), VecWaveDataX.end()); waveCount = VecWaveDataX.size(); @@ -833,7 +833,7 @@ std::vector Uart::DealData(int iChannel, float coe, unsigned int sampleRa compress = g_mapCompress[strShortAddr].compressChannelX; count = g_mapCompress[strShortAddr].CountX; } - if (iChannel == 4) { + if (iChannel == WAVE_Y) { if (VecWaveDataY.size() > 0) { g_VecWaveDataY.assign(VecWaveDataY.begin(), VecWaveDataY.end()); waveCount = VecWaveDataY.size(); @@ -849,7 +849,7 @@ std::vector Uart::DealData(int iChannel, float coe, unsigned int sampleRa compress = g_mapCompress[strShortAddr].compressChannelY; count = g_mapCompress[strShortAddr].CountY; } - if (iChannel == 5) { + if (iChannel == WAVE_Z) { if (VecWaveDataZ.size() > 0) { g_VecWaveDataZ.assign(VecWaveDataZ.begin(), VecWaveDataZ.end()); waveCount = VecWaveDataZ.size(); @@ -896,27 +896,27 @@ std::vector Uart::DealData(int iChannel, float coe, unsigned int sampleRa } vecData.push_back(fTemp); if (strProduct == "01") { - if (vecData.size() == sampleRate * ACCSampleTime && iChannel == 3) { //过滤数据包结尾空数据 + if (vecData.size() == sampleRate * ACCSampleTime && iChannel == WAVE_X) { //过滤数据包结尾空数据 zlog_info(zct, "%d vecData.size() == %d,sampleRate * ACCSampleTime = %d", iChannel, vecData.size(), sampleRate * ACCSampleTime); break; } - if (vecData.size() == sampleRate * ACCSampleTime && iChannel == 4) { //过滤数据包结尾空数据 + if (vecData.size() == sampleRate * ACCSampleTime && iChannel == WAVE_Y) { //过滤数据包结尾空数据 zlog_info(zct, "%d vecData.size() == %d,sampleRate * ACCSampleTime = %d", iChannel, vecData.size(), sampleRate * ACCSampleTime); break; } - if (vecData.size() == sampleRate * ACCSampleTime && iChannel == 5) { //过滤数据包结尾空数据 + if (vecData.size() == sampleRate * ACCSampleTime && iChannel == WAVE_Z) { //过滤数据包结尾空数据 zlog_info(zct, "%d vecData.size() == %d,sampleRate * ACCSampleTime = %d", iChannel, vecData.size(), sampleRate * ACCSampleTime); break; } } else if (strProduct == "02") { - if (vecData.size() == 8192 && iChannel == 3) { //过滤数据包结尾空数据 + if (vecData.size() == 8192 && iChannel == WAVE_X) { //过滤数据包结尾空数据 break; } - if (vecData.size() == 8192 && iChannel == 4) { //过滤数据包结尾空数据 + if (vecData.size() == 8192 && iChannel == WAVE_Y) { //过滤数据包结尾空数据 break; } - if (vecData.size() == sampleRate * ACCSampleTime && iChannel == 5) { //过滤数据包结尾空数据 + if (vecData.size() == sampleRate * ACCSampleTime && iChannel == WAVE_Z) { //过滤数据包结尾空数据 break; } } @@ -965,27 +965,27 @@ void Uart::DealWave() { n = (int)strtol(getrange, NULL, 32); if (m_waveCountX > 0 || VecWaveDataX.size() > 0) { zlog_info(zct, "m_waveCountX = %d,VecWaveData = %d", m_waveCountX, VecWaveDataX.size()); - coe = Calcoe(n, 3, strProduct, range); - vecData = DealData(3, coe, sampleRate, ACCSampleTime, strProduct); - WriteDatFile(sampleRate, strMeasurementID, 3, vecData); + coe = Calcoe(n, WAVE_X, strProduct, range); + vecData = DealData(WAVE_X, coe, sampleRate, ACCSampleTime, strProduct); + WriteDatFile(sampleRate, strMeasurementID, WAVE_X, vecData); m_waveCountX = 0; g_VecWaveDataX.clear(); VecWaveDataX.clear(); } if (m_waveCountY > 0 || VecWaveDataY.size() > 0) { zlog_info(zct, "m_waveCountY = %d,VecWaveData = %d", m_waveCountY, VecWaveDataY.size()); - coe = Calcoe(n, 4, strProduct, range); - vecData = DealData(4, coe, sampleRate, ACCSampleTime, strProduct); - WriteDatFile(sampleRate, strMeasurementID, 4, vecData); + coe = Calcoe(n, WAVE_Y, strProduct, range); + vecData = DealData(WAVE_Y, coe, sampleRate, ACCSampleTime, strProduct); + WriteDatFile(sampleRate, strMeasurementID, WAVE_Y, vecData); m_waveCountY = 0; g_VecWaveDataY.clear(); VecWaveDataY.clear(); } if (m_waveCountZ > 0 || VecWaveDataZ.size() > 0) { zlog_info(zct, "m_waveCountZ = %d,VecWaveDataZ = %d", m_waveCountZ, VecWaveDataZ.size()); - coe = Calcoe(n, 5, strProduct, range); - vecData = DealData(5, coe, sampleRate, ACCSampleTime, strProduct); - WriteDatFile(sampleRate, strMeasurementID, 5, vecData); + coe = Calcoe(n, WAVE_Z, strProduct, range); + vecData = DealData(WAVE_Z, coe, sampleRate, ACCSampleTime, strProduct); + WriteDatFile(sampleRate, strMeasurementID, WAVE_Z, vecData); m_waveCountZ = 0; g_VecWaveDataZ.clear(); VecWaveDataZ.clear(); @@ -1016,10 +1016,10 @@ float Uart::Calcoe(int ran, int iChannel, std::string &product, int range) { } break; } } else if (product == "02") { - if (iChannel == 3 || iChannel == 4) { + if (iChannel == WAVE_X || iChannel == WAVE_Y) { coe = 0.00048828125; } - if (iChannel == 5) { + if (iChannel == WAVE_Z) { coe = 0.00172607421875; } } @@ -1034,15 +1034,15 @@ void Uart::WriteDatFile(int sampleRate, std::string &strMeasurementID, int iChan std::string nowTimetamp = std::string(localtimestamp); std::string strChannelID = ""; switch (iChannel) { - case 3: { + case WAVE_X: { strFileName = "/opt/data/" + strMeasurementID + "-X.dat"; strChannelID = strMeasurementID + "-X"; } break; - case 4: { + case WAVE_Y: { strFileName = "/opt/data/" + strMeasurementID + "-Y.dat"; strChannelID = strMeasurementID + "-Y"; } break; - case 5: { + case WAVE_Z: { strFileName = "/opt/data/" + strMeasurementID + "-Z.dat"; strChannelID = strMeasurementID + "-Z"; } break;