123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657 |
- /*
- * Config.h
- *
- * Created on: 2019年4月23日
- * Author: foluswen
- */
- #ifndef CONFIG_H_
- #define CONFIG_H_
- #include <sys/types.h>
- #define ShmCsuMeterKey 2001
- #define ShmCommonKey 2002
- typedef unsigned char byte;
- #define TOTAL_QUANTITY_GUN 4 //Max Count
- #define PSU_GROUP_COUNT 4
- #define DC_CONNECTOR_COUNT 2
- #define AC_CONNECTOR_COUNT 1
- #define VOLTAGE_SAMPLE_COUNT 30
- #define GFD_WAIT 0
- #define GFD_PASS 1
- #define GFD_FAIL 2
- #define GFD_WARNING 3
- #define PRECHARGE_WAIT 0
- #define PRECHARGE_READY 1
- #define PRECHARGE_PRERELAY_PASS 2
- #define PRECHARGE_CHARELAY_PASS 3
- #define BOOTTING 0
- #define BOOT_COMPLETE 1
- #define AC_MINIMUM_DUTY 6
- #define AC_STOP_DUTY 100
- #define GUN_LEFT 0
- #define GUN_RIGHT 1
- #define GUN_CHECK 255
- //=======================================
- // Price type
- //=======================================
- #define DEFAULT_VALUE 0
- #define CONNECTION_FEE 1
- #define CURRENT_RATE 2
- #define OCCUPANCY_FEE 3
- #define SESSION_FEE 4
- #define TOTAL_COST 5
- #define ACCOUNT_BALANCE 6
- enum _AC_SYSTEM_STATUS
- {
- AC_SYS_NONE = 0,
- AC_SYS_A,
- AC_SYS_B,
- AC_SYS_C,
- AC_SYS_D,
- AC_SYS_E,
- AC_SYS_F
- };
- enum _GUN_TYPE
- {
- _Type_Chademo = 0,
- _Type_CCS = 1,
- _Type_GB = 2,
- _Type_AC = 3,
- _Type_Test = 9
- };
- enum _CCS_TYPE
- {
- _CCS_TYPE_CCS1 = 0,
- _CCS_TYPE_CCS2 = 1,
- };
- enum _LCM_INDEX
- {
- _LCM_INIT = 0x00,
- _LCM_IDLE = 0x01,
- _LCM_AUTHORIZING = 0x02,
- _LCM_AUTHORIZ_COMP = 0x03,
- _LCM_AUTHORIZ_FAIL = 0x04,
- _LCM_WAIT_FOR_PLUG = 0x05,
- _LCM_PRE_CHARGE = 0x06,
- _LCM_CHARGING = 0x07,
- _LCM_COMPLETE = 0x08,
- _LCM_FIX = 0x09,
- _LCM_EMC = 0x0A,
- _LCM_NONE = 0xFF,
- };
- enum _SELF_TEST_SEQ
- {
- _STEST_VERSION = 0x00,
- _STEST_AC_CONTACTOR = 0x01,
- _STEST_PSU_DETECT = 0x02,
- _STEST_PSU_CAP = 0x03,
- _STEST_FAIL = 0x04,
- _STEST_COMPLETE = 0xEE,
- };
- enum _MODULE_PSU_WORK_STEP
- {
- INITIAL_START = 0,
- GET_PSU_COUNT = 1,
- GET_SYS_CAP = 2,
- BOOTING_COMPLETE = 3,
- _WORK_CHARGING = 10,
- _TEST_MODE = 20,
- _ALATON_MODE = 21,
- _NO_WORKING = 254
- };
- enum _OFFLINE_POLICY
- {
- _OFFLINE_POLICY_LOCAL_LIST = 0x00,
- _OFFLINE_POLICY_PHIHONG_RFID_TAG = 0x01,
- _OFFLINE_POLICY_FREE_CHARGING = 0x02,
- _OFFLINE_POLICY_NO_CHARGING = 0x03,
- };
- enum _MAIN_CHARGING_MODE
- {
- _MAIN_CHARGING_MODE_NORMAL = 0,
- _MAIN_CHARGING_MODE_BOTH = 1,
- };
- enum _EXTRA_ERR_PROCESS
- {
- _EXTRA_ERR_PROCESS_NONE = 0,
- _EXTRA_ERR_PROCESS_INUVP = 1,
- _EXTRA_ERR_PROCESS_INOVP = 2
- };
- enum _CHARGER_TYPE
- {
- _CHARGER_TYPE_IEC = 0,
- _CHARGER_TYPE_UL = 1,
- _CHARGER_TYPE_JARI = 2 //LWADD
- };
- enum _SYS_WIFI_MODE
- {
- _SYS_WIFI_MODE_DISABLE = 0,
- _SYS_WIFI_MODE_STATION = 1,
- _SYS_WIFI_MODE_AP = 2
- };
- enum _SYS_4G_MODE
- {
- _SYS_4G_MODE_DISABLE = 0,
- _SYS_4G_MODE_ENABLE = 1,
- };
- enum _LED_INTENSITY_LV
- {
- _LED_INTENSITY_DARKEST = 0,
- _LED_INTENSITY_MEDIUM = 1,
- _LED_INTENSITY_BRIGHTEST = 2
- };
- enum _UPDATE_TYPE
- {
- _UPDATE_TYPE_CSU_UBOOT = 0x10000001,
- _UPDATE_TYPE_CSU_DTB = 0x10000002,
- _UPDATE_TYPE_CSU_ZIMAGE = 0x10000003,
- _UPDATE_TYPE_CSU_RFILES = 0x10000004,
- _UPDATE_TYPE_CSU_CONFIG = 0x10000005,
- _UPDATE_TYPE_CCS_UBOOT = 0x10000007,
- _UPDATE_TYPE_CCS_DTB = 0x10000008,
- _UPDATE_TYPE_CCS_ZIMAGE = 0x10000009,
- _UPDATE_TYPE_CCS_RFILES = 0x1000000A,
- _UPDATE_TYPE_DCM_ST407 = 0x10000006,
- _UPDATE_TYPE_RELAY_CTR = 0x1000000D,
- _UPDATE_TYPE_FAN_CTR = 0x1000000E,
- _UPDATE_TYPE_AC_WLMOUNT_CTR = 0x20000002,
- _UPDATE_TYPE_LED_CTR = 0x10000014,
- _UPDATE_TYPE_CHADEMO = 0x1000000B,
- _UPDATE_TYPE_GBT = 0x1000000C,
- _UPDATE_TYPE_DWIN_LCM = 0x1000000F,
- };
- enum _CCS_COMM_PROTOCOL
- {
- _CCS_COMM_V2GMessage_DIN70121 = 0x01,
- _CCS_COMM_V2GMessage_ISO15118_2014 = 0x02,
- _CCS_COMM_V2GMessage_ISO15118_2018 = 0x03
- };
- enum _ETHERNET_USAGE
- {
- _ETHERNET_USAGE_NONE = 0,
- _ETHERNET_USAGE_LAN,
- _ETHERNET_USAGE_WIFI,
- _ETHERNET_USAGE_3G_4g
- };
- enum _PRIMARY_CHECK_TAG
- {
- _PRIMARY_CHECK_TAG_AC_CONTACT = 0,
- _PRIMARY_CHECK_TAG_MAIN_BREAKER = 1,
- };
- enum _ALARM_LEVEL_TAG
- {
- _ALARM_LEVEL_NORMAL = 0,
- _ALARM_LEVEL_WARNING = 1,
- _ALARM_LEVEL_CRITICAL = 2
- };
- enum _SYSTEM_TASK_LOST_ITEM
- {
- _SYSTEM_TASK_LOST_ITEM_MAIN = 1,
- _SYSTEM_TASK_LOST_ITEM_EVCOMM = 2,
- _SYSTEM_TASK_LOST_ITEM_PSUCOMM = 3,
- _SYSTEM_TASK_LOST_ITEM_EVENTLOG = 4,
- _SYSTEM_TASK_LOST_ITEM_PRIMARYCOMM = 5,
- _SYSTEM_TASK_LOST_ITEM_LCMCONTROL = 6,
- _SYSTEM_TASK_LOST_ITEM_INTERCOMM = 7,
- _SYSTEM_TASK_LOST_ITEM_SMARTBOX = 8
- };
- enum _PSU_PROTOCOL_TYPE
- {
- _PSU_PROTOCOL_INFY = 0,
- _PSU_PROTOCOL_UU = 1
- };
- enum _PSU_USING_TARGET
- {
- _PSU_USING_TARGET_CON1 = 0x00,
- _PSU_USING_TARGET_CON2 = 0x01,
- _PSU_USING_TARGET_READY = 0xFF,
- };
- enum _PSU_POWER_STATUS
- {
- _PSU_POWER_STATUS_OFF = 0x00,
- _PSU_POWER_STATUS_ON = 0x01,
- };
- enum _PSU_DYNAMIC_FETCH_STEP
- {
- _PSU_DYNAMIC_FETCH_STEP_NONE = 0x00,
- _PSU_DYNAMIC_FETCH_STEP_WAIT = 0x01,
- _PSU_DYNAMIC_FETCH_STEP_TG_VOL = 0x02,
- _PSU_DYNAMIC_FETCH_STEP_RELAY = 0x03,
- _PSU_DYNAMIC_FETCH_STEP_CUR_SHARE = 0x04,
- _PSU_DYNAMIC_FETCH_STEP_WATI_FINISH = 0x05,
- _PSU_DYNAMIC_FETCH_STEP_FINISH = 0x06,
- _PSU_DYNAMIC_FETCH_STEP_ABORT = 0x10,
- };
- enum _PSU_DYNAMIC_RELEASE_STEP
- {
- _PSU_DYNAMIC_RELEASE_STEP_NONE = 0x00,
- _PSU_DYNAMIC_RELEASE_STEP_WAIT = 0x01,
- _PSU_DYNAMIC_RELEASE_STEP_LIMIT = 0x02,
- _PSU_DYNAMIC_RELEASE_STEP_CUR_SHARE = 0x03,
- _PSU_DYNAMIC_RELEASE_STEP_RELAYOFF = 0x04,
- _PSU_DYNAMIC_RELEASE_STEP_WAIT_FINISH = 0x05,
- _PSU_DYNAMIC_RELEASE_STEP_FINISH = 0x06,
- _PSU_DYNAMIC_RELEASE_STEP_ABORT = 0x10,
- };
- enum _PSU_GROUP_INDEX
- {
- _PSU_GROUP_INDEX_0 = 0x00,
- _PSU_GROUP_INDEX_1 = 0x01,
- _PSU_GROUP_INDEX_2 = 0x02,
- _PSU_GROUP_INDEX_3 = 0x03,
- };
- enum _RELAY_SWITCH_NAME
- {
- _RELAY_SWITCH_NAME_R3 = 0x00,
- _RELAY_SWITCH_NAME_R4 = 0x01,
- _RELAY_SWITCH_NAME_R5 = 0x02,
- };
- struct StructMeter
- {
- float curMeterValue;
- float newMeterValue;
- byte isCalculation;
- float _chargingValue;
- float _curTotalCharging;
- };
- struct MeterInformation
- {
- struct StructMeter _meter[DC_CONNECTOR_COUNT];
- byte isWorking;
- };
- //struct ConnectorBalanceInfo
- //{
- // unsigned int UserPrice; // connector user's user price, unit: 0.01 (dollar / kWh)
- // unsigned int TotalCost; // connector user's total cost, unit: 0.01 dollar
- // int AccountBalance; // connector user's account balance, unit: 0.01 dollar
- //};
- //
- //struct BalanceInfo
- //{
- // unsigned int defaultPrice;
- // struct ConnectorBalanceInfo connectorBalanceInfo[3]; // Max count : DC * 2 + AC * 1
- //};
- struct ConnectorBalanceInfo
- {
- unsigned int UserPrice; // connector user's user price, unit: 0.01 (dollar / kWh)
- unsigned int TotalCost; // connector user's total cost, unit: 0.01 dollar
- int AccountBalance; // connector user's account balance, unit: 0.01 dollar
- };
- struct BalanceInfo
- {
- //CTEP
- char defaultPrice[250];
- unsigned int defaultPrice_Noodoe;
- struct ConnectorBalanceInfo connectorBalanceInfo[3]; // Max count : DC * 2 + AC * 1
- };
- struct ChademoTryCommunicationKey
- {
- byte try2CommunicationFlag;
- struct timespec detectTimer;
- byte elapsedTime;
- };
- struct GbtVincodeInfo
- {
- byte packageCount;
- int dataLen;
- byte data[18];
- byte checksum;
- };
- struct CdfaInfor
- {
- double _ctepEnergyCost;
- double _ctepParkingFee;
- double _ctepTotalCost;
- // 2.0 Needed
- byte _preTimestamp[36];
- float _preOutputEnergy;
- float _prekWhPrice;
- float _prehourPrice;
- double _preEnergyCost;
- double _preParkingFee;
- byte _preQrCodeText[1024];
- };
- enum _CCS_VERSION_CHECK_TAG
- {
- _CCS_VERSION_CHECK_TAG_V015S0 = 0,
- _CCS_VERSION_CHECK_TAG_V013S0 = 1,
- };
- enum RELAY_STATUS_ERROR_INDEX
- {
- RELAY_SMR1_P_STATUS = 0,
- RELAY_SMR1_N_STATUS = 1,
- RELAY_SMR2_P_STATUS = 2,
- RELAY_SMR2_N_STATUS = 3,
- RELAY_PARA_P_STATUS = 4,
- RELAY_PARA_N_STATUS = 5,
- RELAY_PRE_STATUS = 6
- };
- enum RELAY_STATUS_ERROR_TYPE
- {
- RELAY_STATUS_ERROR_NONE = 0,
- RELAY_STATUS_ERROR_WELDING = 10,
- RELAY_STATUS_ERROR_DRIVING = 11,
- RELAY_STATUS_ERROR_PARA_WELDING = 12,
- RELAY_STATUS_ERROR_PARA_DRIVING = 13,
- };
- enum START_TRANSATION_STATUS
- {
- START_TRANSATION_STATUS_WAIT = 0x00,
- START_TRANSATION_STATUS_PASS = 0x01,
- START_TRANSATION_STATUS_FAIL = 0x02,
- };
- enum CHARGER_TYPE
- {
- CHARGER_TYPE_STANDARD = 0x00,
- CHARGER_TYPE_SIMPLE = 0X01,
- };
- enum RESET_4G_STEP
- {
- RESET_4G_STEP_NONE = 0x00,
- RESET_4G_STEP_DELETE_TASK = 0x01,
- RESET_4G_STEP_GPIO_HIGH = 0x02,
- RESET_4G_STEP_GPIO_LOW_COMP = 0x03
- };
- enum _CCID_INDEX
- {
- _CCID_GET = 0x01,
- _CCID_CHECK = 0x02,
- _CCID_AUTH = 0x03,
- _CCID_AUTHCOMP = 0x04,
- _CCID_AUTHFAIL = 0x05,
- _CCID_NONE = 0xFF,
- };
- enum _CONNECTOR_STATUS
- {
- _CONNECTOR_STATUS_NONE = 0x00,
- _CONNECTOR_STATUS_WAIT = 0x01,
- _CONNECTOR_STATUS_USING = 0x02,
- };
- enum _SYSTEM_TYPE
- {
- _SYSTEM_TYPE_SIMPLE = 0x00,
- _SYSTEM_TYPE_STANDARD = 0x01,
- _SYSTEM_TYPE_SMART = 0x10
- };
- enum _TPC_PLUG_DETECT_STATUS
- {
- _TPC_PLUG_DETECT_STATUS_NONE = 0x00,
- _TPC_PLUG_DETECT_STATUS_WAIT = 0x01,
- };
- enum VERIFY_MECHANISM
- {
- VERIFY_MECHANISM_RFID = 0,
- VERIFY_MECHANISM_BAZEL8 = 1,
- VERIFY_MECHANISM_ENEGATE = 2
- };
- enum _LCM_UPGRADE_RESULT
- {
- _LCM_UPGRADE_RESULT_WAIT = 0,
- _LCM_UPGRADE_RESULT_PASS,
- _LCM_UPGRADE_RESULT_FAIL,
- };
- enum _DC_METER_TRANSACTION_ACTION
- {
- _DC_METER_TRANSACTION_ACTION_NONE = 0,
- _DC_METER_TRANSACTION_ACTION_START,
- _DC_METER_TRANSACTION_ACTION_STOP,
- };
- enum _OCMF_INFO_READY_FLAG
- {
- _OCMF_INFO_READY_NO = 0,
- _OCMF_INFO_READY_YES,
- _OCMF_INFO_READY_FAIL
- };
- enum _CDFA_VERSION
- {
- _CDFA_VERSION_NONE = 0,
- _CDFA_VERSION_NOODOE = 1,
- _CDFA_VERSION_10 = 2,
- _CDFA_VERSION_20 = 3
- };
- enum _TILT_SENSOR_STEP
- {
- _TILT_SENSOR_STEP_NONE = 0x00,
- _TILT_SENSOR_STEP_PIN_ON = 0x01,
- _TILT_SENSOR_STEP_PIN_WAIT = 0x02,
- _TILT_SENSOR_STEP_PIN_OFF = 0x03,
- _TILT_SENSOR_STEP_PIN_FINISH = 0x04,
- };
- typedef union
- {
- unsigned int GunErrMessage;
- struct
- {
- unsigned char ChaGfdTrip:1;
- unsigned char ChaUvpFail:1;
- unsigned char ChaConnectOTP:1;
- unsigned char ChaConnectOVP:1;
- unsigned char ChaGfdWarning:1;
- unsigned char ChaRelayWeldingFault:1;
- unsigned char ChaRelayDrivingFault:1;
- unsigned char ChaConnectTempSensorFail:1;
- unsigned char CCSGfdTrip :1;
- unsigned char CCSUvpFail :1;
- unsigned char CCSConnectOTP :1;
- unsigned char CCSConnectOVP :1;
- unsigned char CCSGfdWarning :1;
- unsigned char CCSRelayWeldingFault :1;
- unsigned char CCSRelayDrivingFault :1;
- unsigned char CCSConnectTempSensorFail :1;
- unsigned char GBTGfdTrip :1;
- unsigned char GBTUvpFail :1;
- unsigned char GBTConnectOTP :1;
- unsigned char GBTConnectOVP :1;
- unsigned char GBTGfdWarning :1;
- unsigned char GBTRelayWeldingFault :1;
- unsigned char GBTRelayDrivingFault :1;
- unsigned char GBTConnectTempSensorFail :1;
- unsigned char ChaConnectUCP :1;
- unsigned char CCSConnectUCP :1;
- unsigned char GBTConnectUCP :1;
- unsigned char ParallelRelayWeldingFault :1;
- unsigned char ParallelRelayDrivingFault :1;
- unsigned char StopByEvseCondition:1;
- unsigned char :2;
- }GunBits;
- }GunErr;
- struct DcCommonInformation
- {
- // 0 : Standard (only one psu module), 1 : Standard (two psu module), 2 : Smart
- byte systemType;
- byte halfGroupCount;
- byte rebootCount;
- // charger type (standard、simple)
- byte chargerType;
- // minimun output current limit
- float minOutputCur;
- // check if the guns are of the same type
- byte SysGunAreSameType;
- // to check the ccs version
- byte CcsVersion;
- // for relay welding/driving check
- char RelayCheckStatus[6];
- char GunRelayWeldingOccur[DC_CONNECTOR_COUNT];
- char GunRelayDrivingOccur[DC_CONNECTOR_COUNT];
- char ParaRelayWeldingOccur;
- char ParaRelayDrivingOccur;
- byte ConnectorTemp1[DC_CONNECTOR_COUNT]; //0x00: -60¢XC ~ 0xFE: 194
- byte ConnectorTemp2[DC_CONNECTOR_COUNT]; //0x00: -60¢XC ~ 0xFE: 194
- // to check the ac contact status with psu communication
- byte acContactSwitch;
- byte psuKeepCommunication;
- byte startTransactionFlag[DC_CONNECTOR_COUNT];
- int startTransactionID[DC_CONNECTOR_COUNT];
- GunErr ConnectErrList[DC_CONNECTOR_COUNT];
- byte CcsTypeSaved[DC_CONNECTOR_COUNT];
- // Plugit Rack180 : for checking start/stop charging flag
- byte StartToChargingFlag[DC_CONNECTOR_COUNT]; // 0 : Stop, 1 : Start by modbus
- unsigned short LcmFwVersion;
- byte ShowLogoFlag;
- // ocpp offline policy
- byte _isAllowChargingOnDisconnect;
- // Billing Data extend
- byte _hour_index; //0 ~ 23
- float energy_time_period[DC_CONNECTOR_COUNT][24];
- // for OCPP Reserved
- byte _reserved_UserId[DC_CONNECTOR_COUNT][32];
- byte _reserved_ac_UserId[AC_CONNECTOR_COUNT][32];
- // auto run flag
- byte _isAutoRunTest;
- // chademo try to communicaton flag (for tesla adapter)
- struct ChademoTryCommunicationKey _cha_try_communication[DC_CONNECTOR_COUNT];
- // if the psu communication timedout, reset the AC contact for 30s
- struct timespec _psuComm_time;
- // for reset ev board (GBT or Chademo)
- byte evBoardResetFlag;
- // Use ccid to obtain authorization
- byte enObtainAuthorizbyCCID;
- byte _CcidAuthProcessStep;
- byte _authWithCcidFlag[DC_CONNECTOR_COUNT];
- // balance information - for tariff
- //struct BalanceInfo balanceInfo;
- // balance information - for standard
- struct BalanceInfo balanceInfo;
- // the hold time before return idle
- byte _returnIdleHoldFlag[DC_CONNECTOR_COUNT];
- // Date - YYYY/MM/DD
- byte _sys_date[11];
- // Date - hh/mm
- byte _sys_time[8];
- // Date - a / p .m
- byte _sys_period[6];
- // isPsuError
- byte _isPsuErrorOccur;
- // PSU Protocol
- byte _psuProtocol;
- //CHAdeMo transfer TPC plug in detect
- //LW_tpc plug detect
- byte _tpcPlugDetectState;
- byte TpcDetectFunction;
- // Check if the output voltage is stable
- float _outputVoltageSapmle[PSU_GROUP_COUNT][VOLTAGE_SAMPLE_COUNT];
- // offline power - LW_OfflinePower
- int _offlinePower;
- // Verified by GBT Vincode
- struct GbtVincodeInfo gbtVincodeInfo[DC_CONNECTOR_COUNT];
- // LCM upgrade
- byte _upgrade_lcm_flag;
- byte _upgrade_lcm_result;
- // CTEP : California Type Evaluation Program
- byte _useVersion;
- struct CdfaInfor cdfaInfor[DC_CONNECTOR_COUNT + AC_CONNECTOR_COUNT];
- // Tilt sensor step
- byte _tiltSensorStep;
- // Ocmf Record resend
- int ocmfTridRecord[DC_CONNECTOR_COUNT];
- // OCTT
- char stopSessionIndex;
- char remoteStartAuthFlag[DC_CONNECTOR_COUNT];
- byte for_alston_test_1;
- byte for_alston_test_2;
- byte for_alston_test_3;
- // for test smartbox - fetch / release
- byte smartFetchRun[DC_CONNECTOR_COUNT];
- byte smartReleaseRun[DC_CONNECTOR_COUNT];
- };
- #endif /* CONFIG_H_ */
|