Просмотр исходного кода

[Add][Modularization][Module_Ocppbackend20]

2021.09.06 / Folus Wen

Actions:
1. define.h add startIdType info to ChargeInfoData struct.
2. IdType synchronize from ChargeInfoData.

Files:
1. As follow commit history

Image version: D0.00.XX.XXXX.XX
Image checksum: XXXXXXXX

Hardware PWB P/N : XXXXXXX
Hardware Version : XXXXXXX
FolusWen 3 лет назад
Родитель
Сommit
26f36b2490

+ 5 - 5
EVSE/Modularization/ocpp20/MessageHandler.c

@@ -9575,7 +9575,7 @@ int sendTransactionEventRequest(int gun_index)
 					{
 						random_uuid((char*)ShmOCPP20Data->TransactionEvent[gun_index].transactionInfo.transactionId);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.idToken, "%s", ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].StartUserId);
-						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", ShmOCPP20Data->Authorize.idToken.type);
+						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", IdTokenEnumTypeStr[ShmSysConfigAndInfo->SysInfo.ChademoChargingData[index].StartIdType]);
 						storeTempStopTransaction(gun_index);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].eventType, "%s", TransactionEventEnumTypeStr[TransactionEventEnumType_Started]);
 					}
@@ -9691,7 +9691,7 @@ int sendTransactionEventRequest(int gun_index)
 					{
 						random_uuid((char*)ShmOCPP20Data->TransactionEvent[gun_index].transactionInfo.transactionId);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.idToken, "%s", ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].StartUserId);
-						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", ShmOCPP20Data->Authorize.idToken.type);
+						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", IdTokenEnumTypeStr[ShmSysConfigAndInfo->SysInfo.CcsChargingData[index].StartIdType]);
 						storeTempStopTransaction(gun_index);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].eventType, "%s", TransactionEventEnumTypeStr[TransactionEventEnumType_Started]);
 					}
@@ -9806,7 +9806,7 @@ int sendTransactionEventRequest(int gun_index)
 					{
 						random_uuid((char*)ShmOCPP20Data->TransactionEvent[gun_index].transactionInfo.transactionId);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.idToken, "%s", ShmSysConfigAndInfo->SysInfo.GbChargingData[index].StartUserId);
-						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", ShmOCPP20Data->Authorize.idToken.type);
+						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", IdTokenEnumTypeStr[ShmSysConfigAndInfo->SysInfo.GbChargingData[index].StartIdType]);
 						storeTempStopTransaction(gun_index);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].eventType, "%s", TransactionEventEnumTypeStr[TransactionEventEnumType_Started]);
 					}
@@ -9914,7 +9914,7 @@ int sendTransactionEventRequest(int gun_index)
 					{
 						random_uuid((char*)ShmOCPP20Data->TransactionEvent[gun_index].transactionInfo.transactionId);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.idToken, "%s", ShmSysConfigAndInfo->SysInfo.ConnectorInfo[index].GeneralChargingData.StartUserId);
-						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", ShmOCPP20Data->Authorize.idToken.type);
+						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", IdTokenEnumTypeStr[ShmSysConfigAndInfo->SysInfo.ConnectorInfo[index].GeneralChargingData.StartIdType]);
 						storeTempStopTransaction(gun_index);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].eventType, "%s", TransactionEventEnumTypeStr[TransactionEventEnumType_Started]);
 					}
@@ -10028,7 +10028,7 @@ int sendTransactionEventRequest(int gun_index)
 					{
 						random_uuid((char*)ShmOCPP20Data->TransactionEvent[gun_index].transactionInfo.transactionId);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.idToken, "%s", ShmSysConfigAndInfo->SysInfo.AcChargingData[index].StartUserId);
-						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", ShmOCPP20Data->Authorize.idToken.type);
+						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].idToken.type, "%s", IdTokenEnumTypeStr[ShmSysConfigAndInfo->SysInfo.AcChargingData[index].StartIdType]);
 						storeTempStopTransaction(gun_index);
 						sprintf((char*)ShmOCPP20Data->TransactionEvent[gun_index].eventType, "%s", TransactionEventEnumTypeStr[TransactionEventEnumType_Started]);
 					}

+ 6 - 0
EVSE/Projects/AW-CCS/Apps/main.c

@@ -5020,11 +5020,13 @@ int main(void)
 						if((ShmCharger->gun_info[gun_index].rfidReq == ON))
 						{
 							ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartMethod = START_METHOD_RFID;
+							ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartIdType = IdTokenType_ISO14443;
 							DEBUG_INFO("Start Method : RFID...\n");
 						}
 						else if(ocpp_get_remotestart(gun_index))
 						{
 							ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartMethod = START_METHOD_BACKEND;
+							ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartIdType = IdTokenType_Central;
 							ocpp_copy_userid_from_remotestart(gun_index);
 							setSpeaker(ON, SPEAKER_SHORT);
 							DEBUG_INFO("Start Method : BACKEND...\n");
@@ -5032,6 +5034,7 @@ int main(void)
 						else if(ShmCharger->gun_info[gun_index].bleConfigData.isRequestStart == ON)
 						{
 							ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartMethod = START_METHOD_BLE;
+							ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartIdType = IdTokenType_Local;
 							memcpy(ShmSysConfigAndInfo->SysConfig.UserId, ShmCharger->gun_info[gun_index].bleLoginCentralId.id, ARRAY_SIZE(ShmCharger->gun_info[gun_index].bleLoginCentralId.id));
 							setSpeaker(ON, SPEAKER_SHORT);
 							DEBUG_INFO("Start Method : BLE...\n");
@@ -5039,6 +5042,7 @@ int main(void)
 						else
 						{
 							ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartMethod = START_METHOD_FREE;
+							ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartIdType = IdTokenType_NoAuthorization;
 							memcpy(ShmSysConfigAndInfo->SysConfig.UserId, ShmSysConfigAndInfo->SysConfig.SerialNumber, ARRAY_SIZE(ShmSysConfigAndInfo->SysConfig.SerialNumber));
 							setSpeaker(ON, SPEAKER_SHORT);
 							DEBUG_INFO("Start Method : FREE...\n");
@@ -6037,6 +6041,7 @@ int main(void)
 									DEBUG_INFO("Start Method in reservation : RFID...\n");
 									DEBUG_INFO("Start request User Id : %s\n", ShmSysConfigAndInfo->SysConfig.UserId);
 									ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartMethod = START_METHOD_RFID;
+									ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartIdType = IdTokenType_ISO14443;
 									setChargerMode(gun_index, SYS_MODE_AUTHORIZING);
 								}
 								else
@@ -6050,6 +6055,7 @@ int main(void)
 								{
 									DEBUG_INFO("Start Method in reservation: BACKEND...\n");
 									ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartMethod = START_METHOD_BACKEND;
+									ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StartIdType = IdTokenType_Central;
 									setChargerMode(gun_index, SYS_MODE_AUTHORIZING);
 								}
 								ocpp_set_remotestop(gun_index, OFF);

+ 12 - 0
EVSE/Projects/define.h

@@ -304,6 +304,17 @@ enum OCPP_RUNNING_VERSION {
     OCPP_RUNNING_VERSION_16=0,
     OCPP_RUNNING_VERSION_20
 };
+
+enum OCPP_START_ID_TYPE {
+	IdTokenType_Central=0,
+	IdTokenType_eMAID,
+	IdTokenType_ISO14443,
+	IdTokenType_KeyCode,
+	IdTokenType_Local,
+	IdTokenType_NoAuthorization,
+	IdTokenType_ISO15693
+};
+
 /**************************************************************************************/
 /****structure SysConfigData => shall store the data to NAND flash****************/
 /****structure SysInfoData => shall NOT store the data to NAND flash***************/
@@ -566,6 +577,7 @@ struct ChargingInfoData
 	unsigned char PilotState;//1:state A, 2:State B1, 3:State B2, 4:State C, 5:State D, 6:State E, 7:State F, 8: Pilot error
 	unsigned char PilotDuty;					// 0~100%
 	unsigned char			StartUserId[32];			// This ID is trigger start charging event user by RFID, back-end, BLE.
+	unsigned char			StartIdType;				// 0: Central	1: eMAID	2: ISO14443	3: ISO15693	4: KeyCode	5: Local	6: MaxAddress	7: NoAuthorization
 	unsigned char			StartDateTime[32];			// Charging cycle start date time
 	unsigned char			StopDateTime[32];			// Charging cycle stop date time
 	unsigned char			StartMethod;