|
@@ -26,11 +26,11 @@
|
|
|
#include <time.h>
|
|
|
#include <ctype.h>
|
|
|
#include <ifaddrs.h>
|
|
|
+#include <math.h>
|
|
|
#include "define.h"
|
|
|
#include "json.h"
|
|
|
|
|
|
|
|
|
-#include <math.h>
|
|
|
#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)
|
|
|
#define DEBUG_ERROR(format, args...) StoreLogMsg("[%s:%d][%s][Error] "format, __FILE__, __LINE__, __FUNCTION__, ##args)
|
|
@@ -48,6 +48,7 @@ struct StatusCodeData *ShmStatusCodeData;
|
|
|
struct CHAdeMOData *ShmCHAdeMOData;
|
|
|
struct GBTData *ShmGBTData;
|
|
|
struct CcsData *ShmCcsData;
|
|
|
+struct PsuData *ShmPsuData;
|
|
|
|
|
|
void trim(char *s);
|
|
|
int mystrcmp(char *p1, char *p2);
|
|
@@ -247,6 +248,21 @@ int InitShareMemory() {
|
|
|
} else {
|
|
|
}
|
|
|
|
|
|
+ //creat ShmPsuData
|
|
|
+ if ((MeterSMId = shmget(ShmPsuKey, sizeof(struct PsuData),
|
|
|
+ 0777)) < 0) {
|
|
|
+ #ifdef SystemLogMessage
|
|
|
+ DEBUG_ERROR("shmget ShmPsuData NG\n");
|
|
|
+ #endif
|
|
|
+ result = FAIL;
|
|
|
+ } else if ((ShmPsuData = shmat(MeterSMId, NULL, 0)) == (void *) -1) {
|
|
|
+ #ifdef SystemLogMessage
|
|
|
+ DEBUG_ERROR("shmat ShmPsuData NG\n");
|
|
|
+ #endif
|
|
|
+ result = FAIL;
|
|
|
+ } else {
|
|
|
+ }
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -767,7 +783,7 @@ int main(int argc, char *argv[]) {
|
|
|
if (strcmp(argv[1], "aaa") == 0) {
|
|
|
//struct SysConfigData SysConfig;
|
|
|
//system
|
|
|
- strcpy((char *)&ShmSysConfigAndInfo->SysConfig.ModelName, "DSLU601U1JT1P0D");
|
|
|
+ strcpy((char *)&ShmSysConfigAndInfo->SysConfig.ModelName, "DSLU601001T1P0D");
|
|
|
strcpy((char *)&ShmSysConfigAndInfo->SysConfig.SerialNumber, "SerialNumber");
|
|
|
strcpy((char *)&ShmSysConfigAndInfo->SysConfig.SystemId, "1234567890");
|
|
|
strcpy((char *)&ShmSysConfigAndInfo->SysConfig.SystemDateTime, "2019-12-31 23:59:59");
|
|
@@ -954,6 +970,11 @@ int main(int argc, char *argv[]) {
|
|
|
unsigned char connector1FwVer[32];
|
|
|
unsigned char connector2FwVer[32];
|
|
|
short gunQty;
|
|
|
+ char *RatedPower1[2];
|
|
|
+ char *RatedPower2[2];
|
|
|
+ char *RatedPower3[2];
|
|
|
+ short RatedPower;
|
|
|
+ short PsuQuantity = 0;
|
|
|
substr((char *)IsAcDc,(const char *)ShmSysConfigAndInfo->SysConfig.ModelName,0,1);
|
|
|
substr((char *)Connector1,(const char *)ShmSysConfigAndInfo->SysConfig.ModelName,7,1);
|
|
|
substr((char *)Connector2,(const char *)ShmSysConfigAndInfo->SysConfig.ModelName,9,1);
|
|
@@ -997,7 +1018,19 @@ int main(int argc, char *argv[]) {
|
|
|
// memcpy(connector2FwVer,ShmCHAdeMOData->evse[gunQty].version,ARRAY_SIZE(ShmCHAdeMOData->evse[gunQty].version));
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ substr((char *)RatedPower1,(const char *)ShmSysConfigAndInfo->SysConfig.ModelName,4,1);
|
|
|
+ substr((char *)RatedPower2,(const char *)ShmSysConfigAndInfo->SysConfig.ModelName,5,1);
|
|
|
+ substr((char *)RatedPower3,(const char *)ShmSysConfigAndInfo->SysConfig.ModelName,6,1);
|
|
|
+ int p1=atoi(RatedPower1);
|
|
|
+ int p2=atoi(RatedPower2);
|
|
|
+ int p3=atoi(RatedPower3);
|
|
|
+ if(strcmp(IsAcDc, "D") == 0){
|
|
|
+ RatedPower=(p1*10+p2)*pow(10,p3-1);
|
|
|
+ if(RatedPower>=30){
|
|
|
+ PsuQuantity = RatedPower/30;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
struct json_object *jobj1;
|
|
|
struct json_object *jobj2;
|
|
|
struct json_object *jobj3;
|
|
@@ -1058,6 +1091,10 @@ int main(int argc, char *argv[]) {
|
|
|
struct json_object *Ccs2PlugInTimes;
|
|
|
struct json_object *ChademoPlugInTimes;
|
|
|
struct json_object *FirmwareUpdate;
|
|
|
+ struct json_object *FwPrimaryVersion[PsuQuantity];
|
|
|
+ struct json_object *FwPrimaryVersionArr= json_object_new_array();
|
|
|
+ struct json_object *FwSecondVersion[PsuQuantity];
|
|
|
+ struct json_object *FwSecondVersionArr= json_object_new_array();
|
|
|
//charging
|
|
|
struct json_object *MaxChargingEnergy;
|
|
|
struct json_object *MaxChargingPower;
|
|
@@ -1197,6 +1234,13 @@ int main(int argc, char *argv[]) {
|
|
|
Ccs2PlugInTimes = json_object_new_int(ShmSysConfigAndInfo->SysConfig.Ccs2PlugInTimes);
|
|
|
ChademoPlugInTimes = json_object_new_int(ShmSysConfigAndInfo->SysConfig.ChademoPlugInTimes);
|
|
|
FirmwareUpdate = json_object_new_string((char *)&ShmSysConfigAndInfo->SysInfo.FirmwareUpdate);
|
|
|
+ if(strcmp(IsAcDc, "D") == 0){
|
|
|
+ for(int i=0;i<PsuQuantity;i++){
|
|
|
+ FwPrimaryVersion[i] = json_object_new_string((char *)&ShmPsuData->PsuVersion->FwPrimaryVersion[i]);
|
|
|
+ FwSecondVersion[i] = json_object_new_string((char *)&ShmPsuData->PsuVersion->FwSecondVersion[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//charging
|
|
|
int CcsGunQty=0;
|
|
|
int GbGunQty=0;
|
|
@@ -1618,6 +1662,15 @@ int main(int argc, char *argv[]) {
|
|
|
json_object_object_add(jobj1,"Ccs2PlugInTimes",Ccs2PlugInTimes);
|
|
|
json_object_object_add(jobj1,"ChademoPlugInTimes",ChademoPlugInTimes);
|
|
|
json_object_object_add(jobj1,"FirmwareUpdate",FirmwareUpdate);
|
|
|
+ if(IsAcDc == "D"){
|
|
|
+ for(int i=0;i<PsuQuantity;i++){
|
|
|
+ json_object_array_add(FwPrimaryVersionArr,FwPrimaryVersion[i]);
|
|
|
+ json_object_array_add(FwSecondVersionArr,FwSecondVersion[i]);
|
|
|
+ }
|
|
|
+ json_object_object_add(jobj1,"FwPrimaryVersion",FwPrimaryVersionArr);
|
|
|
+ json_object_object_add(jobj1,"FwSecondVersion",FwSecondVersionArr);
|
|
|
+ }
|
|
|
+
|
|
|
printf("%s\n", json_object_to_json_string(jobj1));
|
|
|
json_object_put(jobj1);
|
|
|
//charging
|