| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- #include "json_handle.h"
- #include "log.h"
- #include <rtthread.h>
- cJSON* json_to_chn_pwr_status_monitor(const char* str,channel_power_request* chn_pwr_req)
- {
- int temp = 0 ;
- cJSON* cjson = NULL;
- cjson = cJSON_Parse(str);
- if(cjson==NULL)
- {
- LOG_E("Invalid JSON!");
- return NULL;
- }
- cJSON* _cjson = cJSON_GetObjectItem(cjson,"type");
- if(_cjson!=NULL)
- chn_pwr_req->type = _cjson->valuestring;
- _cjson = cJSON_GetObjectItem(cjson,"chnId");
- if(_cjson!=NULL)
- chn_pwr_req->pro_ch_id = _cjson->valueint;
- _cjson = cJSON_GetObjectItem(cjson,"openInterval");
- if(_cjson!=NULL)
- chn_pwr_req->open = _cjson->valueint;
- _cjson = cJSON_GetObjectItem(cjson,"closeInterval");
- if(_cjson!=NULL)
- chn_pwr_req->close = _cjson->valueint;
-
- //chnVoltageMax
- _cjson = cJSON_GetObjectItem(cjson,"chnVoltageMax");
- if(_cjson!=NULL)
- chn_pwr_req->v_max = (float)_cjson->valuedouble;
- _cjson = cJSON_GetObjectItem(cjson,"chnVoltageMin");
- if(_cjson!=NULL)
- chn_pwr_req->v_min = (float)_cjson->valuedouble;
- _cjson = cJSON_GetObjectItem(cjson,"chnCurrentMAX");
- if(_cjson!=NULL)
- chn_pwr_req->i_max = (float)_cjson->valuedouble;
- _cjson = cJSON_GetObjectItem(cjson,"chnPowerMAX");
- if(_cjson!=NULL)
- chn_pwr_req->p_max = (float)_cjson->valuedouble;
- _cjson = cJSON_GetObjectItem(cjson,"chnConsumptionMAX");
- if(_cjson!=NULL)
- chn_pwr_req->w_max = (float)_cjson->valuedouble;
- return cjson;
- }
- cJSON* json_to_all_pwr_status_monitor(const char* str,all_power_request* _over_all_pwr_request)
- {
- cJSON* cjson = NULL;
- cjson = cJSON_Parse(str);
- if(cjson==NULL)
- {
- LOG_E("Invalid JSON!");
- return NULL;
- }
- cJSON* _cjson = cJSON_GetObjectItem(cjson,"type");
- if(_cjson!=NULL)
- _over_all_pwr_request->type = _cjson->valuestring;
- _cjson = cJSON_GetObjectItem(cjson,"phId");
- if(_cjson!=NULL)
- _over_all_pwr_request->ph_id = _cjson->valueint;
- _cjson = cJSON_GetObjectItem(cjson,"allVoltageMax");
- if(_cjson!=NULL)
- _over_all_pwr_request->v_max = (float)_cjson->valuedouble;
- _cjson = cJSON_GetObjectItem(cjson,"allVoltageMin");
- if(_cjson!=NULL)
- _over_all_pwr_request->v_min = (float)_cjson->valuedouble;
- _cjson = cJSON_GetObjectItem(cjson,"allCurrentMAX");
- if(_cjson!=NULL)
- _over_all_pwr_request->i_max = (float)_cjson->valuedouble;
- _cjson = cJSON_GetObjectItem(cjson,"allPowerMAX");
- if(_cjson!=NULL)
- _over_all_pwr_request->p_max = (float)_cjson->valuedouble;
- _cjson = cJSON_GetObjectItem(cjson,"allConsumptionMAX");
- if(_cjson!=NULL)
- _over_all_pwr_request->w_max = (float)_cjson->valuedouble;
- return cjson;
- }
- cJSON* json_to_sensor_status_monitor(const char* str,sensor_request* _over_sensor_request)
- {
- cJSON* cjson = NULL;
- cjson = cJSON_Parse(str);
- if(cjson==NULL)
- {
- LOG_E("Invalid JSON!");
- return NULL;
- }
- cJSON* _cjson = cJSON_GetObjectItem(cjson,"type");
- if(_cjson!=NULL)
- _over_sensor_request->type = _cjson->valuestring;
- _cjson = cJSON_GetObjectItem(cjson,"sensorId");
- if(_cjson!=NULL)
- _over_sensor_request->sensor_id = _cjson->valueint;
-
- _cjson = cJSON_GetObjectItem(cjson,"sensorMax");
- if(_cjson!=NULL)
- _over_sensor_request->s_max = (float)_cjson->valuedouble;
-
- _cjson = cJSON_GetObjectItem(cjson,"sensorMin");
- if(_cjson!=NULL)
- _over_sensor_request->s_max = (float)_cjson->valuedouble;
- return cjson;
- }
|