123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053 |
- #ifndef MessageHandler_H
- #define MessageHandler_H
- //===================================
- // Define SQLite file constant
- //===================================
- #define OCPP_LOCAL_DB_FILE "/Storage/OCPP/charger.db"
- //===================================
- // Define CP State constant
- //===================================
- #define CP_STATE_UNKNOWN 0
- #define CP_STATE_A 1
- #define CP_STATE_B 2
- #define CP_STATE_C 3
- #define CP_STATE_D 4
- #define CP_STATE_E 5
- #define CP_STATE_F 6
- //==========================================
- // Init all Enumeration & Mapping String
- //==========================================
- #define MACROSTR(k) #k
- /* Common Data Type */
- /*APNAuthenticationEnumType */
- typedef enum {
- APNAuthenticationEnumType_CHAP,
- APNAuthenticationEnumType_NONE,
- APNAuthenticationEnumType_PAP,
- APNAuthenticationEnumType_AUTO
- } APNAuthenticationEnumType;
- /* AttributeEnumType */
- typedef enum {
- AttributeEnumType_Actual,
- AttributeEnumType_Target,
- AttributeEnumType_MinSet,
- AttributeEnumType_MaxSet
- } AttributeEnumType;
- /* AuthorizationStatusEnumType */
- typedef enum {
- AuthorizationStatusEnumType_Accepted,
- AuthorizationStatusEnumType_Blocked,
- AuthorizationStatusEnumType_ConcurrentTx,
- AuthorizationStatusEnumType_Expired,
- AuthorizationStatusEnumType_Invalid,
- AuthorizationStatusEnumType_NoCredit,
- AuthorizationStatusEnumType_NotAllowedTypeEVSE,
- AuthorizationStatusEnumType_NotAtThisLocation,
- AuthorizationStatusEnumType_NotAtThisTime,
- AuthorizationStatusEnumType_Unknown
- } AuthorizationStatusEnumType;
- /* AuthorizeCertificateStatusEnumType */
- typedef enum {
- AuthorizeCertificateStatusEnumType_Accepted,
- AuthorizeCertificateStatusEnumType_SignatureError,
- AuthorizeCertificateStatusEnumType_CertificateExpired,
- AuthorizeCertificateStatusEnumType_CertificateRevoked
- } AuthorizeCertificateStatusEnumType;
- /* BootReasonEnumType */
- typedef enum {
- BootReasonEnumType_ApplicationReset,
- BootReasonEnumType_FirmwareUpdate,
- BootReasonEnumType_LocalReset,
- BootReasonEnumType_PowerUp,
- BootReasonEnumType_RemoteReset,
- BootReasonEnumType_ScheduledReset,
- BootReasonEnumType_Triggered,
- BootReasonEnumType_Unknown,
- BootReasonEnumType_Watchdog
- } BootReasonEnumType;
- /* SecurityEventEnumType */
- typedef enum {
- SecurityEventEnumType_FirmwareUpdated,
- SecurityEventEnumType_FailedToAuthenticateAtCsms,
- SecurityEventEnumType_CsmsFailedToAuthenticate,
- SecurityEventEnumType_SettingSystemTime,
- SecurityEventEnumType_StartupOfTheDevice,
- SecurityEventEnumType_ResetOrReboot,
- SecurityEventEnumType_SecurityLogWasCleared,
- SecurityEventEnumType_ReconfigurationOfSecurityParameters,
- SecurityEventEnumType_MemoryExhaustion,
- SecurityEventEnumType_InvalidMessages,
- SecurityEventEnumType_AttemptedReplayAttacks,
- SecurityEventEnumType_TamperDetectionActivated,
- SecurityEventEnumType_InvalidFirmwareSignature,
- SecurityEventEnumType_InvalidFirmwareSigningCertificate,
- SecurityEventEnumType_InvalidCsmsCertificate,
- SecurityEventEnumType_InvalidChargingStationCertificate,
- SecurityEventEnumType_InvalidTLSVersion,
- SecurityEventEnumType_InvalidTLSCipherSuite
- } SecurityEventEnumType;
- /* CancelReservationStatusEnumType */
- typedef enum {
- CancelReservationStatusEnumType_Accepted,
- CancelReservationStatusEnumType_Rejected
- } CancelReservationStatusEnumType;
- /* CertificateActionEnumType */
- typedef enum {
- CertificateActionEnumType_Install,
- CertificateActionEnumType_Update
- } CertificateActionEnumType;
- /* CertificateSignedStatusEnumType */
- typedef enum {
- CertificateSignedStatusEnumType_Accepted,
- CertificateSignedStatusEnumType_Rejected
- } CertificateSignedStatusEnumType;
- /* CertificateSignedStatusEnumType */
- typedef enum {
- CertificateSignedStatusEnumType_ChargingStationCertificate,
- CertificateSignedStatusEnumType_V2GCertificate
- } CertificateSigningUseEnumType;
- /* ChangeAvailabilityStatusEnumType */
- typedef enum {
- ChangeAvailabilityStatusEnumType_Accepted,
- ChangeAvailabilityStatusEnumType_Rejected,
- ChangeAvailabilityStatusEnumType_Scheduled
- } ChangeAvailabilityStatusEnumType;
- /* ChargingLimitSourceEnumType */
- typedef enum {
- ChargingLimitSourceEnumType_EMS,
- ChargingLimitSourceEnumType_Other,
- ChargingLimitSourceEnumType_SO,
- ChargingLimitSourceEnumType_CSO
- } ChargingLimitSourceEnumType;
- /* ChargingProfileKindEnumType */
- typedef enum {
- ChargingProfileKindEnumType_Absolute,
- ChargingProfileKindEnumType_Recurring,
- ChargingProfileKindEnumType_Relative
- } ChargingProfileKindEnumType;
- /* ChargingProfilePurposeEnumType */
- typedef enum {
- ChargingProfilePurposeEnumType_ChargingStationExternalConstraints,
- ChargingProfilePurposeEnumType_ChargingStationMaxProfile,
- ChargingProfilePurposeEnumType_TxDefaultProfile,
- ChargingProfilePurposeEnumType_TxProfile
- } ChargingProfilePurposeEnumType;
- /* ChargingProfileStatusEnumType */
- typedef enum {
- ChargingProfileStatusEnumType_Accepted,
- ChargingProfileStatusEnumType_Rejected
- } ChargingProfileStatusEnumType;
- /* ChargingRateUnitEnumType */
- typedef enum {
- ChargingRateUnitEnumType_W,
- ChargingRateUnitEnumType_A
- } ChargingRateUnitEnumType;
- /* ChargingStateEnumType */
- typedef enum {
- ChargingStateEnumType_Charging,
- ChargingStateEnumType_EVConnected,
- ChargingStateEnumType_SuspendedEV,
- ChargingStateEnumType_SuspendedEVSE,
- ChargingStateEnumType_Idle
- }ChargingStateEnumType;
- /* ClearCacheStatusEnumType */
- typedef enum {
- ClearCacheStatusEnumType_Accepted,
- ClearCacheStatusEnumType_Rejected
- } ClearCacheStatusEnumType;
- /* ClearChargingProfileStatusEnumType */
- typedef enum {
- ClearChargingProfileStatusEnumType_Accepted,
- ClearChargingProfileStatusEnumType_Unknown
- } ClearChargingProfileStatusEnumType;
- /* ClearMessageStatusEnumType */
- typedef enum {
- ClearMessageStatusEnumType_Accepted,
- ClearMessageStatusEnumType_Unknown
- } ClearMessageStatusEnumType;
- /* ClearMonitoringStatusEnumType */
- typedef enum {
- ClearMonitoringStatusEnumType_Accepted,
- ClearMonitoringStatusEnumType_Rejected,
- ClearMonitoringStatusEnumType_NotFound
- } ClearMonitoringStatusEnumType;
- /* ComponentCriterionEnumType */
- typedef enum {
- ComponentCriterionEnumType_Active,
- ComponentCriterionEnumType_Available,
- ComponentCriterionEnumType_Enabled,
- ComponentCriterionEnumType_Problem
- } ComponentCriterionEnumType;
- /* ConnectorEnumType */
- typedef enum {
- ConnectorEnumType_cCCS1,
- ConnectorEnumType_cCCS2,
- ConnectorEnumType_cG105,
- ConnectorEnumType_cTesla,
- ConnectorEnumType_cType1,
- ConnectorEnumType_cType2,
- ConnectorEnumType_s309_1P_16A,
- ConnectorEnumType_s309_1P_32A,
- ConnectorEnumType_s309_3P_16A,
- ConnectorEnumType_s309_3P_32A,
- ConnectorEnumType_sBS1361,
- ConnectorEnumType_sCEE_7_7,
- ConnectorEnumType_sType2,
- ConnectorEnumType_sType3,
- ConnectorEnumType_Other1PhMax16A,
- ConnectorEnumType_Other1PhOver16A,
- ConnectorEnumType_Other3Ph,
- ConnectorEnumType_Pan,
- ConnectorEnumType_wInductive,
- ConnectorEnumType_wResonant,
- ConnectorEnumType_Undetermined,
- ConnectorEnumType_Unknown
- } ConnectorEnumType;
- /* ConnectorStatusEnumType */
- typedef enum {
- ConnectorStatusEnumType_Available,
- ConnectorStatusEnumType_Occupied,
- ConnectorStatusEnumType_Reserved,
- ConnectorStatusEnumType_Unavailable,
- ConnectorStatusEnumType_Faulted
- } ConnectorStatusEnumType;
- /* CostKindEnumType */
- typedef enum {
- CostKindEnumType_CarbonDioxideEmission,
- CostKindEnumType_RelativePricePercentage,
- CostKindEnumType_RenewableGenerationPercentage
- } CostKindEnumType;
- /* CustomerInformationStatusEnumType */
- typedef enum {
- CustomerInformationStatusEnumType_Accepted,
- CustomerInformationStatusEnumType_Rejected,
- CustomerInformationStatusEnumType_Invalid
- } CustomerInformationStatusEnumType;
- /* DataEnumType */
- typedef enum {
- DataEnumType_string,
- DataEnumType_decimal,
- DataEnumType_integer,
- DataEnumType_dateTime,
- DataEnumType_boolean,
- DataEnumType_OptionList,
- DataEnumType_SequenceList,
- DataEnumType_MemberList
- } DataEnumType;
- /* DataTransferStatusEnumType */
- typedef enum {
- DataTransferStatusEnumType_Accepted,
- DataTransferStatusEnumType_Rejected,
- DataTransferStatusEnumType_UnknownMessageId,
- DataTransferStatusEnumType_UnknownVendorId
- } DataTransferStatusEnumType;
- /* DeleteCertificateStatusEnumType */
- typedef enum {
- DeleteCertificateStatusEnumType_Accepted,
- DeleteCertificateStatusEnumType_Failed,
- DeleteCertificateStatusEnumType_NotFound
- } DeleteCertificateStatusEnumType;
- /* DisplayMessageStatusEnumType */
- typedef enum {
- DisplayMessageStatusEnumType_Accepted,
- DisplayMessageStatusEnumType_NotSupportedMessageFormat,
- DisplayMessageStatusEnumType_Rejected,
- DisplayMessageStatusEnumType_NotSupportedPriority,
- DisplayMessageStatusEnumType_NotSupportedState,
- DisplayMessageStatusEnumType_UnknownTransaction
- } DisplayMessageStatusEnumType;
- /* EnergyTransferModeEnumType */
- typedef enum {
- EnergyTransferModeEnumType_DC,
- EnergyTransferModeEnumType_AC_single_phase,
- EnergyTransferModeEnumType_AC_two_phase,
- EnergyTransferModeEnumType_AC_three_phase
- } EnergyTransferModeEnumType;
- /* EventNotificationEnumType */
- typedef enum {
- EventNotificationEnumType_HardWiredNotification,
- EventNotificationEnumType_HardWiredMonitor,
- EventNotificationEnumType_PreconfiguredMonitor,
- EventNotificationEnumType_CustomMonitor
- } EventNotificationEnumType;
- /* EventTriggerEnumType */
- typedef enum {
- EventTriggerEnumType_Alerting,
- EventTriggerEnumType_Delta,
- EventTriggerEnumType_Periodic
- } EventTriggerEnumType;
- /* FirmwareStatusEnumType */
- typedef enum {
- FirmwareStatusEnumType_Downloaded,
- FirmwareStatusEnumType_DownloadFailed,
- FirmwareStatusEnumType_Downloading,
- FirmwareStatusEnumType_DownloadScheduled,
- FirmwareStatusEnumType_DownloadPaused,
- FirmwareStatusEnumType_Idle,
- FirmwareStatusEnumType_InstallationFailed,
- FirmwareStatusEnumType_Installing,
- FirmwareStatusEnumType_Installed,
- FirmwareStatusEnumType_InstallRebooting,
- FirmwareStatusEnumType_InstallScheduled,
- FirmwareStatusEnumType_InstallVerificationFailed,
- FirmwareStatusEnumType_InvalidSignature,
- FirmwareStatusEnumType_SignatureVerified
- } FirmwareStatusEnumType;
- /* GenericDeviceModelStatusEnumType */
- typedef enum {
- GenericDeviceModelStatusEnumType_Accepted,
- GenericDeviceModelStatusEnumType_Rejected,
- GenericDeviceModelStatusEnumType_NotSupported,
- GenericDeviceModelStatusEnumType_EmptyResultSet
- } GenericDeviceModelStatusEnumType;
- /* GenericStatusEnumType */
- typedef enum {
- GenericStatusEnumType_Accepted,
- GenericStatusEnumType_Rejected
- } GenericStatusEnumType;
- /* GetCertificateIdUseEnumType */
- typedef enum {
- GetCertificateIdUseEnumType_V2GRootCertificate,
- GetCertificateIdUseEnumType_MORootCertificate,
- GetCertificateIdUseEnumType_CSMSRootCertificate,
- GetCertificateIdUseEnumType_V2GCertificateChain,
- GetCertificateIdUseEnumType_ManufacturerRootCertificate
- } GetCertificateIdUseEnumType;
- /* GetCertificateStatusEnumType */
- typedef enum {
- GetCertificateStatusEnumType_Accepted,
- GetCertificateStatusEnumType_Failed
- } GetCertificateStatusEnumType;
- /* GetChargingProfileStatusEnumType */
- typedef enum {
- GetChargingProfileStatusEnumType_Accepted,
- GetChargingProfileStatusEnumType_NoProfiles
- } GetChargingProfileStatusEnumType;
- /* GetDisplayMessagesStatusEnumType */
- typedef enum {
- GetDisplayMessagesStatusEnumType_Accepted,
- GetDisplayMessagesStatusEnumType_Unknown
- } GetDisplayMessagesStatusEnumType;
- /* GetInstalledCertificateStatusEnumType */
- typedef enum {
- GetInstalledCertificateStatusEnumType_Accepted,
- GetInstalledCertificateStatusEnumType_NotFound
- } GetInstalledCertificateStatusEnumType;
- /* GetVariableStatusEnumType */
- typedef enum {
- GetVariableStatusEnumType_Accepted,
- GetVariableStatusEnumType_Rejected,
- GetVariableStatusEnumType_UnknownComponent,
- GetVariableStatusEnumType_UnknownVariable,
- GetVariableStatusEnumType_NotSupportedAttributeType
- } GetVariableStatusEnumType;
- /* HashAlgorithmEnumType */
- typedef enum {
- HashAlgorithmEnumType_SHA256,
- HashAlgorithmEnumType_SHA384,
- HashAlgorithmEnumType_SHA512
- } HashAlgorithmEnumType;
- /* IdTokenEnumType */
- typedef enum {
- IdTokenEnumType_Central,
- IdTokenEnumType_eMAID,
- IdTokenEnumType_ISO14443,
- IdTokenEnumType_ISO15693,
- IdTokenEnumType_KeyCode,
- IdTokenEnumType_Local,
- IdTokenEnumType_MacAddress,
- IdTokenEnumType_NoAuthorization
- } IdTokenEnumType;
- /* InstallCertificateUseEnumType */
- typedef enum {
- InstallCertificateUseEnumType_V2GRootCertificate,
- InstallCertificateUseEnumType_MORootCertificate,
- InstallCertificateUseEnumType_CSMSRootCertificate,
- InstallCertificateUseEnumType_ManufacturerRootCertificate
- } InstallCertificateUseEnumType;
- /* InstallCertificateStatusEnumType */
- typedef enum {
- InstallCertificateStatusEnumType_Accepted,
- InstallCertificateStatusEnumType_Failed,
- InstallCertificateStatusEnumType_Rejected
- } InstallCertificateStatusEnumType;
- /* Iso15118EVCertificateStatusEnumType */
- typedef enum {
- Iso15118EVCertificateStatusEnumType_Accepted,
- Iso15118EVCertificateStatusEnumType_Failed
- } Iso15118EVCertificateStatusEnumType;
- /* LocationEnumType */
- typedef enum {
- LocationEnumType_Body,
- LocationEnumType_Cable,
- LocationEnumType_EV,
- LocationEnumType_Inlet,
- LocationEnumType_Outlet
- } LocationEnumType;
- /* LogEnumType */
- typedef enum {
- LogEnumType_DiagnosticsLog,
- LogEnumType_SecurityLog
- } LogEnumType;
- /* LogStatusEnumType */
- typedef enum {
- LogStatusEnumType_Accepted,
- LogStatusEnumType_Rejected,
- LogStatusEnumType_AcceptedCanceled
- } LogStatusEnumType;
- /* MeasurandEnumType */
- typedef enum {
- MeasurandEnumType_Current_Export,
- MeasurandEnumType_Current_Import,
- MeasurandEnumType_Current_Offered,
- MeasurandEnumType_Energy_Active_Export_Register,
- MeasurandEnumType_Energy_Active_Import_Register,
- MeasurandEnumType_Energy_Reactive_Export_Register,
- MeasurandEnumType_Energy_Reactive_Import_Register,
- MeasurandEnumType_Energy_Active_Export_Interval,
- MeasurandEnumType_Energy_Active_Import_Interval,
- MeasurandEnumType_Energy_Active_Net,
- MeasurandEnumType_Energy_Reactive_Export_Interval,
- MeasurandEnumType_Energy_Reactive_Import_Interval,
- MeasurandEnumType_Energy_Reactive_Net,
- MeasurandEnumType_Energy_Apparent_Net,
- MeasurandEnumType_Energy_Apparent_Import,
- MeasurandEnumType_Energy_Apparent_Export,
- MeasurandEnumType_Frequency,
- MeasurandEnumType_Power_Active_Export ,
- MeasurandEnumType_Power_Active_Import,
- MeasurandEnumType_Power_Factor,
- MeasurandEnumType_Power_Offered,
- MeasurandEnumType_Power_Reactive_Export,
- MeasurandEnumType_Power_Reactive_Import,
- MeasurandEnumType_SoC,
- MeasurandEnumType_Voltage
- } MeasurandEnumType;
- /* MessageFormatEnumType */
- typedef enum {
- MessageFormatEnumType_ASCII,
- MessageFormatEnumType_HTML,
- MessageFormatEnumType_URI,
- MessageFormatEnumType_UTF8
- } MessageFormatEnumType;
- /* MessagePriorityEnumType */
- typedef enum {
- MessagePriorityEnumType_AlwaysFront,
- MessagePriorityEnumType_InFront,
- MessagePriorityEnumType_NormalCycle
- } MessagePriorityEnumType;
- /* MessageStateEnumType */
- typedef enum {
- MessageStateEnumType_Charging,
- MessageStateEnumType_Faulted,
- MessageStateEnumType_Idle,
- MessageStateEnumType_Unavailable
- } MessageStateEnumType;
- /* MessageTriggerEnumType */
- typedef enum {
- MessageTriggerEnumType_BootNotification,
- MessageTriggerEnumType_LogStatusNotification,
- MessageTriggerEnumType_FirmwareStatusNotification,
- MessageTriggerEnumType_Heartbeat,
- MessageTriggerEnumType_MeterValues,
- MessageTriggerEnumType_SignChargingStationCertificate,
- MessageTriggerEnumType_SignV2GCertificate,
- MessageTriggerEnumType_StatusNotification,
- MessageTriggerEnumType_TransactionEvent,
- MessageTriggerEnumType_SignCombinedCertificate,
- MessageTriggerEnumType_PublishFirmwareStatusNotification
- } MessageTriggerEnumType;
- /* MonitorEnumType */
- typedef enum {
- MonitorEnumType_UpperThreshold,
- MonitorEnumType_LowerThreshold,
- MonitorEnumType_Delta,
- MonitorEnumType_Periodic,
- MonitorEnumType_PeriodicClockAligned
- } MonitorEnumType;
- /* MonitoringBaseEnumType */
- typedef enum {
- MonitoringBaseEnumType_All,
- MonitoringBaseEnumType_FactoryDefault,
- MonitoringBaseEnumType_HardWiredOnly
- } MonitoringBaseEnumType;
- /* MonitoringCriterionEnumType */
- typedef enum {
- MonitoringCriterionEnumType_ThresholdMonitoring,
- MonitoringCriterionEnumType_DeltaMonitoring,
- MonitoringCriterionEnumType_PeriodicMonitoring
- } MonitoringCriterionEnumType;
- /* MutabilityEnumType */
- typedef enum {
- MutabilityEnumType_ReadOnly,
- MutabilityEnumType_WriteOnly,
- MutabilityEnumType_ReadWrite
- } MutabilityEnumType;
- /* NotifyEVChargingNeedsStatusEnumType */
- typedef enum {
- NotifyEVChargingNeedsStatusEnumType_Accepted,
- NotifyEVChargingNeedsStatusEnumType_Rejected,
- NotifyEVChargingNeedsStatusEnumType_Processing
- } NotifyEVChargingNeedsStatusEnumType;
- /* OCPPInterfaceEnumType */
- typedef enum {
- OCPPInterfaceEnumType_Wired0,
- OCPPInterfaceEnumType_Wired1,
- OCPPInterfaceEnumType_Wired2,
- OCPPInterfaceEnumType_Wired3,
- OCPPInterfaceEnumType_Wireless0,
- OCPPInterfaceEnumType_Wireless1,
- OCPPInterfaceEnumType_Wireless2,
- OCPPInterfaceEnumType_Wireless3
- } OCPPInterfaceEnumType;
- /* OCPPTransportEnumType */
- typedef enum {
- OCPPTransportEnumType_JSON,
- OCPPTransportEnumType_SOAP
- } OCPPTransportEnumType;
- /* OCPPVersionEnumType */
- typedef enum {
- OCPPVersionEnumType_OCPP12,
- OCPPVersionEnumType_OCPP15,
- OCPPVersionEnumType_OCPP16,
- OCPPVersionEnumType_OCPP20
- } OCPPVersionEnumType;
- /* OperationalStatusEnumType */
- typedef enum {
- OperationalStatusEnumType_Inoperative,
- OperationalStatusEnumType_Operative
- } OperationalStatusEnumType;
- /* PhaseEnumType */
- typedef enum {
- PhaseEnumType_L1,
- PhaseEnumType_L2,
- PhaseEnumType_L3,
- PhaseEnumType_N,
- PhaseEnumType_L1_N,
- PhaseEnumType_L2_N,
- PhaseEnumType_L3_N,
- PhaseEnumType_L1_L2,
- PhaseEnumType_L2_L3,
- PhaseEnumType_L3_L1
- } PhaseEnumType;
- /* PublishFirmwareStatusEnumType */
- typedef enum {
- PublishFirmwareStatusEnumType_Downloaded,
- PublishFirmwareStatusEnumType_DownloadFailed,
- PublishFirmwareStatusEnumType_Downloading,
- PublishFirmwareStatusEnumType_DownloadScheduled,
- PublishFirmwareStatusEnumType_DownloadPaused,
- PublishFirmwareStatusEnumType_PublishFailed,
- PublishFirmwareStatusEnumType_Published,
- PublishFirmwareStatusEnumType_InvalidChecksum,
- PublishFirmwareStatusEnumType_ChecksumVerified
- } PublishFirmwareStatusEnumType;
- /* ReadingContextEnumType */
- typedef enum {
- ReadingContextEnumType_Interruption_Begin,
- ReadingContextEnumType_Interruption_End,
- ReadingContextEnumType_Other,
- ReadingContextEnumType_Sample_Clock,
- ReadingContextEnumType_Sample_Periodic,
- ReadingContextEnumType_Transaction_Begin,
- ReadingContextEnumType_Transaction_End,
- ReadingContextEnumType_Trigger
- } ReadingContextEnumType;
- /* ReasonEnumType */
- typedef enum {
- ReasonEnumType_DeAuthorized,
- ReasonEnumType_EmergencyStop,
- ReasonEnumType_EnergyLimitReached,
- ReasonEnumType_EVDisconnected,
- ReasonEnumType_GroundFault,
- ReasonEnumType_ImmediateReset,
- ReasonEnumType_Local,
- ReasonEnumType_LocalOutOfCredit,
- ReasonEnumType_MasterPass,
- ReasonEnumType_Other,
- ReasonEnumType_OvercurrentFault,
- ReasonEnumType_PowerLoss,
- ReasonEnumType_PowerQuality,
- ReasonEnumType_Reboot,
- ReasonEnumType_Remote,
- ReasonEnumType_SOCLimitReached,
- ReasonEnumType_StoppedByEV,
- ReasonEnumType_TimeLimitReached,
- ReasonEnumType_Timeout
- } ReasonEnumType;
- /* RecurrencyKindEnumType */
- typedef enum {
- RecurrencyKindEnumType_Daily,
- RecurrencyKindEnumType_Weekly
- } RecurrencyKindEnumType;
- /* RegistrationStatusEnumType */
- typedef enum {
- RegistrationStatusEnumType_Accepted,
- RegistrationStatusEnumType_Pending,
- RegistrationStatusEnumType_Rejected
- } RegistrationStatusEnumType;
- /* ReportBaseEnumType */
- typedef enum {
- ReportBaseEnumType_ConfigurationInventory,
- ReportBaseEnumType_FullInventory,
- ReportBaseEnumType_SummaryInventory
- } ReportBaseEnumType;
- /* RequestStartStopStatusEnumType */
- typedef enum {
- RequestStartStopStatusEnumType_Accepted,
- RequestStartStopStatusEnumType_Rejected
- } RequestStartStopStatusEnumType;
- /* ReservationUpdateStatusEnumType */
- typedef enum {
- ReservationUpdateStatusEnumType_Expired,
- ReservationUpdateStatusEnumType_Removed
- } ReservationUpdateStatusEnumType;
- /* ReserveNowStatusEnumType */
- typedef enum {
- ReserveNowStatusEnumType_Accepted,
- ReserveNowStatusEnumType_Faulted,
- ReserveNowStatusEnumType_Occupied,
- ReserveNowStatusEnumType_Rejected,
- ReserveNowStatusEnumType_Unavailable
- } ReserveNowStatusEnumType;
- /* ResetEnumType */
- typedef enum {
- ResetEnumType_Immediate,
- ResetEnumType_OnIdle
- } ResetEnumType;
- /* ResetStatusEnumType */
- typedef enum {
- ResetStatusEnumType_Accepted,
- ResetStatusEnumType_Rejected,
- ResetStatusEnumType_Scheduled
- } ResetStatusEnumType;
- /* SetMonitoringStatusEnumType */
- typedef enum {
- SetMonitoringStatusEnumType_Accepted,
- SetMonitoringStatusEnumType_UnknownComponent,
- SetMonitoringStatusEnumType_UnknownVariable,
- SetMonitoringStatusEnumType_UnsupportedMonitorType,
- SetMonitoringStatusEnumType_Rejected,
- SetMonitoringStatusEnumType_OutOfRange,
- SetMonitoringStatusEnumType_Duplicate
- } SetMonitoringStatusEnumType;
- /* SetNetworkProfileStatusEnumType */
- typedef enum {
- SetNetworkProfileStatusEnumType_Accepted,
- SetNetworkProfileStatusEnumType_Rejected,
- SetNetworkProfileStatusEnumType_Failed
- } SetNetworkProfileStatusEnumType;
- /* SetVariableStatusEnumType */
- typedef enum {
- SetVariableStatusEnumType_Accepted,
- SetVariableStatusEnumType_Rejected,
- SetVariableStatusEnumType_InvalidValue,
- SetVariableStatusEnumType_UnknownComponent,
- SetVariableStatusEnumType_UnknownVariable,
- SetVariableStatusEnumType_NotSupportedAttributeType,
- SetVariableStatusEnumType_OutOfRange,
- SetVariableStatusEnumType_RebootRequired
- } SetVariableStatusEnumType;
- /* TransactionEventEnumType */
- typedef enum {
- TransactionEventEnumType_Ended,
- TransactionEventEnumType_Started,
- TransactionEventEnumType_Updated
- } TransactionEventEnumType;
- /* TriggerMessageStatusEnumType */
- typedef enum {
- TriggerMessageStatusEnumType_Accepted,
- TriggerMessageStatusEnumType_Rejected,
- TriggerMessageStatusEnumType_NotImplemented
- } TriggerMessageStatusEnumType;
- /* TriggerReasonEnumType */
- typedef enum {
- TriggerReasonEnumType_Authorized,
- TriggerReasonEnumType_CablePluggedIn,
- TriggerReasonEnumType_ChargingRateChanged,
- TriggerReasonEnumType_ChargingStateChanged,
- TriggerReasonEnumType_Deauthorized,
- TriggerReasonEnumType_EnergyLimitReached,
- TriggerReasonEnumType_EVCommunicationLost,
- TriggerReasonEnumType_EVConnectTimeout,
- TriggerReasonEnumType_MeterValueClock,
- TriggerReasonEnumType_MeterValuePeriodic,
- TriggerReasonEnumType_TimeLimitReached,
- TriggerReasonEnumType_Trigger,
- TriggerReasonEnumType_UnlockCommand,
- TriggerReasonEnumType_StopAuthorized,
- TriggerReasonEnumType_EVDeparted,
- TriggerReasonEnumType_EVDetected,
- TriggerReasonEnumType_RemoteStop,
- TriggerReasonEnumType_RemoteStart,
- TriggerReasonEnumType_AbnormalCondition,
- TriggerReasonEnumType_SignedDataReceived,
- TriggerReasonEnumType_ResetCommand
- } TriggerReasonEnumType;
- /* UnlockStatusEnumType */
- typedef enum {
- UnlockStatusEnumType_Unlocked,
- UnlockStatusEnumType_UnlockFailed,
- UnlockStatusEnumType_OngoingAuthorizedTransaction,
- UnlockStatusEnumType_UnknownConnector
- } UnlockStatusEnumType;
- /* UnpublishFirmwareStatusEnumType */
- typedef enum {
- Unpublished_DownloadOngoing,
- Unpublished_NoFirmware,
- Unpublished_Unpublished
- } UnpublishFirmwareStatusEnumType;
- /* UpdateEnumType */
- typedef enum {
- UpdateEnumType_Differential,
- UpdateEnumType_Full
- } UpdateEnumType;
- /* UpdateFirmwareStatusEnumType */
- typedef enum {
- UpdateFirmwareStatusEnumType_Accepted,
- UpdateFirmwareStatusEnumType_Rejected,
- UpdateFirmwareStatusEnumType_AcceptedCanceled,
- UpdateFirmwareStatusEnumType_InvalidCertificate,
- UpdateFirmwareStatusEnumType_RevokedCertificate
- } UpdateFirmwareStatusEnumType;
- /* UpdateStatusEnumType */
- typedef enum {
- UpdateStatusEnumType_Accepted,
- UpdateStatusEnumType_Failed,
- UpdateStatusEnumType_VersionMismatch
- } UpdateStatusEnumType;
- /* UploadLogStatusEnumType */
- typedef enum {
- UploadLogStatusEnumType_BadMessage,
- UploadLogStatusEnumType_Idle,
- UploadLogStatusEnumType_NotSupportedOperation,
- UploadLogStatusEnumType_PermissionDenied,
- UploadLogStatusEnumType_Uploaded,
- UploadLogStatusEnumType_UploadFailure,
- UploadLogStatusEnumType_Uploading,
- UploadLogStatusEnumType_AcceptedCanceled
- } UploadLogStatusEnumType;
- /* VPNEnumType */
- typedef enum {
- VPNEnumType_IKEv2,
- VPNEnumType_IPSec,
- VPNEnumType_L2TP,
- VPNEnumType_PPTP
- } VPNEnumType;
- enum CERTIFICATE_PARSE_TYPE
- {
- CERT_PARSE_HashAlgorithm = 0,
- CERT_PARSE_SerialNumber = 1,
- CERT_PARSE_IssuerNameHash = 2,
- CERT_PARSE_IssuerKeyHash = 3,
- CERT_PARSE_OcspUrl = 4
- };
- struct StructPeriod
- {
- int StartPeriod;
- float Limit;//0.1;
- int NumberPhases;
- };
- struct StructProfile
- {
- int Duration;
- int TotalPeriod;
- struct StructPeriod Period[10];
- };
- //===============================================
- // Common routine
- //===============================================
- int initialConfigurationTable(void);
- void StoreConfigurationTable(void);
- void GetStartTransactionIdTag(int gun_index);
- //==========================================
- // send request routine
- //==========================================
- int sendAuthorizeRequest(int gun_index);
- int sendBootNotificationRequest(void);
- int sendClearedChargingLimitRequest(int gun_index);
- int sendDataTransferRequest(int gun_index);
- int sendFirmwareStatusNotificationRequest(char *status);
- int sendGet15118EVCertificateRequest();
- int sendGetCertificateStatusRequest();
- int sendHeartbeatRequest();
- int sendLogStatusNotificationRequest(char *status);
- int sendMeterValuesRequest(int gun_index, ReadingContextEnumType dataType, uint8_t isSampledDataTxEnd);
- int sendNotifyChargingLimitRequest(int gun_index);
- int sendNotifyCustomerInformationRequest();
- int sendNotifyDisplayMessagesRequest();
- int sendNotifyEVChargingNeedsRequest(int gun_index);
- int sendNotifyEVChargingScheduleRequest(int gun_index);
- int sendNotifyEventRequest();
- int sendNotifyMonitoringReportRequest();
- int sendNotifyReportRequest();
- int sendPublishFirmwareStatusNotificationRequest();
- int sendReportChargingProfilesRequest(int gun_index);
- int sendReservationStatusUpdateRequest(int gun_index);
- int sendSecurityEventNotificationRequest();
- int sendSignCertificateRequest();
- int sendStatusNotificationRequest(int gun_index);
- int sendTransactionEventRequest(int gun_index);
- //==========================================
- // send confirm routine
- //==========================================
- int sendCancelReservationConfirmation(char *uuid, unsigned char gun_index);
- int sendCertificateSignedConfirmation(char *uuid);
- int sendChangeAvailabilityConfirmation(char *uuid, unsigned char gun_index);
- int sendClearCacheConfirmation(char *uuid);
- int sendClearChargingProfileConfirmation(char *uuid,char *payload);
- int sendClearDisplayMessageConfirmation(char *uuid);
- int sendClearVariableMonitoringConfirmation(char *uuid, unsigned char variableQuantity);
- int sendCostUpdatedConfirmation(char *uuid);
- int sendCustomerInformationConfirmation(char *uuid);
- int sendDataTransferConfirmation(char *uuid, unsigned char gun_index);
- int sendDeleteCertificateConfirmation(char *uuid);
- int sendGetBaseReportConfirmation(char *uuid);
- int sendGetChargingProfilesConfirmation(char *uuid, unsigned char gun_index);
- int sendGetCompositeScheduleConfirmation(char *uuid,char *payload, int connectorIdInt,int nPeriod);
- int sendGetDisplayMessagesConfirmation(char *uuid);
- int sendGetInstalledCertificateIdsConfirmation(char *uuid, unsigned char certQuantity);
- int sendGetLocalListVersionConfirmation(char *uuid);
- int sendGetLogConfirmation(char *uuid);
- int sendGetMonitoringReportConfirmation(char *uuid);
- int sendGetReportConfirmation(char *uuid);
- int sendGetTransactionStatusConfirmation(char *uuid);
- int sendGetVariablesConfirmation(char *uuid, unsigned char variableQuantity);
- int sendInstallCertificateConfirmation(char *uuid);
- int sendPublishFirmwareConfirmation(char *uuid);
- int sendRemoteStartTransactionConfirmation(char *uuid, unsigned char gun_index);
- int sendRemoteStopTransactionConfirmation(char *uuid, unsigned char gun_index);
- int sendReserveNowConfirmation(char *uuid, unsigned char gun_index);
- int sendResetConfirmation(char *uuid);
- int sendSendLocalListConfirmation(char *uuid);
- int sendSetChargingProfileConfirmation(char *uuid, unsigned char gun_index);
- int sendSetDisplayMessagesConfirmation(char *uuid);
- int sendSetMonitoringBaseConfirmation(char *uuid);
- int sendSetMonitoringLevelConfirmation(char *uuid);
- int sendSetNetworkProfileConfirmation(char *uuid);
- int sendSetVariableMonitoringConfirmation(char *uuid, unsigned char variableQuantity);
- int sendSetVariableConfirmation(char *uuid, unsigned char variableQuantity);
- int sendTriggerMessageConfirmation(char *uuid);
- int sendUnlockConnectorConfirmation(char *uuid, unsigned char gun_index);
- int sendUnpublishFirmwareConfirmation(char *uuid);
- int sendUpdateFirmwareConfirmation(char *uuid);
- int sendUnknownConfirmation(char *uuid);
- //==========================================
- // send CallError routine
- //==========================================
- void SendCallError(char *uniqueId, char *action, char *errorCode, char *errorDescription);
- //==========================================
- // Handle server request routine Start
- //==========================================
- int handleCancelReservationRequest(char *uuid, char *payload);
- int handleCertificateSignedRequest(char *uuid, char *payload);
- int handleChangeAvailabilityRequest(char *uuid, char *payload);
- int handleClearCacheRequest(char *uuid, char *payload);
- int handleClearChargingProfileRequest(char *uuid, char *payload);
- int handleClearDisplayMessageRequest(char *uuid, char *payload);
- int handleClearVariableMonitoringRequest(char *uuid, char *payload);
- int handleCostUpdatedRequest(char *uuid, char *payload);
- int handleCustomerInformationRequest(char *uuid, char *payload);
- int handleDataTransferRequest(char *uuid, char *payload);
- int handleDeleteCertificateRequest(char *uuid, char *payload);
- int handleGetBaseReportRequest(char *uuid, char *payload);
- int handleGetChargingProfilesRequest(char *uuid, char *payload);
- int handleGetCompositeScheduleRequest(char *uuid, char *payload);
- int handleGetDisplayMessagesRequest(char *uuid, char *payload);
- int handleGetInstalledCertificateIdsRequest(char *uuid, char *payload);
- int handleGetLocalListVersionRequest(char *uuid, char *payload);
- int handleGetLogRequest(char *uuid, char *payload);
- int handleGetMonitoringReportRequest(char *uuid, char *payload);
- int handleGetReportRequest(char *uuid, char *payload);
- int handleGetTransactionStatusRequest(char *uuid, char *payload);
- int handleGetVariablesRequest(char *uuid, char *payload);
- int handleInstallCertificateRequest(char *uuid, char *payload);
- int handlePublishFirmwareRequest(char *uuid, char *payload);
- int handleRequestStartTransactionRequest(char *uuid, char *payload);
- int handleRequestStopTransactionRequest(char *uuid, char *payload);
- int handleReserveNowRequest(char *uuid, char *payload);
- int handleResetRequest(char *uuid, char *payload);
- int handleSendLocalListRequest(char *uuid, char *payload);
- int handleSetChargingProfileRequest(char *uuid, char *payload);
- int handleSetDisplayMessageRequest(char *uuid, char *payload);
- int handleSetMonitoringBaseRequest(char *uuid, char *payload);
- int handleSetMonitoringLevelRequest(char *uuid, char *payload);
- int handleSetNetworkProfileRequest(char *uuid, char *payload);
- int handleSetVariableMonitoringRequest(char *uuid, char *payload);
- int handleSetVariablesRequest(char *uuid, char *payload);
- int handleTriggerMessageRequest(char *uuid, char *payload);
- int handleUnlockConnectorRequest(char *uuid, char *payload);
- int handleUnpublishFirmwareRequest(char *uuid, char *payload);
- int handleUpdateFirmwareRequest(char *uuid, char *payload);
- int handleUnknownRequest(char *uuid, char *payload);
- void handleAuthorizeResponse(char *payload, int gun_index);
- void handleBootNotificationResponse(char *payload, int gun_index);
- void handleClearedChargingLimitResponse(char *payload, int gun_index);
- void handleDataTransferResponse(char *payload, int gun_index);
- void handleFirmwareStatusNotificationResponse(char *payload, int gun_index);
- void handleGet15118EVCertificateResponse(char *payload, int gun_index);
- void handleGetCertificateStatusResponse(char *payload, int gun_index);
- void handleHeartbeatResponse(char *payload, int gun_index);
- void handleLogStatusNotificationResponse(char *payload, int gun_index);
- void handleMeterValuesResponse(char *payload, int gun_index);
- void handleNotifyChargingLimitResponse(char *payload, int gun_index);
- void handleNotifyCustomerInformationResponse(char *payload, int gun_index);
- void handleNotifyDisplayMessagesResponse(char *payload, int gun_index);
- void handleNotifyEVChargingNeedsResponse(char *payload, int gun_index);
- void handleNotifyEVChargingScheduleResponse(char *payload, int gun_index);
- void handleNotifyEventResponse(char *payload, int gun_index);
- void handleNotifyMonitoringReportResponse(char *payload, int gun_index);
- void handleNotifyReportResponse(char *payload, int gun_index);
- void handlePublishFirmwareStatusNotificationResponse(char *payload, int gun_index);
- void handleReportChargingProfilesResponse(char *payload, int gun_index);
- void handleReservationStatusUpdateResponse(char *payload, int gun_index);
- void handleSecurityEventNotificationResponse(char *payload, int gun_index);
- void handleSignCertificateResponse(char *payload, int gun_index);
- void handleStatusNotificationResponse(char *payload, int gun_index);
- void handleTransactionEventResponse(char *payload, int gun_index);
- //==========================================
- // Handle Error routine
- //==========================================
- void handleError(char *id, char *errorCode, char *errorDescription,char *payload);
- //===============================================
- // Common routine
- //===============================================
- void getKeyValue(char *keyReq);
- int setKeyValue(char *key, char *value);
- int updateSetting(char *key, char *value);
- int httpDownLoadFile(char *location, char *path, char *filename,char *url);
- int ftpDownLoadFile(char *location, char *user, char *password, int port, char *path, char *filename,char *url);
- void *UpdateFirmwareProcess(void* data);
- void* GetDiagnosticsProcess(void* data);
- int httpUploadFile(char *location, char *path, char *filename,char *url);
- int ftpUploadFile(char *location, char *user, char *password, int port, char *path, char *fnamePlusPath,char *filename);
- int get_file_contents(const char* filename, char** outbuffer);
- void LWS_Send(char * str);
- void LWS_SendNow(char * str);
- extern int queue_operation(int type, char *frontUUID, char *frontData);
- int GetOcppServerURL();
- int GetOcppPath();
- int GetOcppPort();
- int GetTransactionId(int gunindex, unsigned char idTag[], uint8_t isStopTransaction);
- void SetTransactionIdZero(int transactionId);
- void GetChargingProfileRequest(int gunindex);
- void FillStartTransaction(int ConnectorId, unsigned char IdTag[], int MeterStart,int ReservationId,unsigned char Timestamp[]);
- void splitstring(char *src,const char *separator,char **dest,int *num);
- int GetWebSocketPingInterval(void);
- int GetInternetConn(void);
- int GetBackendConnectionTimeout(void);
- int isConnectorInitMode(int gun_index);
- void refreshProcDogTimer();
- int GetServerSign(void);
- void SetServerSign(int value);
- int GetBootNotificationInterval(void);
- void InitialSystemValue(void);
- void checkTempStopTransaction(int gun_index);
- void storeTempStopTransaction(int gun_index);
- #endif
|