12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745 |
- /*
- * Config.h
- *
- * Created on: 2019年4月23日
- * Author: foluswen
- */
- #ifndef CONFIG_H_
- #define CONFIG_H_
- #include <stdbool.h>
- typedef unsigned char byte;
- #define MODE_BOOT 0
- #define MODE_IDLE 1
- #define MODE_AUTHORIZING 2
- #define MODE_REASSIGN_CHECK 3
- #define MODE_REASSIGN 4
- #define MODE_PRECHARGE 5
- #define MODE_PREPARE_FOR_EV 6
- #define MODE_PREPARE_FOR_EVSE 7
- #define MODE_CHARGING 8
- #define MODE_TERMINATING 9
- #define MODE_COMPLETE 10
- #define MODE_ALARM 11
- #define MODE_FAULT 12
- #define MODE_RESERVATION 13
- #define MODE_BOOKING 14
- #define MODE_MAINTAIN 15
- #define MODE_DEBUG 16
- #define MODE_CCS_PRECHARGE_STEP0 17 // ready for ccs precharge processing, For D+ relay to precharge relay
- #define MODE_CCS_PRECHARGE_STEP1 18 // waitting for ev board inform to enter to charging, For precharge relay to D+ relay
- #define MODE_UPDATE 19
- #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 uSEC_VAL 1000000
- #define mSEC_VAL 1000
- #define MAX_DISPENSER_QUANTITY 4
- #define MAX_GUN_QUANTITY 4
- #define MAX_GROUP_QUANTITY 4
- #define MAX_PSU_MODULE_QUANTITY 62
- #define MAX_MODULE_PER_GROUP 12
- #define INFY_SINGLE_PSU_POWER 30000 // unit: 1W
- #define SM_ChargerInfoKey 3000
- #define MAX_OUTPUT_VOLTAGE 9500
- #define SAFETY_TEST_ENABLE 0
- #define MAX_SLAVE_CABINET_QUANTITY 4
- #define MASTER_ETH1_IP "192.168.100.1"
- #define MASTER_ETH1_SUBMASK "255.255.255.0"
- #define SLAVE_ETH1_IP "192.168.0.10"
- #define SLAVE_ETH1_SUBMASK "255.255.255.0"
- #define AUTHORIZE_COMPLETED_TIME 3
- #define STARTTRANSATION_IMMEDIATELY
- #define ENABLE_PCBA_TEST 0
- #define PARALLEL_RELAY_COUNT 6
- #define _PHIHONG_PRICE_SPLIT_KEY ","
- #define _AUDI_PRICE_SPLIT_KEY ";"
- #define _OIL_PRICE_SPLIT_KEY "\n"
- // ********** Audi ********** //
- // Model Name: DOYC182000D2AD
- // Model Name: DDYC182V0UE2AD
- // ********** e4you ********** //
- // Model Name: DKYE182000D1E4
- // Model Name: DXYE182E00E1E4
- // ********** xpeng ********** //
- // Model Name: DOYE362000D2XP
- // Model Name: DDYE362F0KE2XP
- // *********** BYD *********** //
- // Model Name: DOYE242000D2BD
- // Model Name: DDYE242V0UE2BD
- // *********** TCC *********** //
- // Model Name: DBYE182000D1PH
- // Model Name: DBYC182000D1TC
- // Model Name: DDYC182V0EE1TC
- #define STR_LITTLE_ENDIAN "Little Endian"
- #define STR_BIG_ENDIAN "Big Endian"
- #define STR_MODE_BOOT "Booting"
- #define STR_MODE_IDLE "Idle"
- #define STR_MODE_AUTHORIZING "Authorizing"
- #define STR_MODE_REASSIGN_CHECK "ReassignCheck"
- #define STR_MODE_REASSIGN "Reassign"
- #define STR_MODE_PREPARNING "Preparing"
- #define STR_MODE_PREPARING_EV "PreparnForEV"
- #define STR_MODE_PREPARING_EVSE "PrepareForEVSE"
- #define STR_MODE_CHARGING "Charging"
- #define STR_MODE_TERMINATING "Terminating"
- #define STR_MODE_COMPLETE "Completed"
- #define STR_MODE_ALARM "Alarm"
- #define STR_MODE_FAULT "Fault"
- #define STR_MODE_RESERVATION "Reservation"
- #define STR_MODE_BOOKING "Booking"
- #define STR_MODE_MAINTAIN "Maintain"
- #define STR_MODE_DEBUG "Debug"
- #define STR_MODE_CCS_ST0 "CCS_ST0"
- #define STR_MODE_CCS_ST1 "CCS_ST1"
- #define STR_MODE_UPDATE "Update"
- #define STR_MODE_NONE "None"
- #define GUN_IDLE_TYPE_NORMAL 0
- #define GUN_IDLE_TYPE_WHOLE 1
- enum _SYSTEM_STATUS
- {
- S_BOOTING = 0,
- S_IDLE,
- S_AUTHORIZING,
- S_REASSIGN_CHECK,
- S_REASSIGN,
- S_PREPARNING,
- S_PREPARING_FOR_EV,
- S_PREPARING_FOR_EVSE,
- S_CHARGING,
- S_TERMINATING,
- S_COMPLETE,
- S_ALARM,
- S_FAULT,
- S_RESERVATION,
- S_BOOKING,
- S_MAINTAIN,
- S_DEBUG,
- S_CCS_PRECHARGE_ST0,
- S_CCS_PRECHARGE_ST1,
- S_UPDATE,
- S_NONE,
- };
- #define STR_GUN_TYPE_CHADEMO "CHAdeMO"
- #define STR_GUN_TYPE_CCS "CCS"
- #define STR_GUN_TYPE_GBT "GBT"
- #define STR_GUN_TYPE_AC "AC"
- #define STR_GUN_TYPE_UNKNOWN "Unknown Type"
- enum _GUN_TYPE
- {
- _Type_Chademo = 0,
- _Type_CCS_2,
- _Type_GB,
- _Type_AC,
- _Type_Unknown = 0xFF
- };
- 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_NONE = 0xFF,
- };
- enum _DispenserAuthorizeStatus
- {
- _AuthorizeStatus_Idle = 0x00,
- _AuthorizeStatus_Wait = 0x01,
- _AuthorizeStatus_Busy = 0x02,
- _AuthorizeStatus_Done = 0x03,
- _AuthorizeStatus_End = 0x04,
- };
- enum _ConnectorAuthorizeResult
- {
- _AuthResult_None = 0x00,
- _AuthResult_Valid = 0x01,
- _AuthResult_Invalid = 0x02,
- };
- enum _AuthorizedType
- {
- _AuthType_None = 0x00,
- _AuthType_RFID = 0x01,
- _AuthType_RemoteStart = 0x02,
- };
- enum _SELF_TEST_SEQ
- {
- _STEST_VERSION = 0x00,
- _STEST_CabinetSwitch = 0x01,
- _STEST_AC_CONTACTOR = 0x02,
- _STEST_PSU_DETECT = 0x03,
- _STEST_PSU_CAP = 0x04,
- _STEST_PSU_RETRY = 0x05,
- _STEST_EMG_BTN = 0x06,
- _STEST_FAIL = 0x07,
- _STEST_COMPLETE = 0xEE,
- };
- enum _MODULE_PSU_WORK_STEP
- {
- INITIAL_START = 0,
- GET_PSU_COUNT = 1,
- Get_PSU_LOCATION = 2,
- Get_PSU_VERSION = 3,
- PSU_COUNT_CONFIRM = 4,
- GET_SYS_CAP = 5,
- BOOTING_COMPLETE = 6,
- _WORK_CHARGING = 10,
- _TEST_MODE = 20,
- _NO_WORKING = 254,
- _INIT_PSU_STATUS = 255
- };
- 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 _REASSIGNED_RESOURCE_STEP
- {
- _REASSIGNED_NONE = 0, //
- _REASSIGNED_PREPARE_M_TO_A = 1, // 系統收到需要降載需求 (輸出總電流降低),PSU Task 收到將狀態切換至下個狀態
- _REASSIGNED_GET_NEW_CAP = 2, // 充電中的重新取得屬於自己火線上的總能量並透過小板通知車端 - 超過10秒直接跳下一步
- _REASSIGNED_ADJUST_M_TO_A = 3, // 模塊重新分配完成
- _REASSIGNED_RELAY_M_TO_A = 4, // 切斷橋接的 Relay
- _REASSIGNED_PREPARE_A_TO_M = 11,
- _REASSIGNED_ADJUST_A_TO_M = 12, // 模塊升壓
- _REASSIGNED_RELAY_A_TO_M = 13, // 搭接橋接的 Relay
- _REASSIGNED_WAITING = 14,
- _REASSIGNED_COMP = 15
- };
- enum _MAIN_CHARGING_MODE
- {
- _MAIN_CHARGING_MODE_MAX = 0,
- _MAIN_CHARGING_MODE_AVER = 1,
- };
- enum _EXTRA_ERR_PROCESS
- {
- _EXTRA_ERR_PROCESS_NONE = 0,
- _EXTRA_ERR_PROCESS_INUVP = 1,
- _EXTRA_ERR_PROCESS_INOVP = 2,
- _EXTRA_ERR_PROCESS_PRIMARY = 3,
- };
- enum _CHARGER_TYPE
- {
- _CHARGER_TYPE_IEC = 0,
- _CHARGER_TYPE_UL = 1,
- };
- enum _SYS_WIFI_MODE
- {
- _SYS_WIFI_MODE_DISABLE = 0,
- _SYS_WIFI_MODE_STATION = 1,
- _SYS_WIFI_MODE_AP = 2
- };
- enum _LED_INTENSITY_LV
- {
- _LED_INTENSITY_DARKEST = 0,
- _LED_INTENSITY_MEDIUM = 1,
- _LED_INTENSITY_BRIGHTEST = 2
- };
- 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 _SYS_POWER_SHARING_MODE
- {
- _SYS_POWER_SHARING_MODE_DISABLE = 0,
- _SYS_POWER_SHARING_MODE_MASTER = 1,
- _SYS_POWER_SHARING_MODE_SLAVE = 2,
- };
- #define STR_CONN_DISABLE "Disable"
- #define STR_CONN_CONNECTED "Connected"
- #define STR_CONN_DISCONNECTED "Disconnected"
- #define STR_DARKEST "Darkest"
- #define STR_MEDIUM "Medium"
- #define STR_BRIGHTEST "Brightest"
- #define STR_PAGE_NONE "PageNone"
- #define STR_REMOTE_NO_ID "PlugInPage"
- enum _CONN_STATUS
- {
- _Connnection_Disable = 0,
- _Connnection_Connected = 1,
- _Connnection_Disconnected = 2,
- };
- enum _LED_INDICATION_STATUS
- {
- _LED_INDICATION_OFF = 0, // all led off
- _LED_INDICATION_RUN = 1, // green led on, red led off
- _LED_INDICATION_FAULT = 2, // green led off, red led on
- _LED_INDICATION_ON = 3, // all led on
- _LED_INDICATION_GREEN_TOGGLE = 4, // green led toggle
- _LED_INDICATION_RED_TOGGLE = 5, // red led toggle
- };
- enum _STANDARD_INDICATION_STATUS
- {
- _STANDARD_LED_None = 0,
- _STANDARD_LED_Disconnection = 1,
- _STANDARD_LED_Running = 2,
- _STANDARD_LED_Alarm = 3,
- };
- enum _E4YOU_INDICATION_STATUS
- {
- _E4YOU_LED_None = 0,
- _E4YOU_LED_Disconnection = 1,
- _E4YOU_LED_Idle = 2,
- _E4YOU_LED_Charging = 3,
- _E4YOU_LED_Alarm = 4,
- };
- #define STR_QR_DEFAULT "Default"
- #define STR_QR_CUSTOMIZED "Customized"
- #define STR_QR_CHARGEBOXID "ChargeBoxId"
- enum _QR_MODE
- {
- _QR_MODE_Default = 0,
- _QR_MODE_Customized = 1,
- _QR_MODE_ChargeBoxId = 2, // for audi
- };
- enum _CUSTOMER_CODE
- {
- _CUSTOMER_CODE_Phihong = 0,
- _CUSTOMER_CODE_Audi = 1,
- _CUSTOMER_CODE_E4U = 2,
- _CUSTOMER_CODE_UCar = 3,
- _CUSTOMER_CODE_TCC = 4,
- _CUSTOMER_CODE_Shell = 5,
- };
- #define STR_CABINET_ROLE_NONE "Single"
- #define STR_CABINET_ROLE_MASTER "Master"
- #define STR_CABINET_ROLE_SLAVE "Slave"
- enum _CABINET_ROLE
- {
- _CROLE_SINGLE = 0, // single power cabinet mode
- _CROLE_MASTER = 1, // power cabinet master mode
- _CROLE_SLAVE = 2, // power cabinet slave mode
- };
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int SelfTestOK:1; // 0: self test not completed, 1: self test ok
- unsigned int NeedSelfTest:1; // 0: no effect, 1: need execute self test
- unsigned int NeedSoftReset:1; // 0: no effect, 1: system need soft reset
- unsigned int NeedHardReset:1; // 0: no effect, 1: system need hard reset
- unsigned int PrimaryDisable:1; // 0: primary enable, 1: primary disable
- unsigned int RelayBoardDisable:1; // 0: relay board enable, 1: relay board disable
- unsigned int FanBoardDisable:1; // 0: fan board enable, 1: fan board disable
- unsigned int LedBoardDisable:1; // 0: led board enable, 1: led board disable
- unsigned int SecondRelayBoardEnable:1; // 0: second relay disable, 1: second relay enable
- unsigned int DOLedIndication:1; // 0: no led indication, 1: enable DO Model led indication
- unsigned int DKLedIndication:1; // 0: no led indication, 1: enable DK Model led indication
- unsigned int BackendEnable:1; // 0: backend disable, 1: backend enable
- unsigned int Wifi4gResetEnable:1; // 0: wifi/4g reset io disable, 1: wifi/4g reset io enable
- unsigned int PsuInit:1; // 0: no effect, 1: psu is initialized
- unsigned int Enable6ParallelRelay:1; // 0: no effect, 1: enable 6 parallel relay
- unsigned int FlashConfigChanged:1; // 0: no effect, 1: flash content has changed
- unsigned int WriteFlashEnable:1; // 0: no effect, 1: enable write flash after timeout
- unsigned int WriteFlashBusy:1; // 0: no effect, 1: flash is writing
- unsigned int WriteFlashImmediately:1; // 0: no effect, 1: write flash immediately
- unsigned int WriteFlashAndReset:1; // 0: no effect, 1: write flash and soft reset
- unsigned int res:12;
- }bits;
- }SystemControl;
- typedef union
- {
- unsigned int LibValue;
- struct
- {
- unsigned int InfyPwrLib:1; // 0: no effect, 1: infy pwr lib used
- unsigned int PhPwrLib:1; // 0: no effect, 1: phihong pwr lib used
- unsigned int res:30;
- }bits;
- }LibUse;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int DisableBalance:1; // 0: no effect, 1: disable announce balance
- unsigned int FastStandbyTime:1; // 0: no effect, 1: enable fast standby time
- unsigned int ChargingSimulation:1; // 0: no effect, 1: enable charging simulation
- unsigned int FChargingReleaseExtend:1; // 0: no effect, 1: enable Release and Extend when Force Charging
- unsigned int TryUndisposedBill:1; // 0: no effect, 1: enable TryUndisposedBill
- unsigned int res:27;
- }bits;
- }TestControl;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int MsgMain:1; // 0: no effect, 1: enable debug message in main
- unsigned int MsgPrimaryComm:1; // 0: no effect, 1: enable debug message in primary comm
- unsigned int MsgPsu:1; // 0: no effect, 1: enable debug message in psu
- unsigned int MsgEvComm:1; // 0: no effect, 1: enable debug message in ev comm
- unsigned int MsgInternalComm:1; // 0: no effect, 1: enable debug message in internal comm
- unsigned int res:27;
- }bits;
- }DebugControl;
- #define MAX_EVCOMM_DEBUG_LEN 4
- typedef union
- {
- unsigned int DebugVal[MAX_EVCOMM_DEBUG_LEN];
- struct
- {
- // DebugVal[0]
- unsigned int RegDbg_All:1;
- unsigned int RegDbg_ModelName:1;
- unsigned int RegDbg_ConnectorID:1;
- unsigned int RegDbg_PowerCabinetStatus:1;
- unsigned int RegDbg_DispenserStatus:1;
- unsigned int RegDbg_ChargingCapability:1;
- unsigned int RegDbg_ChargingTarget:1;
- unsigned int RegDbg_SoftwareUpdate:1;
- unsigned int RegDbg_PlugInStatus:1;
- unsigned int RegDbg_ConnectorState:1;
- unsigned int RegDbg_UserID:1;
- unsigned int RegDbg_Charging_Permission:1;
- unsigned int RegDbg_MiscControl:1;
- unsigned int RegDbg_DispenserCsuVersion:1;
- unsigned int RegDbg_DispenserOtherVersion:1;
- unsigned int RegDbg_ChargingInfo:1;
- unsigned int RegDbg_QRCodeDate:1;
- unsigned int RegDbg_WaitPlugIn:1;
- unsigned int RegDbg_GroundFaultDetection:1;
- unsigned int RegDbg_Cabinet_CSU_Version:1;
- unsigned int RegDbg_Cabinet_Other_Version:1;
- unsigned int RegDbg_PsuQuantity:1;
- unsigned int RegDbg_PsuVersion:1;
- unsigned int RegDbg_Reservation:1;
- unsigned int RegDbg_Dispenser_Request:1;
- unsigned int RegDbg_RemoteStartNoIDState:1;
- unsigned int RegDbg_RefundAmount:1;
- unsigned int RegDbg_PrepaymentInfo:1;
- unsigned int RegDbg_PaymentFailReason:1;
- unsigned int RegDbg_ConnectorQRCode:1;
- unsigned int RegDbg_StationInfo:1;
- unsigned int RegDbg_DeductResult:1;
- // DebugVal[1]
- unsigned int RegDbg_CabinetSystemID:1;
- unsigned int RegDbg_DefaultPriceString:1;
- unsigned int RegDbg_UserPriceString:1;
- unsigned int RegDbg_Receipt:1;
- unsigned int RegDbg_PowerConsumption:1;
- unsigned int RegDbg_ChargingTimestamp:1;
- unsigned int res:26;
- // DebugVal[2]
- unsigned int DebugVal2:32;
- // DebugVal[3]
- unsigned int DebugVal3:32;
- }bits;
- }DebugEvCommMsgFlag;
- typedef union
- {
- unsigned int DebugVal;
- struct
- {
- // DebugVal[0]
- unsigned int MsgId_None:1;
- unsigned int MsgId_Gun_1:1;
- unsigned int MsgId_Gun_2:1;
- unsigned int MsgId_Gun_3:1;
- unsigned int MsgId_Gun_4:1;
- unsigned int MsgId_Gun_5:1;
- unsigned int MsgId_Gun_6:1;
- unsigned int MsgId_Gun_7:1;
- unsigned int MsgId_Gun_8:1;
- unsigned int res:23;
- }bits;
- }DebugEvCommIdFlag;
- typedef struct
- {
- DebugEvCommMsgFlag MsgFlag;
- DebugEvCommIdFlag IdFlag;
- }EvCommCtrlInfo;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int EnableForceCharging:1; // 0: disable, 1: enable force charging
- unsigned int StartForceCharging:1; // 0: disable, 1: start force charging
- unsigned int EnableReleaseAndExtend:1; // 0: disable, 1: enable Release And Extend when force charging
- unsigned int WebApiTrigger:1; // 0: no effect, 1: force charging is triggered by web api
- unsigned int res:28;
- }bits;
- }ForceChargingControl;
- typedef struct
- {
- ForceChargingControl FCtrl;
- unsigned short FTargetVoltage; // target voltage, unit: 0.1V
- unsigned short FTargetCurrent; // target current, unit: 0.1A
- }ForceCharging;
- typedef union
- {
- unsigned int AuthFlag;
- struct
- {
- unsigned int APPEnable:1; // 0: disable, 1: app auth enable
- unsigned int QRCodeEnable:1; // 0: disable, 1: qr code auth enable
- unsigned int RFIDEnable:1; // 0: disable, 1: rfid auth enable
- unsigned int res:29;
- }bits;
- }AuthModeInfo;
- typedef struct
- {
- AuthModeInfo AuthMode;
- unsigned char QRCodeMode; // 0: default, 1: customized, 2: audi type
- unsigned char res[3];
- }SystemAuthInfoData;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int SelfTestOK:1; // 0: self test not completed, 1: self test ok
- unsigned int NeedSelfTest:1; // 0: no effect, 1: need execute self test
- unsigned int Paused:1; // 0: no effect, 1: primary paused
- unsigned int DisableDoorSensor:1; // 0: door sensor enable, 1: door sensor disable
- unsigned int DisableEmergencyButton:1; // 0: emergency button enable, 1: emergency button disable
- unsigned int DoorSensorReverse:1; // 0: the same as ds's, 1: status is different from ds's
- unsigned int AcContactorReverse:1; // 0: the same as ds's, 1: status is different from ds's
- unsigned int CabinetSwitchDetect:1; // 0: no effect, 1: need detect cabinet switch
- unsigned int res:24;
- }bits;
- }PrimaryControl;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int SelfTestOK:1; // 0: self test not completed, 1: self test ok
- unsigned int NeedSelfTest:1; // 0: no effect, 1: need execute self test
- unsigned int Paused:1; // 0: no effect, 1: relay paused
- unsigned int AbnormalRelay:1; // 0: no effect, 1: relay abnormal control enable
- unsigned int AcContactor:1; // 0: ac contactor off, 1: ac contactor on
- unsigned int AcContactorOffByPsu:1; // 0: no effect, 1: ac contactor off
- unsigned int AcContactorOffByEmergency:1; // 0: no effect, 1: ac contactor off
- unsigned int StandbyCountdown:1; // 0: charger is using, 1: start countdown
- unsigned int AcInputDisable:1; // 0: ac input enable, 1: ac input disable
- unsigned int DcInputEnable:1; // 0: dc input disable, 1: dc input enable
- unsigned int AutoTest:1; // 0: no effect, 1: relay auto test enable
- unsigned int res:21;
- }bits;
- }RelayControl;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int SelfTestOK:1; // 0: self test not completed, 1: self test ok
- unsigned int NeedSelfTest:1; // 0: no effect, 1: need execute self test
- unsigned int Paused:1; // 0: no effect, 1: fan paused
- unsigned int AbnormalFan:1; // 0: no effect, 1: fan abnormal control enable
- unsigned int res:28;
- }bits;
- }FanControl;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int SelfTestOK:1; // 0: self test not completed, 1: self test ok
- unsigned int NeedSelfTest:1; // 0: no effect, 1: need execute self test
- unsigned int Paused:1; // 0: no effect, 1: led paused
- unsigned int res:29;
- }bits;
- }LedFanControl;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int SelfTestOK:1; // 0: self test not completed, 1: self test ok
- unsigned int NeedSelfTest:1; // 0: no effect, 1: need execute self test
- unsigned int Paused:1; // 0: no effect, 1: psu paused
- unsigned int FailureResume:1; // 0: no error, 1: psu failure, need resume
- unsigned int CommunicationLost:1; // 0: no error, 1: psu communication lost
- unsigned int res:27;
- }bits;
- }PsuControl;
- enum _OCPP_PAGE_INDEX
- {
- _OCPP_Page_None = 0, // page none
- _OCPP_Page_LineStatus_1 = 1, // line status 1 page
- _OCPP_Page_LineStatus_2 = 2, // line status 2 page
- _OCPP_Page_LineStatus_3 = 3, // line status 3 page
- _OCPP_Page_LineStatus_4 = 4, // line status 4 page
- };
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int RemoteStartNoId:1; // 0: no effect, 1: trigger remote start without connector id
- unsigned int res:31;
- }bits;
- }OcppControl;
- typedef struct
- {
- int TxCnt;
- int RxCnt;
- int LostCnt;
- int CommCnt;
- }DevideCommInfo;
- typedef struct
- {
- DevideCommInfo PrimaryComm;
- DevideCommInfo Relay1Comm;
- DevideCommInfo Relay2Comm;
- DevideCommInfo FanComm;
- DevideCommInfo LedComm;
- DevideCommInfo PsuComm;
- }CommInfoData;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int UpdateReq:1; // 0: no effect, 1: update request
- unsigned int UpdateConfirm:1; // 0: no effect, 1: update confirm
- unsigned int UpdateDone:1; // 0: no effect, 1: update done
- unsigned int res:29;
- }bits;
- }UpdateControl;
- typedef struct
- {
- int Pri232Fd;
- int Rs422Fd;
- int PsuCanFd;
- int EvCanFd;
- }FdControl;
- typedef enum
- {
- _TILT_SENSOR_NONE = 0,
- _TILT_SENSOR_WAIT = 1,
- _TILT_SENSOR_START = 2,
- _TILT_SENSOR_WAIT_RESPONSE = 3,
- _TILT_SENSOR_OUTCOME = 4,
- _TILT_SENSOR_STOP = 5,
- _TILT_SENSOR_WAIT_STOP = 6,
- _TILT_SENSOR_FINISH = 7,
- }_TILT_SENSOR_TEST_STEP;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int StandbyTimeDisable:1; // 0: no effect, 1: disable standby time
- unsigned int StandbyTimeDisableForTcc:1; // 0: no effect, 1: disable standby time at specific time for tcc
- unsigned int StandbyImmediately:1; // 0: no effect, 1: standby immediately
- unsigned int CustomizedStandbyTime:1; // 0: no effect, 1: enable customized standby time
- unsigned int TiltSensorEnable:1; // 0: no effect, 1: enable tilt sensor
- unsigned int res:27;
- }bits;
- }CustomizedFlagInfo;
- typedef struct
- {
- int TiltSensorStep;
- int TiltSensorFail;
- int StandbyTime; // unit: 1 minute
- CustomizedFlagInfo Flag;
- }CustomizedFunctionInfo;
- #define DIAGNOSTICS_TYPE_NONE 0
- #define DIAGNOSTICS_TYPE_ALL 1
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int Request:1; // 0: no effect, 1: diagnostics request
- unsigned int Confirm:1; // 0: no effect, 1: diagnostics confirm
- unsigned int Completed:1; // 0: no effect, 1: diagnostics completed
- unsigned int Stop:1; // 0: no effect, 1: diagnostics stop
- unsigned int res:28;
- }bits;
- }DiagnosticsFlagInfo;
- typedef struct
- {
- int DiagnosticsType;
- DiagnosticsFlagInfo DispenserDiagnostics[MAX_DISPENSER_QUANTITY];
- }DiagnosticsInfo;
- typedef struct
- {
- unsigned char MaxDispenser;
- unsigned char MaxConnector;
- unsigned char CabinetSwitch;
- unsigned char CabinetRole;
- unsigned char SelfTestStep;
- unsigned char CustomerCode;
- unsigned short ChargerRatingPower; // unit: 0.1kw, charger rating power, parsing from model name
- unsigned char PsuQuantityByModel;
- unsigned char res;
- CommInfoData CommInfo;
- SystemControl SysCtrl;
- LibUse LibCtrl;
- UpdateControl UpdateCtrl;
- TestControl TestCtrl;
- DebugControl DebugCtrl;
- EvCommCtrlInfo EvCommCtrl;
- PrimaryControl PrimaryCtrl;
- RelayControl RelayCtrl;
- FanControl FanCtrl;
- LedFanControl LedCtrl;
- PsuControl PsuCtrl;
- OcppControl OcppCtrl;
- FdControl FdCtrl;
- ForceCharging FCharging[MAX_GROUP_QUANTITY];
- unsigned char GunAvailable[MAX_GROUP_QUANTITY];
- unsigned char PsuInitQuantity[MAX_GROUP_QUANTITY];
- char ResevedIdTag[MAX_GROUP_QUANTITY][32];
- CustomizedFunctionInfo CustomizedInfo;
- DiagnosticsInfo Diagnostics;
- }SysControl;
- // ************************************************************************************************* //
- typedef struct
- {
- bool CheckIn;
- unsigned char res;
- unsigned short Full_Address;
- unsigned char GroupNo;
- unsigned char GIndex;
- }PsuAddressInfoData;
- typedef struct
- {
- unsigned char GroupPsuQuantity;
- unsigned char res;
- unsigned short PsuIndex[MAX_MODULE_PER_GROUP];
- }GroupInfoData;
- #define PSU_STATUS_FLAG_OUTPUT 0x00000001
- #define PSU_STATUS_FLAG_FAULT 0x00000002
- #define PSU_STATUS_FLAG_ALARM 0x00000004
- #define PSU_STATUS_FLAG_LOCK 0x00000008
- typedef union
- {
- unsigned int StatusVal;
- struct
- {
- unsigned int Output:1; // 0: no output, 1: psu is output
- unsigned int Fault:1; // 0: no fault, 1: psu is fault
- unsigned int Alarm:1; // 0: no alarm, 1: psu is alarm
- unsigned int Lock:1; // 0: no lock, 1: psu is lock
- unsigned int res:28;
- }bits;
- }PsuStatusInfo;
- typedef union
- {
- unsigned int StatusVal;
- struct
- {
- unsigned int Changed:1;
- unsigned int Indicated:1;
- unsigned int res:30;
- }bits;
- }PsuErrorStatusInfo;
- typedef struct
- {
- int ErrorCount;
- PsuErrorStatusInfo PhPwrStateFlag;
- unsigned char PsuError[8];
- }PhPwrStateInfo;
- typedef union
- {
- unsigned char StateVal[4];
- struct
- {
- //StateVal[0]
- unsigned char OutputShort:1; // OFF, Red
- unsigned char State_0_1_7:7;
- //StateVal[1]
- unsigned char PsuOff:1; // OFF
- unsigned char PsuFault:1; // OFF, Red
- unsigned char PsuProtect:1; // OFF, Yellow
- unsigned char FanFault:1; // OFF, Red Blink
- unsigned char OverTemperature:1; // OFF, Yellow
- unsigned char OutputOverVoltage:1; // OFF, Red
- unsigned char WalkInEnable:1;
- unsigned char CanCommInterrupt:1; // OFF, Yellow Blink
- //StateVal[2]
- unsigned char PowerLimit:1; // ON
- unsigned char PsuIdRepetition:1; // OFF, Red
- unsigned char LoadUnsharing:1; // ON, Red
- unsigned char InputPhaseLost:1; // OFF, Yellow
- unsigned char InputUnbalance:1; //
- unsigned char InputUnderVoltage:1; // OFF, Yellow
- unsigned char InputOverVoltage:1; // OFF, Yellow
- unsigned char PfcOff:1; // OFF
- //StateVal[3]
- unsigned char State_3:8;
- }bits;
- }InfyPsuStateFlagInfo;
- typedef struct
- {
- PsuErrorStatusInfo InfyPwrStateFlag;
- InfyPsuStateFlagInfo InfyPwrState;
- }InfyPwrStateInfo;
- typedef struct
- {
- bool PsuLocationInit;
- bool ReInitPsuLocation;
- unsigned char TotalPsuQuantity;
- GroupInfoData GroupLocationInfo[MAX_GROUP_QUANTITY];
- PsuAddressInfoData PsuAddressInfo[MAX_PSU_MODULE_QUANTITY];
- PsuStatusInfo SinglePsuStatus[MAX_PSU_MODULE_QUANTITY];
- PhPwrStateInfo SinglePhPsuError[MAX_PSU_MODULE_QUANTITY];
- InfyPwrStateInfo SingleInfyPwrState[MAX_PSU_MODULE_QUANTITY];
- }PsuPositionInfoData;
- // ************************************************************************************************* //
- typedef enum
- {
- _GROLE_IDLE = 0,
- _GROLE_MASTER = 1,
- _GROLE_SLAVE = 2,
- _GROLE_PREPARE_SWITCH_OFF = 10, // reduce output current capability
- _GROLE_SLAVE_POWER_OFF = 11, // power off
- _GROLE_SWITCH_OFF_OK = 12, // power off completed
- _GROLE_WAIT_IDLE = 13, // wait a while to change to idle, open parallel relay at this state
- _GROLE_WAIT_SLAVE = 14, // wait a while to change to slave
- _GROLE_PREPARE_ATTACH_ON = 20, // raise voltage to master output voltage
- _GROLE_PRECHARGE_READY = 21, // extend pre-charge ready
- _GROLE_EXTEND_STOP = 22, // extend capability stop
- _GROLE_REQUEST_TO_CHARGING = 30,
- _GROLE_TERMINATE = 40,
- _GROLE_WAIT_TERMINATED = 41,
- _GROLE_NONE = 99,
- }_GROUP_ROLE;
- typedef union
- {
- unsigned int CtrlValue[6];
- struct
- {
- unsigned int IdleCtrlValue;
- unsigned int MasterCtrlValue;
- unsigned int StopChargingCtrlValue;
- unsigned int DeratingCtrlValue;
- unsigned int ExtendCapabilityCtrlValue;
- unsigned int SlaveCtrlValue;
- }RoleCtrl;
- struct
- {
- // IdleCtrlValue
- unsigned int ChargingRequest:1; // 0: no effect, 1: charging request from main.c
- unsigned int ChargingRequestConfirmed:1; // 0: no effect, 1: request confirmed by psu task
- unsigned int GroupShareCheck:1; // 0: no effect, 1: check is there any psu can share
- unsigned int ShareConfirmed:1; // 0: no effect, 1: psu share confirmed
- unsigned int GrabGroupWait:1; // 0: no effect, 1: need to wait grab psu
- unsigned int ShareCheckDone:1; // 0: no effect, 1: psu share completed
- unsigned int FindGroupPartner:1; // 0: no effect, 1: find available group partner
- unsigned int ParallelRelayOn:1; // 0: no effect, 1: set parallel relay on
- unsigned int ParallelRelayConfirmed:1; // 0: no effect, 1: parallel relay confirmed
- unsigned int GroupingDone:1; // 0: no effect, 1: grouping completed
- unsigned int IdleCtrlRes:22;
- // MasterCtrlValue
- unsigned int CableCheckDone:1; // 0: no effect, 1: CableCheck done
- unsigned int InPrechargeMode:1; // 0: no effect, 1: system status in PreCharge mode
- unsigned int AlreadyInChargingMode:1; // 0: no effect, 1: system status ever enter charging mode
- unsigned int ExtendAvailable:1; // 0: no effect, 1: extend capability is available
- unsigned int NeedCurrentBalance:1; // 0: no effect, 1: need to current balance
- unsigned int OutputCurrentStable:1; // 0: no effect, 1: output current is stable
- unsigned int ReachMaxCurrentDemand:1; // 0: no effect, 1: reach ev max current demand
- unsigned int ReachMaxStageCurrent:1; // 0: no effect, 1: reach ev max stage current
- unsigned int SmoothDerating:1; // 0: no effect, 1: start smooth derating
- unsigned int MasterCtrlRes:23;
- // StopChargingCtrlValue
- unsigned int StopChargingRequest:1; // 0: no effect, 1: master need to stop
- unsigned int StopChargingConfirmed:1; // 0: no effect, 1: stop charging confirmed
- unsigned int AllPowerOffDone:1; // 0: no effect, 1: all member power off done
- unsigned int AllParallelRelayOff:1; // 0: no effect, 1: all member's parallel relay off
- unsigned int AllParallelRelayConfirmed:1; // 0: no effect, 1: all member's parallel relay off confirmed
- unsigned int AllMemberStopCompleted:1; // 0: no effect, 1: all member stop completed
- unsigned int StopChargingCompleted:1; // 0: no effect, 1: stop charging completed
- unsigned int StopChargingCtrlRes:25;
- // DeratingCtrlValue
- unsigned int NeedDerating:1; // 0: no effect, 1: need derating
- unsigned int DeratingConfirmed:1; // 0: no effect, 1: derating confirmed
- unsigned int DeratingStart:1; // 0: no effect, 1: derating start
- unsigned int DeratingPowerOffDone:1; // 0: no effect, 1: derating member power off done
- unsigned int DeratingRelayOff:1; // 0: no effect, 1: set derating member parallel relay off
- unsigned int DeratingRelayConfirmed:1; // 0: no effect, 1: derating member parallel relay confirmed
- unsigned int DeratingCompleted:1; // 0: no effect, 1: derating completed
- unsigned int DeratingCtrlRes:25;
- // ExtendCapabilityCtrlValue
- unsigned int MorePowerRequest:1; // 0: no effect, 1: need to request more psu
- unsigned int MorePowerConfirmed:1; // 0: no effect, 1: request more psu confirmed
- unsigned int ExtendPrecharge:1; // 0: no effect, 1: extend group need to pre-charge
- unsigned int ExtendPrechargeDone:1; // 0: no effect, 1: extend group pre-charge completed
- unsigned int ExtendRelayOn:1; // 0: no effect, 1: extend group parallel relay on
- unsigned int ExtendRelayConfirmed:1; // 0: no effect, 1: extend group parallel relay confirmed
- unsigned int ExtendCompleted:1; // 0: no effect, 1: extend capability completed
- unsigned int ExtendCapabilityCtrlRes:25;
- // SlaveCtrlValue
- unsigned int SlaveChargingRequest:1; // 0: no effect, 1: request slave to charging after power off
- unsigned int CheckSlaveReady:1; // 0: no effect, 1: check if slave is ready
- unsigned int WaitSlaveReady:1; // 0: no effect, 1: wait slave is ready
- unsigned int SlavePowerOffRequest:1; // 0: no effect, 1: request slave to power off
- unsigned int SlavePowerOffConfirmed:1; // 0: no effect, 1: slave power off confirmed
- unsigned int SlaveCtrlRes:27;
- }bits;
- }PsuGroupControl;
- typedef struct
- {
- unsigned char Quantity;
- unsigned char RealQuantity;
- unsigned char Member[MAX_GROUP_QUANTITY]; // record slave group index
- unsigned short ParallelFlag[MAX_GROUP_QUANTITY];
- }PsuGroupPartner;
- typedef struct
- {
- unsigned short Voltage; // output voltage limit, unit: 0.1V
- unsigned short Current; // output current limit, unit: 0.1A
- unsigned short Power; // output power limit, unit: 0.1kw
- }PsuGroupOutputValue;
- typedef struct
- {
- unsigned char Index;
- unsigned char Role;
- unsigned char PreRole;
- unsigned char Location;
- PsuGroupPartner Partner; // record slave group information
- PsuGroupPartner PossibleMember; // record possible slave group information
- unsigned char TargetGroup; // target group index + 1
- unsigned char ReservedTarget; // reserved target group index + 1
- unsigned char SmoothDeratingTarget; // group index + 1
- unsigned char res; // reserved
- PsuGroupControl GroupCtrl;
- unsigned short ReAssignAvailableCurrent; // group available current when reassign, unit: 0.1A
- unsigned short ParallelCheck;
- unsigned char ParallelConfig[MAX_GROUP_QUANTITY]; // group parallel relay setting
- unsigned short GunLoading; // gun output loading, unit: 0.01%
- unsigned char GunPsuQuantity; // record psu quantity at this gun
- unsigned char ExtendQuantityLimit; // limit of extend psu group quantity
- float MaxOutputRatio; // max output ratio (gun psu quantity / total psu in using)
- float DiffPower_Capability; // unit: 1kW, different power between output power and Capability power
- float DiffPower_Available; // unit: 1kW, different power between output power and Available power
- float DiffPower_PhysicalLimit; // unit: 1kW, different power between output power and PhysicalLimit power
- float DiffPower_ConfigLimit; // unit: 1kW, different power between output power and config power
- }PsuGroupCollectionData;
- typedef struct
- {
- unsigned short GTargetVoltage; // group target voltage config, unit: 0.1V
- unsigned short GTargetCurrent; // group target current config, unit: 0.1A
- unsigned short OutputLoading; // group output loading, unit: 0.01%
- }GroupOutputConfigInfo;
- typedef union
- {
- unsigned short CtrlValue;
- struct
- {
- unsigned short Output_N:1; // 0: set Output_N off, 1: set Output_N on
- unsigned short Output_P:1; // 0: set Output_P off, 1: set Output_P on
- unsigned short res:14;
- }bits;
- }PsuGroupOutputRelay;
- typedef union
- {
- unsigned short CtrlValue;
- struct
- {
- unsigned short Location_1_2:1; // 0: set parallel off, 1: set parallel on
- unsigned short Location_2_3:1; // 0: set parallel off, 1: set parallel on
- unsigned short Location_3_4:1; // 0: set parallel off, 1: set parallel on
- unsigned short Location_4_1:1; // 0: set parallel off, 1: set parallel on
- unsigned short Location_4_2:1; // 0: set parallel off, 1: set parallel on
- unsigned short Location_3_1:1; // 0: set parallel off, 1: set parallel on
- unsigned short res:10;
- }bits;
- }PsuGroupParallelRelay;
- typedef struct
- {
- byte Location[MAX_GROUP_QUANTITY];
- byte Layout[MAX_GROUP_QUANTITY];
- PsuGroupCollectionData GroupCollection[MAX_GROUP_QUANTITY];
- GroupOutputConfigInfo GroupOutput[MAX_GROUP_QUANTITY]; // for individual group command
- GroupOutputConfigInfo TotalGroupOutput[MAX_GROUP_QUANTITY]; // for total group command
- PsuGroupOutputRelay OutputRelayConfig[MAX_GUN_QUANTITY];
- PsuGroupOutputRelay OutputRelayConfirmed[MAX_GUN_QUANTITY];
- PsuGroupParallelRelay ParallelRelayConfig;
- PsuGroupParallelRelay ParallelRelayConfirmed;
- PsuStatusInfo GroupPsuStatus_OR[MAX_GROUP_QUANTITY];
- PsuStatusInfo GroupPsuStatus_AND[MAX_GROUP_QUANTITY];
- }PsuGroupingInfoData;
- // ************************************************************************************************* //
- typedef enum
- {
- _SCONN_FREE = 0,
- _SCONN_WAIT = 1,
- _SCONN_MATCHED = 2,
- }_SOCKET_CONN_STATUS;
- typedef enum
- {
- _DeviceStatus_DisConnect = 0x00, // _DS_None , slave cabinet in re-connection
- _DeviceStatus_Identification = 0x01, // _DS_Identification , slave cabinet in identification
- _DeviceStatus_Idle = 0x02, // _DS_Idle , slave cabinet in idle
- _DeviceStatus_Alarm = 0x03, // _DS_Alarm , slave cabinet in alarm
- _DeviceStatus_Charging = 0x04, // _DS_Charging , no use in slave cabinet
- _DeviceStatus_Timeout = 0x05, // _DS_Timeout , no use in slave cabinet
- _DeviceStatus_RetryWait = 0x06,
- }_DEVICE_STATUS;
- typedef enum
- {
- _Parallel_None = 0,
- _Parallel_Wait = 1, // ac contactor off, 3s
- _Parallel_Working = 2, // ac contactor on and start re-initial psu
- _Parallel_Done = 3, // re-initial psu done
- }_PARALLEL_STATUS;
- typedef struct
- {
- unsigned char Status; // 0: free, 1: WaitModelName, 2: DispenserMatched
- unsigned char DeviceIndex; // record device index
- unsigned int IpAddress; // record device ip address
- unsigned char DuplicateIp; // 0: unique ip, 1: duplicate ip
- unsigned char res;
- }SocketConnInfoData;
- typedef struct
- {
- unsigned char LocalStatus; // 0: None, 1: Identification, 2: Idle, 3: Alarm, 4: Charging, 5: _DS_Timeout
- unsigned char SlaveID;
- unsigned char ModelName[64]; //charger model name
- unsigned char SerialNumber[64]; //charger system serial number
- unsigned char SystemId[128]; //charger system ID
- unsigned char CsuBootLoadFwRev[32]; //CSU board bootloader firmware version
- unsigned char CsuKernelFwRev[32]; //CSU board OS kernel firmware version
- unsigned char CsuRootFsFwRev[32]; //CSU board root file system firmware version
- unsigned char CsuPrimFwRev[32]; //CSU board root file system firmware version
- unsigned char LcmFwRev[32]; //LCM module firmware version
- unsigned char PsuPrimFwRev[32]; //PSU primary firmware version
- unsigned char PsuSecFwRev[32]; //PSU secondary firmware version
- unsigned char FanModuleFwRev[32]; //Fan module firmware version
- unsigned char RelayModuleFwRev[32]; //Relay control module firmware version
- unsigned char TelcomModemFwRev[32]; //the 3G/4G modem firmware version
- unsigned char LedModuleFwRev[32]; //LED control module firmware version
- unsigned char Connector1FwRev[32]; //Connector1 module firmware version
- unsigned char Connector2FwRev[32]; //Connector2 module firmware version
- unsigned char AcContactorSetting; // 0: OFF, 1: ON Master -> Slave
- unsigned char AcContactorState; // 0: OFF, 1: ON Slave -> Master
- unsigned char OutputRelaySetting[MAX_GROUP_QUANTITY]; // 0: OFF, 1: ON Master -> Slave
- unsigned char GunOutputRelayState[MAX_GROUP_QUANTITY]; // 0: OFF, 1: ON Slave -> Master
- unsigned char ParallelRelaySetting[MAX_GROUP_QUANTITY]; // 0: OFF, 1: ON Master -> Slave
- unsigned char ParallelRelayState[MAX_GROUP_QUANTITY]; // 0: OFF, 1: ON Slave -> Master
- unsigned char UpdateRequest; // 0: no effect, 1: need to update
- unsigned char res;
- char FwFileName[128];
- unsigned char SocketChannel; // record socket index
- unsigned char IpDuplicatedFlag; // 0: no effect, 1: ip is duplicated
- unsigned char ParallelRequest; // 0: no effect, 1: parallel request
- unsigned char ParallelConfirm; // 0: no effect, 1: parallel confirm
- unsigned short ParallelPower; // parallel power, unit: 0.1kw
- }SlaveCabinetInfoData;
- typedef struct
- {
- unsigned char ParallelStatus; // 0: parallel none, 1: wait, 2: in paralleling, 3: parallel done
- unsigned char ParallelCabinetQuantity; // record max dispenser quantity
- unsigned char PresentParallelCabinetQuantity; // present slave cabinet quantity
- unsigned char res;
- SlaveCabinetInfoData PCabinet[MAX_SLAVE_CABINET_QUANTITY];
- unsigned char PCUpdateState[MAX_SLAVE_CABINET_QUANTITY]; // 0: Not in Update, 1: Updating, 2: Updated
- unsigned short TotalParallelPower; // max total parallel power, unit: 0.1kw
- }ParallelCabinetInfoData;
- typedef struct
- {
- unsigned char SCabinetStatus;
- unsigned char SCabinetID;
- unsigned char SOutputRelay[MAX_GROUP_QUANTITY]; // parallel cabinet output relay state
- unsigned char SParallelRelay[MAX_GROUP_QUANTITY]; // parallel cabinet parallel relay state
- unsigned char SAcContactor; // slave cabinet ac contactor state
- unsigned char NeedUpgrade; // 1: Need Upgrade, 2: No Update
- unsigned char UpgradeState; // 0: Not in Update, 1: Updating, 2: Updated
- unsigned char res;
- char FwFileName[128];
- }SlaveCabinetControl;
- // ************************************************************************************************* //
- #define LCM_REQ_REMOTE_START_NO_ID 0x00000001
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- // cabinet -> connector
- unsigned int RemoteStartNoID:1; // 0: no request, 1: lcm page change to RemoteStartNoID
- unsigned int res:31;
- }bits;
- }ConnectorPageControl;
- #define MISC_DISP_CONNECTION_TIMEOUT 0x00000001
- #define MISC_DISP_DEFAULT_PRICE 0x00000002
- #define MISC_DISP_CURRENCY 0x00000004
- #define MISC_DISP_BACKEND_STATUS 0x00000008
- #define MISC_DISP_ETHERNET_STATUS 0x00000010
- #define MISC_DISP_WIFI_STATUS 0x00000020
- #define MISC_DISP_TELCOM_MODEM_STATUS 0x00000040
- #define MISC_DISP_BILLING_STATUS 0x00000080
- #define MISC_DISP_STOP_BUTTON_STATUS 0x00000100
- #define MISC_DISP_AUTH_MODE_CONFIG 0x00000200
- #define MISC_DISP_EVCCID_CONFIG 0x00000400
- #define MISC_DISP_LED_INTENSITY 0x00000800
- #define MISC_DISP_HARDWARE_REBOOT 0x00001000
- #define MISC_DISP_SOFTWARE_RESET 0x00002000
- #define MISC_DISP_CHANGE_LCM_INFO 0x00004000
- #define MISC_DISP_STATION_INFO 0x00008000
- #define MISC_DISP_TIME_OFFSET 0x00010000
- #define MISC_DISP_DEFAULT_PRICE_STRING 0x00020000
- #define MISC_DISP_PARKING_PRICE 0x00040000
- #define MISC_DISP_RFID_CARD_ENDIAN 0x00080000
- #define MISC_DISP_RFID_ENABLE 0x00100000
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- // cabinet -> dispenser
- unsigned int ConnectionTimeout:1; // msic: 0x0001, 0: no request, 1: connection timeout request
- unsigned int DefaultPrice:1; // msic: 0x0003, 0: no request, 1: default price request
- unsigned int Currency:1; // msic: 0x0004, 0: no request, 1: currency request
- unsigned int BackendStatus:1; // msic: 0x0006, 0: no request, 1: backend status request
- unsigned int EthernetStatus:1; // msic: 0x0007, 0: no request, 1: ethernet status request
- unsigned int WiFiStatus:1; // msic: 0x0008, 0: no request, 1: wifi status request
- unsigned int TelcomModemStatus:1; // msic: 0x0009, 0: no request, 1: telcom modem status request
- unsigned int BillingStatus:1; // msic: 0x000A, 0: no request, 1: billing status request
- unsigned int StopButtonStatus:1; // msic: 0x000B, 0: no request, 1: stop button status request
- unsigned int AuthModeConfig:1; // msic: 0x000C, 0: no request, 1: auth mode config request
- unsigned int EVCCIDConfig:1; // msic: 0x000D, 0: no request, 1: EVCCID config request
- unsigned int LEDIntensity:1; // msic: 0x000E, 0: no request, 1: led intensity request
- unsigned int HardwareReboot:1; // msic: 0x0101, 0: no request, 1: hardware reboot request
- unsigned int SoftwareReset:1; // msic: 0x0102, 0: no request, 1: software reset request
- unsigned int ChangeLcmInfo:1; // msic: 0x0107, 0: no request, 1: change lcm info request
- unsigned int ChargerStationInfo:1; // msic: 0x0109, 0: no request, 1: charger station info request
- unsigned int TimeOffset:1; // msic: 0x0010, 0: no request, 1: time offset request
- unsigned int DefaultPriceString:1; // msic: 0x0010, 0: no request, 1: default price string request
- unsigned int ParkingPrice:1; // msic: 0x0011, 0: no request, 1: parking price request
- unsigned int RFIDCardEndian:1; // msic: 0x0012, 0: no request, 1: RFID card endian request
- unsigned int RFIDEnable:1; // msic: 0x0013, 0: no request, 1: RFID enable request
- unsigned int res:11;
- }bits;
- }DispenserMiscControl;
- #define MISC_CONN_AVAILABILITY 0x00000001
- #define MISC_CONN_ACCOUNT_BALANCE 0x00000002
- #define MISC_CONN_REMOTE_START 0x00000004
- #define MISC_CONN_REMOTE_STOP 0x00000008
- #define MISC_CONN_UNLOCK 0x00000010
- #define MISC_CONN_RESERVATION 0x00000020
- #define MISC_CONN_QRCODE_INFO 0x00000040
- #define MISC_CONN_FINAL_COST 0x00000080
- #define MISC_CONN_LINE_STATUS 0x00000100
- #define MISC_CONN_USER_PRICE_STRING 0x00000200
- #define MISC_CONN_RECEIPT 0x00000400
- #define MISC_CONN_CHARGING_BILL 0x00000800
- #define MISC_CONN_PARKING_STATUS 0x00001000
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- // cabinet -> connector
- unsigned int Availability:1; // msic: 0x0002, 0: no request, 1: availability request
- unsigned int AccountBalance:1; // msic: 0x0005, 0: no request, 1: account balance request
- unsigned int RemoteStart:1; // msic: 0x0103, 0: no request, 1: remote start request
- unsigned int RemoteStop:1; // msic: 0x0104, 0: no request, 1: remote stop request
- unsigned int Unlock:1; // msic: 0x0105, 0: no request, 1: unlock request
- unsigned int Reservation:1; // msic: 0x0106, 0: no request, 1: reservation request
- unsigned int QRCodeRequest:1; // msic: 0x0108, 0: no request, 1: QR Code request
- unsigned int FinalCostRequest:1; // msic: 0x010A, 0: no request, 1: Final Cost request
- unsigned int LineStatusRequest:1; // msic: 0x010B, 0: no request, 1: Line Status request
- unsigned int UserPriceStringRequest:1; // msic: 0x010D, 0: no request, 1: User Price String request
- unsigned int ReceiptRequest:1; // msic: 0x010E, 0: no request, 1: Receipt request
- unsigned int ChargingBillRequest:1; // msic: 0x010F, 0: no request, 1: charging bill request
- unsigned int ParkingStatusRequest:1; // msic: 0x0110, 0: no request, 1: parking status request
- unsigned int res:19;
- }bits;
- }ConnectorMiscControl;
- typedef struct
- {
- unsigned int ConnectionTimeout; // unit: 1s
- float DefaultPrice; // unit: 1 (dollar/kWh)
- unsigned int Currency; // currency index
- unsigned int BackendStatus; // 0: disable, 1: connected, 2: disconnected
- unsigned int EthernetStatus; // 0: disable, 1: connected, 2: disconnected
- unsigned int WiFiStatus; // 0: disable, 1: connected, 2: disconnected
- unsigned int TelcomModemStatus; // 0: disable, 1: connected, 2: disconnected
- unsigned int BillingStatus; // 0: disable, 1: enable
- unsigned int StopChargingButton; // 0: disable, 1: enable
- unsigned int HardwareReboot; // 1: HardwareReboot, Other value: no effect
- unsigned int SoftwareRestart; // 1: SoftwareRestart, Other value: no effect
- unsigned int AuthModeConfig; // 0: enable, 1: disable
- unsigned int EVCCIDConfig; // 0: disable, 1: enable
- unsigned int LEDIntensity; // LED intensity, 0: Darkest 1: Medium 2: Brightest
- int TimeOffset; // time offset value, unit: 1 minute
- float ParkingPrice; // unit: 1 (dollar/minute)
- unsigned int RfidEndian; // 0: little endian, 1: big endian
- unsigned int RfidReaderEnable; // 0: disable, 1: enable
- }MiscCommandValue;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- // dispenser -> cabinet
- unsigned int ChargingCancel:1; // cmd: 0x0001, 0: no request, 1: charging cancel request
- unsigned int ParkingFeeRequest:1; // cmd: 0x0002, 0: no request, 1: parking fee request
- unsigned int res:30;
- }bits;
- }ConnectorActionFlag;
- typedef union
- {
- unsigned int CtrlValue[32];
- struct
- {
- // dispenser -> cabinet
- unsigned int Refund; // 1: request, other: no effect
- unsigned int RefundCancel; // 1: cancel, other: no effect
- unsigned int InvoiceIndex; // invoice index, start from 1 ~
- unsigned int Res[29];
- }bits;
- }ConnectorActionValue;
- typedef struct
- {
- unsigned char ConnectorId; // Connector Id
- unsigned char DeductReq; // 0: no request, 1: deduct request
- unsigned char ReaderStatusReq; // 0: no request, 1: reader status request
- int TransactionId;
- unsigned char creditNo[20];
- unsigned char DeductResult; // DeductResult, 0: Fail, 1: Pass
- unsigned char IsDonateInvoice; // IsDonateInvoice, 0: Do not donate, 1: Donate
- int DeductAmount; // DeductAmount, unit = 0.01 dollar
- char ApprovalNumber[9]; // ApprovalNumber
- char VemData[64]; // Vem Data
- char Sn[36];
- }DeductResultInfoData;
- typedef struct
- {
- ConnectorActionFlag Flag;
- ConnectorActionValue ActionValue;
- }ConnectorActionRequest;
- #define STR_WEATHER_NONE "None"
- #define STR_WEATHER_SUNNY "Sunny"
- #define STR_WEATHER_CLOUDY "Cloudy"
- #define STR_WEATHER_RAIN "Rain"
- #define STR_WEATHER_THUNDERSTORM "ThunderStorm"
- #define STR_WEATHER_SNOW "Snow"
- #define STR_WEATHER_MIST "Mist"
- enum _WEATHER_INFO
- {
- _WEATHER_None = 0,
- _WEATHER_Sunny = 1,
- _WEATHER_Cloudy = 2,
- _WEATHER_Rain = 3,
- _WEATHER_ThunderStorm = 4,
- _WEATHER_Snow = 5,
- _WEATHER_Mist = 6,
- };
- typedef struct
- {
- int StationID;
- char StationName[64];
- char QRCode[MAX_GROUP_QUANTITY][128];
- int WeatherID;
- float Temperature;
- }StationInfoData;
- typedef struct
- {
- int StatusCode[MAX_GROUP_QUANTITY];
- }LineApiStatusInfo;
- typedef struct
- {
- int TransactionId; // connector TransactionId
- float UserPrice; // connector user's user price, unit: 1 (dollar / kWh)
- float TotalCost; // connector user's total cost, unit: 1 dollar
- float AccountBalance; // connector user's account balance, unit: 1 dollar
- float CostDiscount; // connector user's account balance, unit: 1 dollar
- }TransactionInfoData;
- enum DeductResult
- {
- _Deduct_PreAuth_Fail = 0x0, // pre-auth fail
- _Deduct_PreAuth_Pass = 0x1, // pre-auth pass
- _Deduct_PreAuth_Cancel = 0x2, // pre-auth cancel
- _Deduct_PreAuth = 0x3, // pre-auth
- _Deduct_Sale_Fail = 0x4, // sale fail
- _Deduct_Sale_Pass = 0x5, // sale pass
- };
- #define STR_DEDUCT_FAIL "Deduct Fail"
- #define STR_DEDUCT_PASS "Deduct Pass"
- #define STR_DEDUCT_CANCEL "PreAuth Cancel"
- #define STR_DEDUCT_PREAUTH "PreAuth OK"
- #define STR_SALE_FAIL "Sale Fail"
- #define STR_SALE_PASS "Sale Pass"
- typedef struct
- {
- float CurrentRate;
- float TimeOfDayPricing[24];
- char DefaultPriceString[512]; // default price string
- char DispenserPriceString[MAX_GUN_QUANTITY][512]; // dispenser user price string
- char UserPriceString[MAX_GUN_QUANTITY][512]; // connector user price string
- char ReceiptUrl[MAX_GUN_QUANTITY][512]; // connector receipt url
- }PriceReceiptInfoData;
- typedef enum
- {
- _Type_Central = 0x0,
- _Type_eMAID = 0x1,
- _Type_ISO14443 = 0x2,
- _Type_ISO15693 = 0x3,
- _Type_KeyCode = 0x4,
- _Type_Local = 0x5,
- _Type_MacAddress = 0x6,
- _Type_NoAuthorization = 0x7,
- }UserIdType;
- #define STR_ID_TYPE_CENTRAL "Central"
- #define STR_ID_TYPE_EMAID "eMAID"
- #define STR_ID_TYPE_ISO14443 "ISO14443"
- #define STR_ID_TYPE_ISO15693 "ISO15693"
- #define STR_ID_TYPE_KEYCODE "KeyCode"
- #define STR_ID_TYPE_LOCAL "Local"
- #define STR_ID_TYPE_MAC_ADDRESS "MacAddress"
- #define STR_ID_TYPE_NO_AUTHORIZATION "NoAuthorization"
- typedef struct
- {
- float LocalConsumption; // power consumption store in cabinet
- float GunConsumption; // power consumption store in dispenser
- }MeterValueInfoData;
- typedef struct
- {
- char StartCharging[32]; // start charging timestamp
- char StopCharging[32]; // stop charging timestamp
- }TimestampInfoData;
- typedef struct
- {
- char MainVersion[32];
- char SubVersion[32];
- }SysMiscInfoData;
- typedef struct
- {
- unsigned char Status;
- }ConnectorConfigAndStatus;
- typedef union
- {
- unsigned int ErrorValue;
- struct
- {
- unsigned int OutputRelayWelding:1; // 0: no effect, 1: Welding
- unsigned int OutputRelayDrivingFault:1; // 0: no effect, 1: DrivingFault
- unsigned int ParallelRelayWelding:1; // 0: no effect, 1: Welding
- unsigned int ParallelRelayDrivingFault:1; // 0: no effect, 1: DrivingFault
- unsigned int PsuGroupNoResource:1; // 0: no effect, 1: psu group all alarm or fault >> group no resource
- unsigned int res:27;
- }bits;
- }GunErrorFlag;
- typedef struct
- {
- GunErrorFlag ErrFlag;
- char GunAlarmCode[7];
- }GunError;
- typedef struct
- {
- int Offline_MaxChargingPower; // unit: W, offline max charging power, received from backend
- int GunOfflineMaxPower[MAX_GUN_QUANTITY]; // unit: W, calculate from Offline_MaxChargingPower
- int GunMaxProfilePower[MAX_GUN_QUANTITY]; // unit: W, calculate from MaxChargingProfilePower
- int GunMaxProfileCurrent[MAX_GUN_QUANTITY]; // unit: 0.1A, Calculate from MaxChargingProfilePower
- int GunAbsoluteMaxPower[MAX_GUN_QUANTITY]; // unit: W
- int GunAbsoluteMaxVoltage[MAX_GUN_QUANTITY]; // unit: 0.1V
- int GunAbsoluteMaxCurrent[MAX_GUN_QUANTITY]; // unit: 0.1A
- int GunOtpMaxPower[MAX_GUN_QUANTITY]; // unit: W
- int GunOtpMaxCurrent[MAX_GUN_QUANTITY]; // unit: 0.1A
- int GunDynamicMaxPower[MAX_GUN_QUANTITY]; // unit: W
- int GunDynamicMaxCurrent[MAX_GUN_QUANTITY]; // unit: 0.1A
- int GunManualLimitPower[MAX_GUN_QUANTITY]; // unit: W
- int GunManualLimitVoltage[MAX_GUN_QUANTITY]; // unit: 0.1V
- int GunManualLimitCurrent[MAX_GUN_QUANTITY]; // unit: 0.1A
- // final output limitation
- int GunLimitPower[MAX_GUN_QUANTITY]; // unit: 0.1kW
- int GunLimitVoltage[MAX_GUN_QUANTITY]; // unit: 0.1V
- int GunLimitCurrent[MAX_GUN_QUANTITY]; // unit: 0.1A
- }OutputLimitation;
- typedef enum
- {
- _BillStatus_Idle = 0x00, // no final cost received
- _BillStatus_MiscReq = 0x01, // receive final cost and set final cost misc command
- _BillStatus_WaitMiscClean = 0x02, // wait for dispenser to read misc command
- _BillStatus_MiscClean = 0x03, // final cost misc command has update to dispenser, timeout: 3s
- _BillStatus_UpdateDone = 0x04, // dispenser read final cost packet
- _BillStatus_Completed = 0x05, // stay this status 3s
- _BillStatus_Fail = 0x06, // clean bill info and return to idle
- _BillStatus_End = 0x07, // clean bill info and return to idle
- }BillStatus;
- #define BILL_SATAUS_UNDISPOSED -1
- #define BILL_SATAUS_UPDATED_FAIL 0
- #define BILL_SATAUS_UPDATED_OK 1
- #define BILL_SATAUS_Bypass_OK 2
- typedef struct
- {
- float TotalCost; // connector user's total cost, unit: 1 dollar
- float AccountBalance; // connector user's account balance, unit: 1 dollar
- float CostDiscount; // connector user's Discount or couponPoint, unit: 1 point
- float EnergyCost; // connector user's energy cost, unit: 1 dollar
- float ParkingFee; // connector user's parking fee, unit: 1 dollar
- float RemainAmount; // connector user's remain amount, unit: 1 dollar
- float ConnectionFee; // connector user's connection fee, unit: 1 dollar
- float SessionFee; // connector user's session fee, unit: 1 dollar
- }FeeInfoData;
- typedef struct
- {
- unsigned char BillStatus; // 0: idle, 1: misc request, 2 misc clean, 3: bill update done
- unsigned char PreStatus; // 0: idle, 1: misc request, 2 misc clean, 3: bill update done
- unsigned short TryCnt;
- int TxId;
- FeeInfoData FeeInfo;
- char Receipt[512];
- }ChargingBillInfoData;
- typedef enum
- {
- _ParkingAction_None = 0x00, // no action
- _ParkingAction_DisplayButton = 0x01, // Display Occupancy Fee button
- _ParkingAction_CancelOccupancy = 0x02, // Cancel Occupancy Fee button
- _ParkingAction_PaidOnlineOK = 0x03, // Successed to pay occupancy fee with online method, then close Occupancy Fee button
- _ParkingAction_PaidOnlineFail = 0x04, // Failed to pay occupancy fee with online method
- }OccupancyAction;
- #define STR_OCCUPANCY_ACT_NONE "NoAction"
- #define STR_OCCUPANCY_ACT_DISPLAY "DisplayButton"
- #define STR_OCCUPANCY_ACT_CANCEL "CancelOccupancy"
- #define STR_OCCUPANCY_ACT_PAID_OK "PaidOnlineOK"
- #define STR_OCCUPANCY_ACT_PAID_NG "PaidOnlineFail"
- typedef enum
- {
- _Parking_NoOccupancy = 0x00, // no occupancy
- _Parking_SyncOccupancy = 0x01, // sync occupancy with dispenser
- _Parking_Occupied = 0x02, // occupancy start
- _Parking_RequestFee = 0x03, // user request occupancy fee
- _Parking_WaitToPay = 0x04, // wait for user to pay the fee
- _Parking_PaidOnlineOK = 0x05, // user to paid success via online method
- _Parking_PaidOnlineFail = 0x06, // user to paid fail via online method
- }OccupancyStatus;
- #define STR_NO_OCCUPANCY "NoOccupancy"
- #define STR_SYNC_OCCUPANCY "SyncOccupancy"
- #define STR_OCCUPIED "Occupied"
- #define STR_REQUEST_FEE "RequestFee"
- #define STR_WAIT_TO_PAY "WaitToPay"
- #define STR_PAID_ONLINE_OK "PaidOK"
- #define STR_PAID_ONLINE_FAIL "PaidFail"
- #define STR_NOTIFY_NONE "Notify None"
- #define STR_GET_OCCUPANCY_FEE "GetOccupancyFee"
- #define STR_CANCEL_OCCUPANCY_DEDUCT "CancelDeduction"
- #define STR_CANCEL_OCCUPANCY_FEE "CancelOccupancyFee"
- typedef enum
- {
- _Notify_None = 0x00, // act: None
- _Notify_GetOccupancyFee = 0x01, // act: Get OccupancyFee
- _Notify_CancelLocalDeduction = 0x02, // act: Cancel Local Deduction
- _Notify_CancelOccupancyFee = 0x03, // act: Cancel Occupancy Fee
- }NotifyOccupancyFeeAct;
- typedef struct
- {
- unsigned char MiscStatus; // 0: idle, 1: misc request, 2 misc clean, 3: bill update done
- unsigned char PreStatus; // 0: idle, 1: misc request, 2 misc clean, 3: bill update done
- unsigned short TryCnt;
- }MiscRequestStatus;
- typedef struct
- {
- char StartTime[32];
- unsigned int Duration;
- float Fee;
- char Sn[37];
- char res;
- }OccupancyBillInfo;
- typedef struct
- {
- float Fee;
- char Sn[37];
- char res;
- char creditNo[21];
- char ApprovalNumber[10]; // ApprovalNumber
- char VemData[65]; // Vem Data
- }OccupancyDeductInfo;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int DeductReq:1; // 0: no request, 1: deduct request
- unsigned int KeepCounting:1; // 0: no effect, 1: occupancy keep counting
- unsigned int ForceCancel:1; // 0: no effect, 1: force cancel occupancy fee because of charging status
- unsigned int SelfReq:1; // 0: no request, 1: self request
- unsigned int res:28;
- }bits;
- }OccupancyReqFlag;
- typedef struct
- {
- unsigned char Status; // 0: NoOccupancy, 1: Occupied, 2: RequestFee, 3: WaitToPay
- unsigned char PreStatus; // 0: NoOccupancy, 1: Occupied, 2: RequestFee, 3: WaitToPay
- MiscRequestStatus ButtonReqStatus;
- MiscRequestStatus BillReqStatus;
- unsigned char ActionId;
- unsigned char res;
- OccupancyReqFlag OccupancyReq; // 0: no request, 1: deduct request
- OccupancyBillInfo OccupancyBill;
- OccupancyDeductInfo OccupancyDeduct;
- }OccupancyInfoData;
- typedef struct
- {
- ChargingBillInfoData DispBill[MAX_DISPENSER_QUANTITY];
- ChargingBillInfoData GunBill[MAX_GUN_QUANTITY];
- OccupancyInfoData OccupancyInfo[MAX_GUN_QUANTITY];
- }AllBillInfoData;
- #define OCMF_SATAUS_INSERTED 0
- #define OCMF_SATAUS_UPDATED_OK 1
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int OcmfReceived:1; // 0: no request, 1: ocmf info received
- unsigned int res:31;
- }bits;
- }GunOcmfFlag;
- typedef struct
- {
- // ocmf file path: /mnt
- // ocmf file name: Gun_X_TxId_OCMF
- // X: Gun Id
- // TxId: Transaction Id
- char OcmfTxId[36];
- char PublicKey[200];
- GunOcmfFlag OcmfFlag;
- }OCMFInfoData;
- typedef union
- {
- unsigned int CtrlValue;
- struct
- {
- unsigned int OcmfPending:1; // 0: no request, 1: exist pending ocmf
- unsigned int OcmfNeedUpload:1; // 0: no request, 1: ocmf need upload
- unsigned int OcmfUploading:1; // 0: no request, 1: ocmf is uploading
- unsigned int res:29;
- }bits;
- }SysOcmfFlag;
- typedef struct
- {
- int SysOcmfIndex;
- char SysOcmfTxId[36];
- char SysOcmfPublicKey[200];
- char SysOcmfInfo[2048];
- SysOcmfFlag SysOcmfFlag;
- OCMFInfoData GunOcmf[MAX_GUN_QUANTITY];
- }SysOCMFInfoData;
- // ************************************************************************************************* //
- typedef struct
- {
- SysMiscInfoData SysMisc;
- SystemAuthInfoData AuthInfo;
- SysControl Control;
- PsuPositionInfoData PsuPosition;
- PsuGroupingInfoData PsuGrouping;
- SocketConnInfoData CabinetConnInfo[MAX_SLAVE_CABINET_QUANTITY];
- ParallelCabinetInfoData ParallelCabinet;
- SlaveCabinetControl SCabinetControl;
- ConnectorPageControl ConnectorPageReq[MAX_GROUP_QUANTITY];
- DispenserMiscControl DispenserMiscReq[MAX_GROUP_QUANTITY];
- ConnectorMiscControl ConnectorMiscReq[MAX_GROUP_QUANTITY];
- MiscCommandValue CabinetMiscValue;
- ConnectorActionRequest ConnectorActReq[MAX_GROUP_QUANTITY];
- StationInfoData StationInfo;
- TransactionInfoData UserTransaction[MAX_GROUP_QUANTITY];
- DeductResultInfoData DeductResultReq[MAX_GROUP_QUANTITY];
- DeductResultInfoData ReDeductReq;
- DeductResultInfoData ReaderStatus[MAX_GROUP_QUANTITY];
- LineApiStatusInfo LineApi;
- ConnectorConfigAndStatus Connector[MAX_GUN_QUANTITY];
- PriceReceiptInfoData PriceAndReceiptInfo;
- MeterValueInfoData MeterValue[MAX_GUN_QUANTITY];
- TimestampInfoData Timestamp[MAX_GUN_QUANTITY];
- GunError GunError[MAX_GUN_QUANTITY];
- OutputLimitation OutputLimit;
- AllBillInfoData AllBill;
- SysOCMFInfoData OcmfInfo;
- }ChargerInfoData;
- #endif /* CONFIG_H_ */
|