This commit is contained in:
zjk
2025-06-06 13:28:05 +08:00
parent 8fab3bdf06
commit 035205101b
17 changed files with 429 additions and 96 deletions
+22 -2
View File
@@ -116,6 +116,8 @@ void HttpServer::handleWebSocketEvent(struct mg_connection* c, int ev, void* ev_
fuelCellPower = (unsigned short)atoi(tmp);
mg_http_get_var(&body, "instrumentBattery", tmp, sizeof(tmp));
instrumentBattery = (unsigned char)strtoul(tmp, NULL, 16);
mg_http_get_var(&body, "instrumentBatteryCharge", tmp, sizeof(tmp));
unsigned char instrumentBatteryCharge = (unsigned char)atoi(tmp);
mg_http_get_var(&body, "powerBattery", tmp, sizeof(tmp));
powerBattery = (unsigned char)strtoul(tmp, NULL, 16);
mg_http_get_var(&body, "powerBatteryPower", tmp, sizeof(tmp));
@@ -126,10 +128,10 @@ void HttpServer::handleWebSocketEvent(struct mg_connection* c, int ev, void* ev_
// 记录接收到的配置
LOG_F(INFO, "Received battery control config: "
"fuelCellMode=%02XH, fuelCellCommand=%02XH, fuelCellPower=%d, "
"instrumentBattery=%02XH, powerBattery=%02XH, powerBatteryPower=%d, "
"instrumentBattery=%02XH, instrumentBatteryCharge=%d, powerBattery=%02XH, powerBatteryPower=%d, "
"hostStatus=%02XH",
fuelCellMode, fuelCellCommand, fuelCellPower,
instrumentBattery, powerBattery, powerBatteryPower, hostStatus);
instrumentBattery, instrumentBatteryCharge, powerBattery, powerBatteryPower, hostStatus);
m_powerManger->m_CcuColCmd.fcmode = fuelCellMode;
m_powerManger->m_CcuColCmd.fcuCmd = fuelCellCommand;
@@ -139,6 +141,7 @@ void HttpServer::handleWebSocketEvent(struct mg_connection* c, int ev, void* ev_
m_powerManger->m_CcuColCmd.powerBatCmd = powerBattery;
m_powerManger->m_CcuColCmd.powerBatEfficiency = powerBatteryPower;
m_powerManger->m_CcuColCmd.masterState = hostStatus;
m_powerManger->m_CcuColCmd.insChargeEnable = instrumentBatteryCharge;
cout << "m_powerManger->m_CcuColCmd.masterState:" << (int)m_powerManger->m_CcuColCmd.masterState << endl;
mg_http_reply(c, 200, "Content-Type: application/json\r\n",
@@ -476,6 +479,12 @@ void HttpServer::pushSystemData() {
//紧急状态
j["ins_emergency_status"] = Json::Value(m_systemData->ins_emergency_status); // 紧急状态
j["dyn_emergency_status"] = Json::Value(m_systemData->dyn_emergency_status); // 紧急状态
// 电池充电等级和漏水状态
j["dyn_charge_level"] = Json::Value(m_systemData->dyn_charge_level); //01H:1级(不限)02H:2级(限功率)03H:3级(关闭)
j["water_leak_status_from_insbat"] = Json::Value(m_systemData->water_leak_status_from_insbat ); // 00 正常,01 异常漏水
j["water_leak_status_from_dynbat"] = Json::Value((m_systemData->water_leak_status_from_dynbat) ); // 00 正常,01 异常漏水
j["dcdc_status_from_insbat"] = Json::Value((m_systemData->dcdc_status_from_insbat ) ); // 00 正常,01 故障
j["ins_soc_threshold1"] = Json::Value(m_systemData->ins_soc_threshold1); // 仪表电池1 SOC门限
j["ins_soc_threshold2"] = Json::Value(m_systemData->ins_soc_threshold2); // 仪表电池2 SOC门限
@@ -488,6 +497,11 @@ void HttpServer::pushSystemData() {
j["dyn_power_limit1"] = Json::Value(m_systemData->dyn_power_limit1); // 动力电池1功率限制值
j["dyn_power_limit2"] = Json::Value(m_systemData->dyn_power_limit2); // 动力电池2功率限制值
// uint8_t ins_charge_status; // 仪表电池充放电状态:00H-无效,10H-充电,20H-放电
// uint8_t dyn_charge_status; // 动力电池充放电状态:00H-无效,10H-充电,20H-放电
j["ins_charge_status"] = Json::Value(m_systemData->ins_charge_status);
j["dyn_charge_status"] = Json::Value(m_systemData->dyn_charge_status);
//设备在线状态
j["device_online"]["device_online_flag1"] = Json::Value(m_systemData->device_online_flag1);
j["device_online"]["device_online_flag2"] = Json::Value(m_systemData->device_online_flag2);
@@ -516,6 +530,12 @@ void HttpServer::pushSystemData() {
j["comm_state"]["dis_lv_c1"]["lastUpdateTime"] = Json::Value(m_systemData->device_common_status.dis_lv_c1.lastUpdateTime);
j["comm_state"]["dis_lv_c2"]["isTimeout"] = Json::Value(m_systemData->device_common_status.dis_lv_c2.isTimeout);
j["comm_state"]["dis_lv_c2"]["lastUpdateTime"] = Json::Value(m_systemData->device_common_status.dis_lv_c2.lastUpdateTime);
// 低压配电状态
j["comm_state"]["dis_lv_c1"]["isTimeout"] = Json::Value(m_systemData->device_common_status.dis_lv_c1.isTimeout);
j["comm_state"]["dis_lv_c1"]["lastUpdateTime"] = Json::Value(m_systemData->device_common_status.dis_lv_c1.lastUpdateTime);
j["comm_state"]["dis_lv_c2"]["isTimeout"] = Json::Value(m_systemData->device_common_status.dis_lv_c2.isTimeout);
j["comm_state"]["dis_lv_c2"]["lastUpdateTime"] = Json::Value(m_systemData->device_common_status.dis_lv_c2.lastUpdateTime);
//复合管控器心跳计算器
j["heartbeat"] = Json::Value(m_systemData->heartbeat);