/* * internalComm.h * * Created on: 2019年5月7日 * Author: foluswen */ #ifndef INTERNALCOMM_H_ #define INTERNALCOMM_H_ extern struct Address { unsigned char Aux; unsigned char Fan; unsigned char Relay; unsigned char AcPlug; unsigned char Led; 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 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 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 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 :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 }bits; }relay_event; }Relay; 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); extern unsigned char Query_HW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf); extern unsigned char Query_Present_InputVoltage(unsigned char fd, unsigned char targetAddr, PresentInputVoltage *Ret_Buf); extern unsigned char Query_Present_OutputVoltage(unsigned char fd, unsigned char targetAddr, PresentOutputVoltage *Ret_Buf); extern unsigned char Query_Fan_Speed(unsigned char fd, unsigned char targetAddr, FanSpeed *Ret_Buf); extern unsigned char Query_Temperature(unsigned char fd, unsigned char targetAddr, Temperature *Ret_Buf); extern unsigned char Query_Aux_PowerVoltage(unsigned char fd, unsigned char targetAddr, AuxPower *Ret_Buf); extern unsigned char Query_Relay_Output(unsigned char fd, unsigned char targetAddr, Relay *Ret_Buf); extern unsigned char Query_Gfd_Adc(unsigned char fd, unsigned char targetAddr, Gfd *Ret_Buf); extern unsigned char Query_Gpio_Input(unsigned char fd, unsigned char targetAddr, Gpio_in *Ret_Buf); extern unsigned char Query_Model_Name(unsigned char fd, unsigned char targetAddr, unsigned char *modelname); extern unsigned char Config_Fan_Speed(unsigned char fd, unsigned char targetAddr, FanSpeed *Set_Buf); extern unsigned char Config_Relay_Output(unsigned char fd, unsigned char targetAddr, Relay *Set_Buf); extern unsigned char Config_Gpio_Output(unsigned char fd, unsigned char targetAddr, Gpio_out *Set_Buf); extern unsigned char Config_Gfd_Value(unsigned char fd, unsigned char targetAddr, Gfd_config *Set_Buf); extern unsigned char Config_Model_Name(unsigned char fd, unsigned char targetAddr, unsigned char *modelname); extern unsigned char Config_Rtc_Data(unsigned char fd, unsigned char targetAddr, Rtc *Set_Buf); 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 Query_AC_Status(unsigned char fd, unsigned char targetAddr, Ac_Status *Ret_Buf); extern unsigned char Query_AC_Alarm_Code(unsigned char fd, unsigned char targetAddr, Ac_Alarm_code *Ret_Buf); extern unsigned char Query_Charging_Energy(unsigned char fd, unsigned char targetAddr, Ac_Charging_energy *Ret_Buf); extern unsigned char Query_Charging_Current(unsigned char fd, unsigned char targetAddr, Ac_Charging_current *Ret_Buf); extern unsigned char Config_LED_Status(unsigned char fd, unsigned char targetAddr, Ac_Led_Status *Ret_Buf); extern unsigned char Config_Legacy_Req(unsigned char fd, unsigned char targetAddr, unsigned char _switch); extern unsigned char Config_Ac_Duty(unsigned char fd, unsigned char targetAddr, unsigned char _value); extern unsigned char Config_CSU_Mode(unsigned char fd, unsigned char targetAddr); extern unsigned char Config_Reset_MCU(unsigned char fd, unsigned char targetAddr); extern unsigned char Config_Led_Color(unsigned char fd, unsigned char targetAddr, Led_Color *Ret_Buf); #endif /* INTERNALCOMM_H_ */