/* * internalComm.h * * Created on: 2019年5月7日 * Author: foluswen */ #ifndef INTERNALCOMM_H_ #define INTERNALCOMM_H_ #define FRAME_ID 0xAA #define CSU_ADD 0x00 #define AUX_ADD 0x01 #define FAN_ADD 0x02 #define RELAY_ADD 0x03 #define ACPLUG_ADD 0x05 #define LED_ADD 0x06 #define RC1_ADD 0x07 // relay 1 in power cabinet #define RC2_ADD 0x08 // relay 2 in power cabinet #define RD_ADD 0x09 // relay in dispenser #define BROADCAST_ADD 0xFF #define INTERNAL_PACKET_MIN_LEN 7 #define MSGID_G_FW_VERSION 0x01 #define MSGID_G_HW_VERSION 0x02 #define MSGID_G_AC_INPUT_VOLTAGE 0x03 #define MSGID_G_DC_OUTPUT_VOLTAGE 0x04 #define MSGID_G_FAN_SPEED 0x05 #define MSGID_G_TEMPERATURE 0x06 #define MSGID_G_AUX_VOLTAGE 0x07 #define MSGID_G_RELAY_STATE 0x08 #define MSGID_G_GFD 0x09 #define MSGID_G_GPIO_INPUT 0x0A #define MSGID_G_ALARM 0x22 // no use #define MSGID_G_SERIAL_NUMBER 0x23 // no use #define MSGID_G_MODEL_NAME 0x24 #define MSGID_G_CORRECTION 0x25 // no use #define MSGID_G_RTC 0x26 // no use #define MSGID_G_AC_OUTPUT_CURRENT 0x27 #define MSGID_G_AC_STATUS 0x28 #define MSGID_G_AC_ALARM 0x29 #define MSGID_G_BLE_CONFIG 0x2A // no use #define MSGID_G_BLE_CENTRAL_ID 0x2B // no use #define MSGID_G_AC_OUTPUT_POWER 0x2C #define MSGID_G_AC_GUN_PLUGIN 0x2D // no use #define MSGID_G_AC_AUTHMODE 0x2E // no use #define MSGID_G_LEAK_CURRENT 0x2F // no use #define MSGID_G_MCU_OPERATION 0x30 // no use #define MSGID_G_4G_MODULE_REVISION 0x31 // no use #define MSGID_G_SELFTEST_STATUS 0x32 // no use #define MSGID_G_AC_FREQUENCY 0x33 // no use #define MSGID_G_4G_SIM_INFO 0x34 // no use #define MSGID_G_METER_MEASUREMENT 0x35 // no use #define MSGID_G_METER_CORRECTION 0x36 // no use #define MSGID_G_METER_HISTORY 0x37 // no use #define MSGID_G_DC_INPUT_VOLTAGE 0x38 #define MSGID_S_FAN_SPEED 0x81 #define MSGID_S_SERIAL_NUMBER 0x82 // no use #define MSGID_S_MODEL_NAME 0x83 #define MSGID_S_CORRECTION 0x84 // no use #define MSGID_S_RELAY_STATE 0x85 #define MSGID_S_GPIO_OUTPUT 0x86 #define MSGID_S_RTC 0x87 #define MSGID_S_AC_LED_STATE 0x88 #define MSGID_S_AC_CP_DUTY 0x89 #define MSGID_S_AC_LEGACY_REQ 0x8A #define MSGID_S_GFD 0x8B #define MSGID_S_AC_RESET_MCU 0x8C #define MSGID_S_AC_BREATH_LED 0x8D // no use #define MSGID_S_AC_LED BRIGHTNESS 0x8E // no use #define MSGID_S_AC_AUTHMODE 0x8F // no use #define MSGID_S_MCU_OPERATION 0x90 #define MSGID_S_SAVE_CONFIG 0x91 // no use #define MSGID_S_RUN_SELFTEST 0x92 // no use #define MSGID_S_LED_COLOR 0x93 #define MSGID_S_MCU_ERASE 0x94 // no use #define MSGID_S_AUX_SWITCH 0x95 // no use #define MSGID_S_METER_CORRECTION 0x96 // no use #define MSGID_S_FW_CHECKSUM 0xE0 #define MSGID_S_FW_ABORT 0xE1 #define MSGID_S_FW_PACKET 0xE2 #define MSGID_S_FW_FINISH 0xE3 extern struct Address { unsigned char Aux; unsigned char Fan; unsigned char Relay; unsigned char AcPlug; unsigned char Led; unsigned char DO360_RC1; unsigned char DO360_RC2; unsigned char DD360_Relay; unsigned char Broadcast; }Addr; extern struct Command { unsigned char query_FW_Ver; //0x01 unsigned char query_HW_Ver; //0x02 unsigned char query_Present_InputVoltage; //0x03 unsigned char query_Present_OutputVoltage; //0x04 unsigned char query_Fan_Speed; //0x05 unsigned char query_Temperature; //0x06 unsigned char query_Aux_PowerVoltage; //0x07 unsigned char query_Relay_Output; //0x08 unsigned char query_Gfd_Adc; //0x09 unsigned char query_Gpio_In; //0x0a unsigned char query_Model_Name; //0x24 unsigned char query_ac_output_current; //0x27 unsigned char query_ac_status; //0x28 unsigned char query_ac_alarm_code; //0x29 unsigned char query_ac_output_energy; //0x2C unsigned char query_DC_InputVoltage; //0x38 unsigned char config_Fan_Speed; //0x81 unsigned char config_Model_Name; //0x83 unsigned char config_Relay_Output; //0x85 unsigned char config_Gpio_Output; //0x86 unsigned char config_Rtc_Data; //0x87 unsigned char config_ac_led_status; //0x88 unsigned char config_ac_duty; //0x89 unsigned char config_Legacy_Req; //0x8A unsigned char config_Gfd_Value; //0x8B unsigned char config_reset_mcu; //0x8C unsigned char config_csu_mode; //0x90 unsigned char config_led_color; //0x93 unsigned char update_Start; //0xe0 unsigned char update_Abort; //0xe1 unsigned char update_Transfer; //0xe2 unsigned char update_Finish; //0xe3 }Cmd; typedef struct Verion { char Version_FW[9]; char Version_HW[9]; }Ver; typedef struct PRESENTINPUTVOLTAGE { unsigned char inputType; // 0x00: Line to Line 0x01: Line to Neutral double L1N_L12; double L2N_L23; double L3N_L31; }PresentInputVoltage; typedef struct { float DC_Input_1; float DC_Input_2; }DCInputVoltage; typedef struct PRESENTOUTPUTVOLTAGE { double behindFuse_Voltage_C1; double behindRelay_Voltage_C1; double behindFuse_Voltage_C2; double behindRelay_Voltage_C2; }PresentOutputVoltage; typedef struct FANSPEED { unsigned short int speed[8]; }FanSpeed; typedef struct TEMPERATURE { unsigned char temperature[8]; }Temperature; typedef struct AUXPOWER { unsigned char voltage[8]; }AuxPower; typedef union { unsigned char relay_status; struct { unsigned char Gun_N:1; // 0: gun_n off, 1: gun_n on unsigned char Gun_P:1; // 0: gun_p off, 1: gun_p on unsigned char Gun_Parallel_N_P:1; // 0: gun_parallel off, 1: gun_parallel on unsigned char Gun_Parallel_P:1; // 0: gun_parallel off, 1: gun_parallel on unsigned char res:4; }bits; }RBRelayControl; typedef union { unsigned char relay_status; struct { unsigned char Gun_N:1; // 0: gun_n off, 1: gun_n on unsigned char Gun_P:1; // 0: gun_p off, 1: gun_p on unsigned char res:6; }bits; }OutputRelayControl; typedef struct RELAY { union { unsigned char relay_status[8]; struct { unsigned char AC_Contactor :1; //bit 0 unsigned char CCS_Precharge :1; //bit 1 unsigned char :1; //bit 2 reserved unsigned char :1; //bit 3 reserved unsigned char :1; //bit 4 reserved unsigned char :1; //bit 5 reserved unsigned char :1; //bit 6 reserved unsigned char :1; //bit 7 reserved unsigned char Gun1_N :1; //bit 0 unsigned char Gun1_P :1; //bit 1 unsigned char Gun1_Parallel_N :1; //bit 2 unsigned char Gun1_Parallel_P :1; //bit 3 unsigned char :1; //bit 4 reserved unsigned char :1; //bit 5 reserved unsigned char :1; //bit 6 reserved unsigned char :1; //bit 7 reserved unsigned char Gun2_N :1; //bit 0 unsigned char Gun2_P :1; //bit 1 unsigned char Gun2_Parallel_N :1; //bit 2 unsigned char Gun2_Parallel_P :1; //bit 3 unsigned char :1; //bit 4 reserved unsigned char :1; //bit 5 reserved unsigned char :1; //bit 6 reserved unsigned char :1; //bit 7 reserved }bits; }relay_event; }Relay; typedef union { unsigned char gfd_vlaue[6]; struct { unsigned short Resister; unsigned short Voltage; unsigned char GFD_Result; unsigned char rb_step; }bits; }Connector_GFD; typedef struct GFD { unsigned short Resister_conn1; unsigned short voltage_conn1; unsigned char result_conn1; unsigned char rb_step_1; unsigned short Resister_conn2; unsigned short voltage_conn2; unsigned char result_conn2; unsigned char rb_step_2; }Gfd; typedef struct Gfd_CONFIG { unsigned char index; unsigned char state; }Gfd_config; typedef struct GPIO_IN { unsigned char AC_Connector; // bit 0 unsigned char AC_MainBreaker; // bit 1 unsigned char SPD; // bit 2 unsigned char Door_Open; // bit 3 unsigned char GFD[2]; // bit 4,5 unsigned char AC_Drop; // bit 6 unsigned char Emergency_IO; // bit 0 unsigned char Button_Emergency_Press; // bit 0 unsigned char Button_On_Press; // bit 1 unsigned char Button_Off_Press; // bit 2 unsigned char Key_1_Press; // bit 3 unsigned char Key_2_Press; // bit 4 unsigned char Key_3_Press; // bit 5 unsigned char Key_4_Press; // bit 6 }Gpio_in; typedef struct GPIO_OUT { unsigned char AC_Connector; unsigned char Button_LED[2]; unsigned char System_LED[4]; }Gpio_out; typedef struct RTC { unsigned char RtcData[14]; }Rtc; typedef struct LED_Color { unsigned char Connect_1_Red; unsigned char Connect_1_Green; unsigned char Connect_1_Blue; unsigned char Connect_2_Red; unsigned char Connect_2_Green; unsigned char Connect_2_Blue; }Led_Color; typedef struct AC_Status { unsigned char CpStatus; unsigned short CurLimit; short PilotVol_P; short PilotVol_N; unsigned char LockStatus; unsigned char RelayStatus; unsigned char ShutterStatus; unsigned char MeterStatus; unsigned char PpStatus; unsigned char MaxCurrent; unsigned char RotateSwitchStatus; } Ac_Status; typedef struct AC_LED_Status { unsigned char ActionMode; unsigned long AcAlarmCode; } Ac_Led_Status; typedef struct AC_Alarm_Code { unsigned int AcAlarmCode; } Ac_Alarm_code; typedef struct AC_Charging_Energy { unsigned int Energy; } Ac_Charging_energy; typedef struct AC_Charging_Current { unsigned short OuputCurrentL1; unsigned short OuputCurrentL2; unsigned short OuputCurrentL3; } Ac_Charging_current; extern unsigned char Query_FW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf, int debug); extern unsigned char Query_HW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf, int debug); extern unsigned char Query_Present_InputVoltage(unsigned char fd, unsigned char targetAddr, PresentInputVoltage *Ret_Buf, int debug); extern unsigned char Query_DC_InputVoltage(unsigned char fd, unsigned char targetAddr, DCInputVoltage *Ret_Buf, int debug); extern unsigned char Query_Present_OutputVoltage(unsigned char fd, unsigned char targetAddr, PresentOutputVoltage *Ret_Buf, int debug); extern unsigned char Query_Fan_Speed(unsigned char fd, unsigned char targetAddr, FanSpeed *Ret_Buf, int debug); extern unsigned char Query_Relay_Output(unsigned char fd, unsigned char targetAddr, Relay *Ret_Buf, int debug); extern unsigned char Query_Gfd_Adc(unsigned char fd, unsigned char targetAddr, Gfd *Ret_Buf, int debug); extern unsigned char Config_Fan_Speed(unsigned char fd, unsigned char targetAddr, FanSpeed *Set_Buf, int debug); extern unsigned char Config_Relay_Output(unsigned char fd, unsigned char targetAddr, Relay *Set_Buf, int debug); extern unsigned char Config_Gpio_Output(unsigned char fd, unsigned char targetAddr, Gpio_out *Set_Buf, int debug); extern unsigned char Config_Gfd_Value(unsigned char fd, unsigned char targetAddr, Gfd_config *Set_Buf, int debug); extern unsigned char Config_Model_Name(unsigned char fd, unsigned char targetAddr, unsigned char *modelname, int len, int debug); extern unsigned char Config_Rtc_Data(unsigned char fd, unsigned char targetAddr, Rtc *Set_Buf, int debug); extern unsigned char Update_Start(unsigned char fd, unsigned char targetAddr, unsigned int crc32); extern unsigned char Update_Abord(unsigned char fd, unsigned char targetAddr); extern unsigned char Update_Transfer(unsigned char fd, unsigned char targetAddr, unsigned int startAddr, unsigned char *data, unsigned short int length); extern unsigned char Update_Finish(unsigned char fd, unsigned char targetAddr); extern unsigned char Config_LED_Status(unsigned char fd, unsigned char targetAddr, Ac_Led_Status *Ret_Buf, int debug); extern unsigned char Config_Led_Color(unsigned char fd, unsigned char targetAddr, Led_Color *Ret_Buf, int debug); #endif /* INTERNALCOMM_H_ */