|
|
@@ -2404,6 +2404,12 @@ static void sensorStatusMonitoring(void* conn)
|
|
|
{
|
|
|
log_d("start add handle.");
|
|
|
int wrong_param=0;
|
|
|
+ #ifdef IN_INDEX_MAP
|
|
|
+ char index_map[4]=IN_INDEX_MAP;
|
|
|
+ #else
|
|
|
+ char index_map[4]={0,1,3,2};
|
|
|
+ #endif
|
|
|
+
|
|
|
GlobalSensorManger* _globalSensorMangerTemp = (GlobalSensorManger*)malloc(sizeof(GlobalSensorManger));
|
|
|
//清空数据
|
|
|
memset(_globalSensorMangerTemp, 0, sizeof(GlobalSensorManger));
|
|
|
@@ -2416,6 +2422,46 @@ static void sensorStatusMonitoring(void* conn)
|
|
|
GlobalSensorManger *next;
|
|
|
list_for_each_entry_safe(node, next, &__globalDeviceManage._globalSensorManger.list, list)
|
|
|
{
|
|
|
+ if (_over_all_sensor_request.cgqtd)
|
|
|
+ {
|
|
|
+
|
|
|
+ if (strcmp(_over_all_sensor_request.cgqtd, "RS485") == 0 && node->sensor_interface_type == 1)
|
|
|
+ {
|
|
|
+ if (strtol(_over_all_sensor_request.sensorAddr, NULL, 10) == node->sensor_addr)
|
|
|
+ {
|
|
|
+ wrong_param = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (strcmp(_over_all_sensor_request.cgqtd, "IN1") == 0 && node->sensor_interface_type == 2)
|
|
|
+ {
|
|
|
+ if (index_map[0] == node->sensor_addr)
|
|
|
+ {
|
|
|
+ wrong_param = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (strcmp(_over_all_sensor_request.cgqtd, "IN2") == 0 && node->sensor_interface_type == 2)
|
|
|
+ {
|
|
|
+ if (index_map[1] == node->sensor_addr)
|
|
|
+ {
|
|
|
+ wrong_param = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (strcmp(_over_all_sensor_request.cgqtd, "IN3") == 0 && node->sensor_interface_type == 2)
|
|
|
+ {
|
|
|
+ if (index_map[2] == node->sensor_addr)
|
|
|
+ {
|
|
|
+ wrong_param = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (strcmp(_over_all_sensor_request.cgqtd, "IN4") == 0 && node->sensor_interface_type == 2)
|
|
|
+ {
|
|
|
+ if (index_map[3] == node->sensor_addr)
|
|
|
+ {
|
|
|
+ wrong_param = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (node->sensor_id > nmaxID)
|
|
|
{
|
|
|
nmaxID = node->sensor_id;
|
|
|
@@ -2434,11 +2480,7 @@ static void sensorStatusMonitoring(void* conn)
|
|
|
}
|
|
|
if (_over_all_sensor_request.cgqtd)
|
|
|
{
|
|
|
- #ifdef IN_INDEX_MAP
|
|
|
- char index_map[4]=IN_INDEX_MAP;
|
|
|
- #else
|
|
|
- char index_map[4]={0,1,3,2};
|
|
|
- #endif
|
|
|
+
|
|
|
if (strcmp(_over_all_sensor_request.cgqtd, "RS485") == 0)
|
|
|
{
|
|
|
_globalSensorMangerTemp->sensor_interface_type = 1;
|
|
|
@@ -2492,7 +2534,9 @@ static void sensorStatusMonitoring(void* conn)
|
|
|
|
|
|
if(wrong_param) {
|
|
|
cJSON_Delete(cjson);
|
|
|
- http_reply(conn, 400, NULL);
|
|
|
+ ack_str = ctrl_breaker_err_ack_to_json("Sensor parameter error!");
|
|
|
+ http_reply(conn, 200, ack_str);
|
|
|
+ cJSON_free((void*)ack_str);
|
|
|
return ;
|
|
|
}
|
|
|
|
|
|
@@ -3131,7 +3175,11 @@ static void alarmProtect(void *conn)
|
|
|
int g_pwr_ch_id = _alarm_request_info._pwr_info.productChId;
|
|
|
ack_str=setThresholdToCh(&_alarm_request_info,g_pwr_ch_id);
|
|
|
char log_buff[256];
|
|
|
- sprintf(log_buff, "Update power threshold CH%d!",g_pwr_ch_id);
|
|
|
+ if (0==g_pwr_ch_id)
|
|
|
+ {
|
|
|
+ sprintf(log_buff, "Update power threshold ALL_CH!");
|
|
|
+ }
|
|
|
+ else sprintf(log_buff, "Update power threshold CH%d!",g_pwr_ch_id);
|
|
|
dev_insert_alarm_ctrl(__globalDeviceManage.db, __globalDeviceManage._globalDevInfo.product.id, ALARM_TYPE_OPRATION, log_buff);
|
|
|
/*
|
|
|
if (g_pwr_ch_id ==0)
|