|
@@ -29,7 +29,9 @@
|
|
|
#include <math.h>
|
|
|
#include "define.h"
|
|
|
#include "json.h"
|
|
|
-
|
|
|
+#ifdef DO360
|
|
|
+#include "../Projects/DO360/Apps/Config.h"
|
|
|
+#endif
|
|
|
|
|
|
#define DEBUG_INFO(format, args...) StoreLogMsg("[%s:%d][%s][Info] "format, __FILE__, __LINE__, __FUNCTION__, ##args)
|
|
|
#define DEBUG_WARN(format, args...) StoreLogMsg("[%s:%d][%s][Warn] "format, __FILE__, __LINE__, __FUNCTION__, ##args)
|
|
@@ -50,7 +52,10 @@ struct GBTData *ShmGBTData;
|
|
|
struct CcsData *ShmCcsData;
|
|
|
struct PsuData *ShmPsuData;
|
|
|
struct PrimaryMcuData *ShmPrimaryMcuData;
|
|
|
-
|
|
|
+#ifdef DO360
|
|
|
+ChargerInfoData *ShmChargerInfo;
|
|
|
+struct ChargingInfoData *_chargingData[4];
|
|
|
+#endif
|
|
|
void trim(char *s);
|
|
|
int mystrcmp(char *p1, char *p2);
|
|
|
void substr(char *dest, const char* src, unsigned int start, unsigned int cnt);
|
|
@@ -299,7 +304,25 @@ int InitShareMemory() {
|
|
|
result = FAIL;
|
|
|
} else {
|
|
|
}
|
|
|
-
|
|
|
+#ifdef DO360
|
|
|
+
|
|
|
+ if ((MeterSMId = shmget(SM_ChargerInfoKey, sizeof(ChargerInfoData), IPC_CREAT | 0777)) < 0)
|
|
|
+ {
|
|
|
+ #ifdef SystemLogMessage
|
|
|
+ DEBUG_ERROR("[main]CreatShareMemory:shmget ChargerInfoData NG");
|
|
|
+ #endif
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ else if ((ShmChargerInfo = shmat(MeterSMId, NULL, 0)) == (void *) -1)
|
|
|
+ {
|
|
|
+ #ifdef SystemLogMessage
|
|
|
+ DEBUG_ERROR("[WebService]CreatShareMemory:shmat ChargerInfoData NG");
|
|
|
+ #endif
|
|
|
+ return 0;
|
|
|
+ } else {
|
|
|
+ }
|
|
|
+
|
|
|
+#endif
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -1351,6 +1374,121 @@ int main(int argc, char *argv[]) {
|
|
|
printf("%s\n", json_object_to_json_string(jobj));
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+#ifdef DO360
|
|
|
+
|
|
|
+ if ((strcmp(argv[1], "PowerCabinet") == 0)) {
|
|
|
+ char *IsDO[3];
|
|
|
+ substr((char *)IsDO,(const char *)ShmSysConfigAndInfo->SysConfig.ModelName,0,2);
|
|
|
+ if(strcmp(IsDO, "DO") == 0 || strcmp(IsDO, "DK") == 0 || strcmp(IsDO, "DB") == 0){
|
|
|
+ struct json_object *jobj2;
|
|
|
+ jobj2=json_object_new_object();
|
|
|
+
|
|
|
+ if (strcmp(argv[2], "1") == 0) {
|
|
|
+ json_object_object_add(jobj2,"Cmd",json_object_new_string("1"));
|
|
|
+ int FTargetVoltage = 0;
|
|
|
+ int FTargetCurrent = 0;
|
|
|
+ if(strlen(argv[3]) >0){
|
|
|
+ struct json_object *jobj = json_tokener_parse(argv[3]);
|
|
|
+ json_object *val_obj = NULL;
|
|
|
+ if( json_object_object_get_ex(jobj, "FTargetVoltage", &val_obj) ) {
|
|
|
+ FTargetVoltage = json_object_get_int(val_obj);
|
|
|
+ ShmChargerInfo->Control.FCharging[0].FTargetVoltage = FTargetVoltage * 10;
|
|
|
+ json_object_object_add(jobj2,"FTargetVoltage0",json_object_new_int(FTargetVoltage));
|
|
|
+ ShmChargerInfo->Control.FCharging[1].FTargetVoltage = FTargetVoltage * 10;
|
|
|
+ json_object_object_add(jobj2,"FTargetVoltage1",json_object_new_int(FTargetVoltage));
|
|
|
+ ShmChargerInfo->Control.FCharging[2].FTargetVoltage = FTargetVoltage * 10;
|
|
|
+ json_object_object_add(jobj2,"FTargetVoltage2",json_object_new_int(FTargetVoltage));
|
|
|
+ ShmChargerInfo->Control.FCharging[3].FTargetVoltage = FTargetVoltage * 10;
|
|
|
+ json_object_object_add(jobj2,"FTargetVoltage3",json_object_new_int(FTargetVoltage));
|
|
|
+ }
|
|
|
+ if( json_object_object_get_ex(jobj, "FTargetCurrent", &val_obj) ) {
|
|
|
+ FTargetCurrent = json_object_get_int(val_obj);
|
|
|
+ ShmChargerInfo->Control.FCharging[0].FTargetCurrent = FTargetCurrent * 10;
|
|
|
+ json_object_object_add(jobj2,"FTargetCurrent0",json_object_new_int(FTargetCurrent));
|
|
|
+ ShmChargerInfo->Control.FCharging[1].FTargetCurrent = FTargetCurrent * 10;
|
|
|
+ json_object_object_add(jobj2,"FTargetCurrent1",json_object_new_int(FTargetCurrent));
|
|
|
+ ShmChargerInfo->Control.FCharging[2].FTargetCurrent = FTargetCurrent * 10;
|
|
|
+ json_object_object_add(jobj2,"FTargetCurrent2",json_object_new_int(FTargetCurrent));
|
|
|
+ ShmChargerInfo->Control.FCharging[3].FTargetCurrent = FTargetCurrent * 10;
|
|
|
+ json_object_object_add(jobj2,"FTargetCurrent3",json_object_new_int(FTargetCurrent));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ShmChargerInfo->Control.FCharging[0].FCtrl.bits.EnableForceCharging=1;
|
|
|
+ ShmChargerInfo->Control.FCharging[0].FCtrl.bits.StartForceCharging=1;
|
|
|
+ ShmChargerInfo->Control.FCharging[1].FCtrl.bits.EnableForceCharging=1;
|
|
|
+ ShmChargerInfo->Control.FCharging[1].FCtrl.bits.StartForceCharging=1;
|
|
|
+ ShmChargerInfo->Control.FCharging[2].FCtrl.bits.EnableForceCharging=1;
|
|
|
+ ShmChargerInfo->Control.FCharging[2].FCtrl.bits.StartForceCharging=1;
|
|
|
+ ShmChargerInfo->Control.FCharging[3].FCtrl.bits.EnableForceCharging=1;
|
|
|
+ ShmChargerInfo->Control.FCharging[3].FCtrl.bits.StartForceCharging=1;
|
|
|
+ printf("%s\n", json_object_to_json_string(jobj2));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (strcmp(argv[2], "2") == 0) {
|
|
|
+ json_object_object_add(jobj2,"Cmd",json_object_new_string("2"));
|
|
|
+
|
|
|
+ ShmSysConfigAndInfo->SysInfo.ConnectorInfo[0].GeneralChargingData.ChargingStopFlag.bits.ManualStop=1;
|
|
|
+ ShmSysConfigAndInfo->SysInfo.ConnectorInfo[1].GeneralChargingData.ChargingStopFlag.bits.ManualStop=1;
|
|
|
+ ShmSysConfigAndInfo->SysInfo.ConnectorInfo[2].GeneralChargingData.ChargingStopFlag.bits.ManualStop=1;
|
|
|
+ ShmSysConfigAndInfo->SysInfo.ConnectorInfo[3].GeneralChargingData.ChargingStopFlag.bits.ManualStop=1;
|
|
|
+ printf("%s\n", json_object_to_json_string(jobj2));
|
|
|
+ }
|
|
|
+ if (strcmp(argv[2], "0") == 0) {
|
|
|
+ struct json_object *jobj;
|
|
|
+ jobj=json_object_new_object();
|
|
|
+ struct json_object *FTargetVoltage;
|
|
|
+ struct json_object *FTargetCurrent;
|
|
|
+ struct json_object *EnableForceCharging;
|
|
|
+ struct json_object *StartForceCharging;
|
|
|
+ struct json_object *ManualStop;
|
|
|
+ FTargetVoltage = json_object_new_int(ShmChargerInfo->Control.FCharging[0].FTargetVoltage);
|
|
|
+ FTargetCurrent = json_object_new_int(ShmChargerInfo->Control.FCharging[0].FTargetCurrent);
|
|
|
+ EnableForceCharging = json_object_new_int(ShmChargerInfo->Control.FCharging[0].FCtrl.bits.EnableForceCharging);
|
|
|
+ StartForceCharging = json_object_new_int(ShmChargerInfo->Control.FCharging[0].FCtrl.bits.StartForceCharging);
|
|
|
+ ManualStop = json_object_new_int(ShmSysConfigAndInfo->SysInfo.ConnectorInfo[0].GeneralChargingData.ChargingStopFlag.bits.ManualStop);
|
|
|
+ json_object_object_add(jobj,"FTargetVoltage0",FTargetVoltage);
|
|
|
+ json_object_object_add(jobj,"FTargetCurrent0",FTargetCurrent);
|
|
|
+ json_object_object_add(jobj,"EnableForceCharging0",EnableForceCharging);
|
|
|
+ json_object_object_add(jobj,"StartForceCharging0",StartForceCharging);
|
|
|
+ json_object_object_add(jobj,"ManualStop0",ManualStop);
|
|
|
+ FTargetVoltage = json_object_new_int(ShmChargerInfo->Control.FCharging[1].FTargetVoltage);
|
|
|
+ FTargetCurrent = json_object_new_int(ShmChargerInfo->Control.FCharging[1].FTargetCurrent);
|
|
|
+ EnableForceCharging = json_object_new_int(ShmChargerInfo->Control.FCharging[1].FCtrl.bits.EnableForceCharging);
|
|
|
+ StartForceCharging = json_object_new_int(ShmChargerInfo->Control.FCharging[1].FCtrl.bits.StartForceCharging);
|
|
|
+ ManualStop = json_object_new_int(ShmSysConfigAndInfo->SysInfo.ConnectorInfo[1].GeneralChargingData.ChargingStopFlag.bits.ManualStop);
|
|
|
+ json_object_object_add(jobj,"FTargetVoltage1",FTargetVoltage);
|
|
|
+ json_object_object_add(jobj,"FTargetCurrent1",FTargetCurrent);
|
|
|
+ json_object_object_add(jobj,"EnableForceCharging1",EnableForceCharging);
|
|
|
+ json_object_object_add(jobj,"StartForceCharging1",StartForceCharging);
|
|
|
+ json_object_object_add(jobj,"ManualStop1",ManualStop);
|
|
|
+ FTargetVoltage = json_object_new_int(ShmChargerInfo->Control.FCharging[2].FTargetVoltage);
|
|
|
+ FTargetCurrent = json_object_new_int(ShmChargerInfo->Control.FCharging[2].FTargetCurrent);
|
|
|
+ EnableForceCharging = json_object_new_int(ShmChargerInfo->Control.FCharging[2].FCtrl.bits.EnableForceCharging);
|
|
|
+ StartForceCharging = json_object_new_int(ShmChargerInfo->Control.FCharging[2].FCtrl.bits.StartForceCharging);
|
|
|
+ ManualStop = json_object_new_int(ShmSysConfigAndInfo->SysInfo.ConnectorInfo[2].GeneralChargingData.ChargingStopFlag.bits.ManualStop);
|
|
|
+ json_object_object_add(jobj,"FTargetVoltage2",FTargetVoltage);
|
|
|
+ json_object_object_add(jobj,"FTargetCurrent2",FTargetCurrent);
|
|
|
+ json_object_object_add(jobj,"EnableForceCharging2",EnableForceCharging);
|
|
|
+ json_object_object_add(jobj,"StartForceCharging2",StartForceCharging);
|
|
|
+ json_object_object_add(jobj,"ManualStop2",ManualStop);
|
|
|
+ FTargetVoltage = json_object_new_int(ShmChargerInfo->Control.FCharging[3].FTargetVoltage);
|
|
|
+ FTargetCurrent = json_object_new_int(ShmChargerInfo->Control.FCharging[3].FTargetCurrent);
|
|
|
+ EnableForceCharging = json_object_new_int(ShmChargerInfo->Control.FCharging[3].FCtrl.bits.EnableForceCharging);
|
|
|
+ StartForceCharging = json_object_new_int(ShmChargerInfo->Control.FCharging[3].FCtrl.bits.StartForceCharging);
|
|
|
+ ManualStop = json_object_new_int(ShmSysConfigAndInfo->SysInfo.ConnectorInfo[3].GeneralChargingData.ChargingStopFlag.bits.ManualStop);
|
|
|
+ json_object_object_add(jobj,"FTargetVoltage3",FTargetVoltage);
|
|
|
+ json_object_object_add(jobj,"FTargetCurrent3",FTargetCurrent);
|
|
|
+ json_object_object_add(jobj,"EnableForceCharging3",EnableForceCharging);
|
|
|
+ json_object_object_add(jobj,"StartForceCharging3",StartForceCharging);
|
|
|
+ json_object_object_add(jobj,"ManualStop3",ManualStop);
|
|
|
+ printf("%s\n", json_object_to_json_string(jobj));
|
|
|
+ json_object_put(jobj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+#endif
|
|
|
+
|
|
|
|
|
|
if ((argc == 2) & (strcmp(argv[1], "query") == 0)) {
|
|
|
char *IsAcDc[2];
|
|
@@ -2361,8 +2499,10 @@ int main(int argc, char *argv[]) {
|
|
|
MaintainServerSecurityPassword = json_object_new_string((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerSecurityPassword);
|
|
|
chargePointVendor = json_object_new_string((char *)&ShmSysConfigAndInfo->SysConfig.chargePointVendor);
|
|
|
MaintainServerURL = json_object_new_string((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL);
|
|
|
- if(strcmp(IsDO, "AX") == 0){
|
|
|
+ if(strcmp(IsDO, "AX") == 0 ){
|
|
|
isEnableLocalPowerSharging = json_object_new_int(ShmSysConfigAndInfo->SysConfig.isEnableLocalPowerSharging);
|
|
|
+ }
|
|
|
+ if(strcmp(IsDO, "AX") == 0|| strcmp(IsAcDc, "D") == 0){
|
|
|
OcppReceiptrURL = json_object_new_string((char *)&ShmSysConfigAndInfo->SysConfig.OcppReceiptrURL);
|
|
|
}
|
|
|
|
|
@@ -2790,6 +2930,8 @@ int main(int argc, char *argv[]) {
|
|
|
json_object_object_add(jobj4,"MaintainServerURL",MaintainServerURL);
|
|
|
if(strcmp(IsDO, "AX") == 0){
|
|
|
json_object_object_add(jobj4,"isEnableLocalPowerSharging",isEnableLocalPowerSharging);
|
|
|
+ }
|
|
|
+ if(strcmp(IsDO, "AX") == 0 || strcmp(IsAcDc, "D") == 0){
|
|
|
json_object_object_add(jobj4,"OcppReceiptrURL",OcppReceiptrURL);
|
|
|
}
|
|
|
|