Эх сурвалжийг харах

2020-4-17 / Kathy Yeh
1. modify uuid length form 37 to 36
2. modify BootNotifcation : remove field 'meterSerialNumber' . 'meterType'
3. modify reservation logic: when gun is reserved, it replied status Occupied

Kathy_Yeh 5 жил өмнө
parent
commit
4a3535bed0

+ 20 - 7
EVSE/Modularization/ocppfiles/MessageHandler.c

@@ -1751,7 +1751,7 @@ int sendBootNotificationRequest(void)
 	strcpy((char *)ShmOCPP16Data->BootNotification.CpIccid,(const char *)ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomSimIccid);
 	strcpy((char *)ShmOCPP16Data->BootNotification.CpImsi,(const char *)ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomSimImsi);
 
-
+#if 0
 	sprintf(payload, "{\"chargeBoxSerialNumber\":\"%s\",\"chargePointModel\":\"%s\",\"chargePointSerialNumber\":\"%s\",\"chargePointVendor\":\"%s\",\"firmwareVersion\":\"%s\",\"iccid\":\"%s\",\"imsi\":\"%s\",\"meterSerialNumber\":\"%s\",\"meterType\":\"%s\"} ",
 			ShmOCPP16Data->ChargeBoxId
 			,ShmSysConfigAndInfo->SysConfig.ModelName
@@ -1762,6 +1762,17 @@ int sendBootNotificationRequest(void)
 			,ShmOCPP16Data->BootNotification.CpImsi
 			,ShmOCPP16Data->BootNotification.CpMeterSerialNumber
 			,ShmOCPP16Data->BootNotification.CpMeterType);
+#endif
+
+	sprintf(payload, "{\"chargeBoxSerialNumber\":\"%s\",\"chargePointModel\":\"%s\",\"chargePointSerialNumber\":\"%s\",\"chargePointVendor\":\"%s\",\"firmwareVersion\":\"%s\",\"iccid\":\"%s\",\"imsi\":\"%s\"} ",
+				ShmOCPP16Data->ChargeBoxId
+				,ShmSysConfigAndInfo->SysConfig.ModelName
+				,ShmSysConfigAndInfo->SysConfig.SerialNumber
+				,ShmSysConfigAndInfo->SysConfig.chargePointVendor
+				,ShmOCPP16Data->BootNotification.CpFwVersion
+				,ShmOCPP16Data->BootNotification.CpIccid
+				,ShmOCPP16Data->BootNotification.CpImsi);
+
 	random_uuid(guid);
 
 	sprintf(message,"[%d,\"%s\",\"%s\",%s]",MESSAGE_TYPE_CALL, guid, "BootNotification", payload);
@@ -7990,14 +8001,16 @@ int handleReserveNowTransactionRequest(char *uuid, char *payload)
 	sstr[c] = '\0';
 	reservationIdInt = atoi(sstr);
 
+	strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Rejected]);
+
+
 	if(reservationIdInt == 0)
 	{
 		//reservationId's value can not be 0
-		strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Rejected]);
+		//strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Rejected]);
 		goto end;
 	}
 
-	strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Rejected]);
 
 	/*
 	enum SYSTEM_STATUS
@@ -8054,7 +8067,7 @@ int handleReserveNowTransactionRequest(char *uuid, char *payload)
 								strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Unavailable]);
 
 							}
-							else if(ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == SYS_MODE_PREPARING) //S_PRECHARGE
+							else if((ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == SYS_MODE_PREPARING) || (ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].SystemStatus == SYS_MODE_RESERVATION) ) //S_PRECHARGE
 							{
 								strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Occupied]);
 							}
@@ -8098,7 +8111,7 @@ int handleReserveNowTransactionRequest(char *uuid, char *payload)
 							{
 								strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Unavailable]);
 							}
-							else if(ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus == SYS_MODE_PREPARING) //S_PRECHARGE
+							else if((ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus == SYS_MODE_PREPARING) || (ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].SystemStatus == SYS_MODE_RESERVATION)) //S_PRECHARGE
 							{
 								strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Occupied]);
 							}
@@ -8143,7 +8156,7 @@ int handleReserveNowTransactionRequest(char *uuid, char *payload)
 							{
 								strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Unavailable]);
 							}
-							else if(ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus == SYS_MODE_PREPARING) //S_PRECHARGE
+							else if((ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus == SYS_MODE_PREPARING) || (ShmSysConfigAndInfo->SysInfo.GbChargingData[index].SystemStatus == SYS_MODE_RESERVATION) ) //S_PRECHARGE
 							{
 								strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Occupied]);
 							}
@@ -8190,7 +8203,7 @@ int handleReserveNowTransactionRequest(char *uuid, char *payload)
 								strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Unavailable]);
 
 							}
-							else if(ShmSysConfigAndInfo->SysInfo.AcChargingData[index].SystemStatus == SYS_MODE_PREPARING) //S_PRECHARGE
+							else if((ShmSysConfigAndInfo->SysInfo.AcChargingData[index].SystemStatus == SYS_MODE_PREPARING) || (ShmSysConfigAndInfo->SysInfo.AcChargingData[index].SystemStatus == SYS_MODE_RESERVATION) ) //S_PRECHARGE
 							{
 								strcpy(comfirmstr, ReservationStatusStr[ReservationStatus_Occupied]);
 							}

+ 1 - 1
EVSE/Modularization/ocppfiles/Module_OcppBackend.c

@@ -318,7 +318,7 @@ char *random_uuid( char buf[37] )
     //printf("\n testnum:%d\n", testnum);
     //printf("\n seconds:%d\n", seconds);
 
-    sprintf(p, "%03d%034d", testnum, (unsigned int)(seconds));
+    sprintf(p, "%03d%033d", testnum, (unsigned int)(seconds));
     //printf("\n p:%s\n", p);
 #endif
 #if 0