|
@@ -155,10 +155,10 @@ Storage 0x0A200000-0x7FFFFFFF 1886 MB
|
|
|
#define ONE_CONNECTOR_USE 0
|
|
|
#elif defined Emulator
|
|
|
#define MAX_PSU_QUANTITY 62
|
|
|
- #define CHAdeMO_QUANTITY 3
|
|
|
- #define CCS_QUANTITY 3
|
|
|
- #define GB_QUANTITY 3
|
|
|
- #define AC_QUANTITY 3
|
|
|
+ #define CHAdeMO_QUANTITY 2
|
|
|
+ #define CCS_QUANTITY 2
|
|
|
+ #define GB_QUANTITY 2
|
|
|
+ #define AC_QUANTITY 2
|
|
|
#define GENERAL_GUN_QUANTITY 0
|
|
|
#define PSU_QUANTITY 2
|
|
|
#define ONE_CONNECTOR_USE 0
|
|
@@ -344,6 +344,8 @@ enum CoreProfile {
|
|
|
EVCCID_PREFIX,
|
|
|
OffLineMaxChargingPower,
|
|
|
ConfigurationVersion,
|
|
|
+ CharingProfileRefreshInterval,
|
|
|
+ OcppSoftwareVersion,
|
|
|
_CoreProfile_CNT
|
|
|
};
|
|
|
|
|
@@ -1082,6 +1084,7 @@ struct SysInfoData
|
|
|
struct LCD_OVERRIDE LcdOveride; // LCD override info (no use anymore)
|
|
|
struct BAZEL8 bazel8; // Bazel8 payment used
|
|
|
struct Enegate enegate; // Enegate payment used
|
|
|
+ unsigned char PsuLostQuantity;
|
|
|
};
|
|
|
|
|
|
struct SysConfigAndInfo
|
|
@@ -1641,7 +1644,7 @@ char InfoStatusCode[384][6]=
|
|
|
"013626", //disconnected from APN through 3G/4G
|
|
|
"013627", //WiFi disabled (separated charger only)
|
|
|
"013628", //4G disabled (separated charger only)
|
|
|
- "013629", //Reserved
|
|
|
+ "013629", //Psu Quantity Not Match
|
|
|
"013630", //Reserved
|
|
|
"013631", //Reserved
|
|
|
//Information comes from EV
|
|
@@ -1664,7 +1667,7 @@ char InfoStatusCode[384][6]=
|
|
|
"023716", //CHAdeMO: connector temperature sensor broken
|
|
|
"023717", //CHAdeMO: connector lock fail
|
|
|
"023718", //CHAdeMO: D1 ON No Receive
|
|
|
- "023719", //CHAdeMO: BMS K to J Timeout
|
|
|
+ "023719", //CHAdeMO: Permission ON but charge sequence timeout
|
|
|
"023720", //CHAdeMO: BMS Charge Allow Timeout
|
|
|
"023721", //CHAdeMO: Wait GroundFault Timeout
|
|
|
"023722", //CHAdeMO: BMS EV Relay Timeout
|
|
@@ -1984,7 +1987,8 @@ struct InfoCodeData
|
|
|
unsigned char ApnDisconnectVia4Gi:1; //bit 2
|
|
|
unsigned char WiFiDisable:1; //bit 3
|
|
|
unsigned char Telocom4GModuleDisable:1; //bit 4
|
|
|
- unsigned char :3; //bit 5~7 reserved
|
|
|
+ unsigned char PsuQuantityNotMatch:1; //bit 5
|
|
|
+ unsigned char :2; //bit 6~7 reserved
|
|
|
//InfoVal[4]
|
|
|
unsigned char ChademoEvCommFail:1; //bit 0
|
|
|
unsigned char CcsEvCommFail:1; //bit 1
|
|
@@ -2387,6 +2391,7 @@ struct PsuGroupData
|
|
|
/*Following is the information for system all PSU*/
|
|
|
struct PsuData
|
|
|
{
|
|
|
+ unsigned char SystemInitialPsuQuantity; // psu quantity after ac/dc contactor on
|
|
|
unsigned char SystemPresentPsuQuantity;
|
|
|
unsigned short SystemAvailableCurrent; //abcd=abc.d amp
|
|
|
unsigned int SystemAvailablePower; //Watt
|
|
@@ -2420,6 +2425,7 @@ struct DynamicReleaseCtrl
|
|
|
unsigned char ReleaseLoopStep; // 0 : None, 1 : Limit Pwr, 2 : Pwr OFF, 3. RCB OFF, 4. Finish
|
|
|
float CheckOutPwrIsStable;// 0.1kw
|
|
|
unsigned char TargetRelay; // 255 : None
|
|
|
+ unsigned char AutoRelease;
|
|
|
|
|
|
float LimitCurCap; // Inform 0.1A
|
|
|
float LimitPwrCap; // Inform 0.1kw
|
|
@@ -4784,6 +4790,15 @@ struct StructTcciCustomData
|
|
|
unsigned char ChargerInfoConf:1;
|
|
|
unsigned char WeatherInfoReq:1;
|
|
|
unsigned char WeatherInfoConf:1;
|
|
|
+ unsigned char :3; // bit 5-7 , reserved
|
|
|
+};
|
|
|
+
|
|
|
+struct OCMFData
|
|
|
+{
|
|
|
+ unsigned char SendOcmfDataReq:1; // bit 0 , Flag to ask OCPP sending OCMF message to backend.
|
|
|
+ unsigned char :7; // bit 1-7 , reserved
|
|
|
+ unsigned char DataString[2048]; // Data got from meter.
|
|
|
+ unsigned char PublicKey[256]; // PublicKey with header got from meter.
|
|
|
};
|
|
|
|
|
|
struct OCPP16Data
|
|
@@ -4793,7 +4808,7 @@ struct OCPP16Data
|
|
|
unsigned char OcppConnStatus; //0: disconnected, 1: connected
|
|
|
unsigned int Timeout_Secs;
|
|
|
unsigned short Ping_Pong_Interval;
|
|
|
- unsigned int procDogTime; // Process watch dog refresh timer
|
|
|
+ long int procDogTime; // Process watch dog refresh timer
|
|
|
union
|
|
|
{
|
|
|
//Operations Initiated by Charge Point
|
|
@@ -4976,6 +4991,7 @@ struct OCPP16Data
|
|
|
struct StructSignedFirmwareStatusNotification SignedFirmwareStatusNotification;
|
|
|
struct StructSessionTarget SessionTarget[CONNECTOR_QUANTITY];
|
|
|
struct StructTcciCustomData TcciCustomData;
|
|
|
+ struct OCMFData OcmfData[CONNECTOR_QUANTITY];
|
|
|
};
|
|
|
|
|
|
|
|
@@ -5072,6 +5088,7 @@ enum OCPP20CtrlrVariable
|
|
|
OCPPCommCtrlr_PublicKeyWithSignedMeterValue,
|
|
|
OCPPCommCtrlr_StatusNotificationPeriodically,
|
|
|
OCPPCommCtrlr_StatusNotificationInterval,
|
|
|
+ OCPPCommCtrlr_CharingProfileRefreshInterval,
|
|
|
OCPPCommCtrlr_VariableVersion,
|
|
|
ReservationCtrlr_Enabled,
|
|
|
ReservationCtrlr_Available,
|
|
@@ -5146,7 +5163,7 @@ struct DCChargingParametersType
|
|
|
struct AdditionalInfoType
|
|
|
{
|
|
|
unsigned char additionalIdToken[37]; // Required. This field specifies the additional IdToken.
|
|
|
- unsigned char type[50]; // Required. This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties.
|
|
|
+ unsigned char type[51]; // Required. This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties.
|
|
|
};
|
|
|
|
|
|
struct APNType
|
|
@@ -5174,13 +5191,14 @@ struct GroupIdTokenType
|
|
|
{
|
|
|
unsigned char idToken[37]; // Required. IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.
|
|
|
unsigned char type[16]; // Required. Enumeration of possible idToken types.
|
|
|
+ //struct AdditionalInfoType additionalInfo[10]; // Optional. AdditionalInfo can be used to send extra information which can be validated by the CSMS in addition to the regular authorization with IdToken.
|
|
|
};
|
|
|
|
|
|
struct MessageContentType
|
|
|
{
|
|
|
unsigned char format[8]; // Required. Format of the message.
|
|
|
- unsigned char language[8]; // Optional. Message language identifier. Contains a language code as defined in [RFC5646].
|
|
|
- unsigned char content[512]; // Required. Message contents.
|
|
|
+ unsigned char language[9]; // Optional. Message language identifier. Contains a language code as defined in [RFC5646].
|
|
|
+ unsigned char content[513]; // Required. Message contents.
|
|
|
};
|
|
|
|
|
|
struct IdTokenInfoType
|
|
@@ -5188,9 +5206,9 @@ struct IdTokenInfoType
|
|
|
unsigned char status[32]; // Required. Current status of the ID Token.
|
|
|
unsigned char cacheExpiryDateTime[28]; // Optional. Date and Time after which the token must be considered invalid.
|
|
|
short int chargingPriority; // Optional. Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority.
|
|
|
- unsigned char language1[8]; // Optional. Preferred user interface language of identifier user. Contains a language code as defined in [RFC5646].
|
|
|
+ unsigned char language1[9]; // Optional. Preferred user interface language of identifier user. Contains a language code as defined in [RFC5646].
|
|
|
unsigned int evseId[100]; // Optional. Only used when the IdToken is only valid for one or more specific EVSEs, not for the entire Charging Station.
|
|
|
- unsigned char language2[8]; // Optional. Second preferred user interface language of identifier user. Don’t use when language1 is omitted, has to be different from language1.
|
|
|
+ unsigned char language2[9]; // Optional. Second preferred user interface language of identifier user. Don’t use when language1 is omitted, has to be different from language1.
|
|
|
struct GroupIdTokenType groupIdToken; // Optional. This contains the group identifier.
|
|
|
struct MessageContentType personalMessage; // Optional. Personal message that can be shown to the EV Driver and can be used for tariff information, user greetings etc.
|
|
|
};
|
|
@@ -5248,6 +5266,7 @@ struct CostTypeOCPP
|
|
|
{
|
|
|
unsigned char costKind[36]; // Required. The kind of cost referred to in the message element amount
|
|
|
int amount; // Required. The estimated or actual cost per kWh
|
|
|
+ int amountMultiplier; // Optional. Values: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier
|
|
|
};
|
|
|
|
|
|
struct ConsumptionCostTypeOCPP
|
|
@@ -5487,10 +5506,10 @@ struct NetworkConnectionProfileType
|
|
|
struct OCSPRequestDataType
|
|
|
{
|
|
|
unsigned char hashAlgorithm[8]; // Required. Used algorithms for the hashes provided.
|
|
|
- unsigned char issuerNameHash[128]; // Required. hashed value of the IssuerName.
|
|
|
- unsigned char issuerKeyHash[128]; // Required. Hashed value of the issuers public key
|
|
|
- unsigned char serialNumber[40]; // Required. The serial number of the certificate.
|
|
|
- unsigned char responderURL[512]; // Required. This contains the responder URL (Case insensitive).
|
|
|
+ unsigned char issuerNameHash[129]; // Required. hashed value of the IssuerName.
|
|
|
+ unsigned char issuerKeyHash[129]; // Required. Hashed value of the issuers public key
|
|
|
+ unsigned char serialNumber[41]; // Required. The serial number of the certificate.
|
|
|
+ unsigned char responderURL[513]; // Required. This contains the responder URL (Case insensitive).
|
|
|
};
|
|
|
|
|
|
struct ReportDataType
|
|
@@ -5557,6 +5576,7 @@ struct StatusInfoType
|
|
|
*/
|
|
|
struct Authorize_20
|
|
|
{
|
|
|
+ unsigned char certificate[5601]; // Optional. The X.509 certificated presented by EV for authorization.
|
|
|
struct IdTokenType idToken; // Required. This contains the identifier that needs to be authorized.
|
|
|
struct OCSPRequestDataType iso15118CertificateHashData[4]; // Optional. Contains the information needed to verify the EV Contract Certificate via OCSP.
|
|
|
unsigned char Response_certificateStatus[32]; // Optional. Certificate status information. - if all certificates are valid: return 'Accepted'. - if one of the certificates was revoked, return 'CertificateRevoked'.
|
|
@@ -5674,11 +5694,11 @@ struct FirmwareStatusNotification_20
|
|
|
|
|
|
struct Get15118EVCertificate_20
|
|
|
{
|
|
|
- unsigned char iso15118SchemaVersion[50]; // Required. Schema version currently used for the 15118 session between EV and Charging Station. Needed for parsing of the EXI stream by the CSMS.
|
|
|
+ unsigned char iso15118SchemaVersion[51]; // Required. Schema version currently used for the 15118 session between EV and Charging Station. Needed for parsing of the EXI stream by the CSMS.
|
|
|
unsigned char action[16]; // Required. Defines whether certificate needs to be installed or updated.
|
|
|
- unsigned char exiRequest[5600]; // Required. Raw CertificateInstallationReq request from EV, Base64 encoded.
|
|
|
+ unsigned char exiRequest[5601]; // Required. Raw CertificateInstallationReq request from EV, Base64 encoded.
|
|
|
unsigned char Response_status[16]; // Required. Indicates whether the message was processed properly.
|
|
|
- unsigned char Response_exiResponse[5600]; // Required. Raw CertificateInstallationRes response for the EV, Base64 encoded.
|
|
|
+ unsigned char Response_exiResponse[5601]; // Required. Raw CertificateInstallationRes response for the EV, Base64 encoded.
|
|
|
};
|
|
|
|
|
|
struct GetBaseReport_20
|
|
@@ -5839,6 +5859,7 @@ struct NotifyEVChargingNeeds_20
|
|
|
unsigned int evseId; // Required. Defines the EVSE and connector to which the EV is connected. EvseId may not be 0.
|
|
|
struct ChargingNeedsType chargingNeeds; // Required. The characteristics of the energy delivery required.
|
|
|
unsigned char Response_status[16]; // Required. Returns whether the CSMS has been able to process the message successfully. It does not imply that the evChargingNeeds can be met with the current charging profile.
|
|
|
+ struct StatusInfoType Response_statusInfo; // Optional. Detailed status information.
|
|
|
};
|
|
|
|
|
|
struct NotifyEVChargingSchedule_20
|
|
@@ -5847,6 +5868,7 @@ struct NotifyEVChargingSchedule_20
|
|
|
unsigned int evseId; // Required. The charging schedule contained in this notification applies to an EVSE. EvseId must be > 0.
|
|
|
struct ChargingScheduleType chargingSchedule; // Required. Planned energy consumption of the EV over time. Always relative to timeBase.
|
|
|
unsigned char Response_status[16]; // Required. Returns whether the CSMS has been able to process the message successfully. It does not imply any approval of the charging schedule.
|
|
|
+ struct StatusInfoType Response_statusInfo; // Optional. Detailed status information.
|
|
|
};
|
|
|
|
|
|
struct NotifyEvent_20
|
|
@@ -5969,6 +5991,7 @@ struct SetChargingProfile_20
|
|
|
struct ChargingProfileType chargingProfile; // Required. The charging profile to be set at the Charging Station.
|
|
|
unsigned char Response_status[16]; // Required. Returns whether the Charging Station has been able to process the message successfully. This does not guarantee the schedule will be followed to the letter. There might be other constraints the Charging Station may need to take into account.
|
|
|
unsigned char guid[37]; // Save guid from server request
|
|
|
+ struct StatusInfoType Response_statusInfo; // Optional. Detailed status information.
|
|
|
};
|
|
|
|
|
|
struct SetDisplayMessage_20
|
|
@@ -6097,7 +6120,7 @@ struct OCPP20Data
|
|
|
unsigned char OcppConnStatus; //0: disconnected, 1: connected
|
|
|
unsigned int Timeout_Secs;
|
|
|
unsigned short Ping_Pong_Interval;
|
|
|
- unsigned int procDogTime; // Process watch dog refresh timer
|
|
|
+ long int procDogTime; // Process watch dog refresh timer
|
|
|
struct ReportDataType ControllerComponentVariable[CtrlrVariable_CNT];
|
|
|
struct NetworkConnectionProfile_20 NetworkConnectionProfile[10];
|
|
|
|
|
@@ -6141,8 +6164,8 @@ struct OCPP20Data
|
|
|
unsigned char NotifyDisplayMessagesReq :1;
|
|
|
unsigned char NotifyDisplayMessagesConf :1;
|
|
|
|
|
|
- unsigned char NotifyEVChargingScheduleReq :1;
|
|
|
- unsigned char NotifyEVChargingScheduleConf :1;
|
|
|
+ unsigned char NotifyCustomerInformationReq :1;
|
|
|
+ unsigned char NotifyCustomerInformationConf :1;
|
|
|
unsigned char NotifyEventReq :1;
|
|
|
unsigned char NotifyEventConf :1;
|
|
|
unsigned char NotifyMonitoringReportReq :1;
|
|
@@ -6156,8 +6179,8 @@ struct OCPP20Data
|
|
|
unsigned char SecurityEventNotificationConf :1;
|
|
|
unsigned char SignCertificateReq :1;
|
|
|
unsigned char SignCertificateConf :1;
|
|
|
- unsigned char NotifyCustomerInformationReq :1; //bit 6
|
|
|
- unsigned char NotifyCustomerInformationConf :1; //bit 7
|
|
|
+ unsigned char :1; //bit 6
|
|
|
+ unsigned char :1; //bit 7
|
|
|
|
|
|
} bits;
|
|
|
} SpMsg;
|
|
@@ -6283,13 +6306,14 @@ struct OCPP20Data
|
|
|
struct
|
|
|
{
|
|
|
//CSUMsgValue[0]
|
|
|
- unsigned char ChargingProfileReq:1; //bit 0,
|
|
|
- unsigned char ChargingProfileConf:1; //bit 0,
|
|
|
- unsigned char ClearedChargingLimitReq :1;
|
|
|
- unsigned char ClearedChargingLimitConf :1;
|
|
|
- unsigned char NotifyEVChargingNeedsReq :1;
|
|
|
- unsigned char NotifyEVChargingNeedsConf :1;
|
|
|
- unsigned char :2; //bit 1,2,3,4,5,6,7 , reserved
|
|
|
+ unsigned char ChargingProfileReq:1; //bit 0
|
|
|
+ unsigned char ChargingProfileConf:1; //bit 1
|
|
|
+ unsigned char ClearedChargingLimitReq :1; //bit 2
|
|
|
+ unsigned char ClearedChargingLimitConf :1; //bit 3
|
|
|
+ unsigned char NotifyEVChargingNeedsReq :1; //bit 4
|
|
|
+ unsigned char NotifyEVChargingNeedsConf :1; //bit 5
|
|
|
+ unsigned char NotifyEVChargingScheduleReq:1; //bit 6
|
|
|
+ unsigned char NotifyEVChargingScheduleConf:1; //bit 7
|
|
|
} bits[CONNECTOR_QUANTITY];
|
|
|
}CSUMsg;
|
|
|
|