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

[Improve][AW-CCS][main.c]
2022-06-06 / EASON YANG
Action
1. Improve: ocpp_set_starttransaction_req() function. Sending messages to maintain server.
2. Improve: ocpp_set_starttransaction_conf() function. Sending messages to maintain server.
3. Imprvoe: ocpp_set_stoptransaction_req() function. Sending messages to maintain server.
4. Improve: ocpp_set_stoptransaction_conf() function. Sendinf messages to maintain server.
5. Improve: ocpp_copy_userid_to_starttransaction() function. Sending messages to maintain server.
6. Imrpvoe: checkTask() function . Sending messages to maintain server.

File
1. main.c
Action 1
Action 2
Action 3
Action 4
Action 5
Action 6

FIRMWARE VERSION: B0.62.XX.XXXX.PX

8009 2 жил өмнө
parent
commit
7a732b9512

+ 41 - 1
EVSE/Projects/AW-CCS/Apps/main.c

@@ -892,6 +892,12 @@ void ocpp_set_starttransaction_req(uint8_t gun_index, uint8_t status)
 		if(ShmOCPP20Data->CpMsg.bits[gun_index].TransactionEventReq != status)
 			ShmOCPP20Data->CpMsg.bits[gun_index].TransactionEventReq = status;
 	}
+
+	if(strcmp((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL,"") != 0)
+	{
+		if(ShmOCPP16DataPH->CpMsg.bits[gun_index].StartTransactionReq != status)
+			ShmOCPP16DataPH->CpMsg.bits[gun_index].StartTransactionReq = status;
+	}
 }
 
 void ocpp_set_starttransaction_conf(uint8_t gun_index, uint8_t status)
@@ -906,6 +912,12 @@ void ocpp_set_starttransaction_conf(uint8_t gun_index, uint8_t status)
 		if(ShmOCPP20Data->CpMsg.bits[gun_index].TransactionEventConf != status)
 			ShmOCPP20Data->CpMsg.bits[gun_index].TransactionEventConf = status;
 	}
+
+	if(strcmp((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL,"") != 0)
+	{
+		if(ShmOCPP16DataPH->CpMsg.bits[gun_index].StartTransactionConf != status)
+			ShmOCPP16DataPH->CpMsg.bits[gun_index].StartTransactionConf = status;
+	}
 }
 
 void ocpp_set_stoptransaction_req(uint8_t gun_index, uint8_t status)
@@ -920,6 +932,12 @@ void ocpp_set_stoptransaction_req(uint8_t gun_index, uint8_t status)
 		if(ShmOCPP20Data->CpMsg.bits[gun_index].TransactionEventReq != status)
 			ShmOCPP20Data->CpMsg.bits[gun_index].TransactionEventReq = status;
 	}
+
+	if(strcmp((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL,"") != 0)
+	{
+		if(ShmOCPP16DataPH->CpMsg.bits[gun_index].StopTransactionReq != status)
+			ShmOCPP16DataPH->CpMsg.bits[gun_index].StopTransactionReq = status;
+	}
 }
 
 void ocpp_set_stoptransaction_conf(uint8_t gun_index, uint8_t status)
@@ -938,6 +956,14 @@ void ocpp_set_stoptransaction_conf(uint8_t gun_index, uint8_t status)
 			ShmOCPP20Data->CpMsg.bits[gun_index].TransactionEventConf = status;
 		}
 	}
+
+	if(strcmp((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL,"") != 0)
+	{
+		if(ShmOCPP16DataPH->CpMsg.bits[gun_index].StopTransactionConf != status)
+		{
+			ShmOCPP16DataPH->CpMsg.bits[gun_index].StopTransactionConf = status;
+		}
+	}
 }
 
 void ocpp_copy_userid_to_starttransaction(uint8_t gun_index)
@@ -950,6 +976,11 @@ void ocpp_copy_userid_to_starttransaction(uint8_t gun_index)
 	{
 		memcpy((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.idToken, (char*)ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartUserId, ARRAY_SIZE(ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartUserId));
 	}
+
+	if(strcmp((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL,"") != 0)
+	{
+		memcpy((char*)ShmOCPP16DataPH->StartTransaction[gun_index].IdTag, (char*)ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartUserId, ARRAY_SIZE(ShmOCPP16DataPH->StartTransaction[gun_index].IdTag));
+	}
 }
 
 uint8_t ocpp_get_starttransaction_result(uint8_t gun_index)
@@ -4119,7 +4150,7 @@ void checkTask()
 		}
 	}
 
-	if((strcmp((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL,"") != 0))
+	if(strcmp((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL,"") != 0)
 	{
 		if(system("pidof -s OcppBackendPH > /dev/null") != 0)
 		{
@@ -4781,6 +4812,15 @@ void checkStopReason(uint8_t gun_index)
 		
 		ShmOCPP20Data->CpMsg.bits[gun_index].TransactionEventReq = ON;
 	}
+
+	// Maintain server
+	if(strcmp((char *)&ShmSysConfigAndInfo->SysConfig.MaintainServerURL,"") != 0)
+	{
+		memcpy(ShmOCPP16DataPH->StopTransaction[gun_index].StopReason, ShmOCPP16Data->StopTransaction[gun_index].StopReason, ARRAY_SIZE(ShmOCPP16Data->StopTransaction[gun_index].StopReason));
+		memcpy(ShmOCPP16DataPH->StopTransaction[gun_index].IdTag, ShmOCPP16Data->StopTransaction[gun_index].IdTag, ARRAY_SIZE(ShmOCPP16Data->StopTransaction[gun_index].IdTag));
+
+		ShmOCPP16DataPH->CpMsg.bits[gun_index].StopTransactionReq = ON;
+	}
 }
 
 void checkRemoteUpgradeStatus()