123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- /*
- * internalComm.h
- *
- * Created on: 2019年5月7日
- * Author: foluswen
- */
- #ifndef _INTERNAL_COMM_H_
- #define _INTERNAL_COMM_H_
- //------------------------------------------------------------------------------
- #include <stdint.h>
- //------------------------------------------------------------------------------
- //address
- #define ADDR_AUX (0x01)
- #define ADDR_FAN (0x02)
- #if defined DD360 || defined DD360Audi || defined DD360ComBox
- #define ADDR_RELAY (0x09)
- #else
- #define ADDR_RELAY (0x03)
- #endif //defined DD360 || defined DD360Audi || defined DD360ComBox
- #define ADDR_AC_PLUG (0x05)
- #define ADDR_LED (0x06)
- #define ADDR_BROADCAST (0xFF)
- //command
- #define CMD_QUERY_FW_VER (0x01)
- #define CMD_QUERY_HW_VER (0x02)
- #define CMD_QUERY_PRESENT_IN_VOL (0x03)
- #define CMD_QUERY_PRESENT_OUT_VOL (0x04)
- #define CMD_QUERY_FAN_SPEED (0x05)
- #define CMD_QUERY_TEMPERATURE (0x06)
- #define CMD_QUERY_AUX_POWER_VOL (0x07)
- #define CMD_QUERY_RELAY_OUTPUT (0x08)
- #define CMD_QUERY_GFD_ADC (0x09)
- #define CMD_QUERY_GPIO_IN (0x0a)
- #define CMD_QUERY_MODEL_NAME (0x24)
- #define CMD_QUERY_AC_OUTPUT_CURRENT (0x27)
- #define CMD_QUERY_AC_STATUS (0x28)
- #define CMD_QUERY_AC_ALARM_CODE (0x29)
- #define CMD_QUERY_AC_OUTPUT_ENERGY (0x2C)
- #define CMD_CONFIG_FAN_SPEED (0x81)
- #define CMD_CONFIG_MODEL_NAME (0x83)
- #define CMD_CONFIG_RELAY_OUTPUT (0x85)
- #define CMD_CONFIG_GPIO_OUTPUT (0x86)
- #define CMD_CONFIG_RTC_DATA (0x87)
- #define CMD_CONFIG_AC_LED_STATUS (0x88)
- #define CMD_CONFIG_AC_DUTY (0x89)
- #define CMD_CONFIG_LEGACY_REQ (0x8A)
- #define CMD_CONFIG_GDF_VALUE (0x8B)
- #define CMD_CONFIG_RESET_MCU (0x8C)
- #define CMD_CONFIG_CSU_MODE (0x90)
- #define CMD_CONFIG_LEN_COLOR (0x93)
- #define CMD_UPDATE_START (0xe0)
- #define CMD_UPDATE_ABORT (0xe1)
- #define CMD_UPDATE_TRANSFER (0xe2)
- #define CMD_UPDATE_FINISH (0xe3)
- //------------------------------------------------------------------------------
- typedef struct Verion {
- char Version_FW[9];
- char Version_HW[9];
- } Ver;
- typedef struct PRESENTINPUTVOLTAGE {
- uint8_t 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 {
- uint16_t speed[8];
- } FanSpeed;
- typedef struct TEMPERATURE {
- uint8_t temperature[8];
- } Temperature;
- typedef struct AUXPOWER {
- uint8_t voltage[8];
- } AuxPower;
- typedef struct RELAY {
- union {
- uint8_t relay_status[8];
- struct {
- uint8_t AC_Contactor : 1; //bit 0
- uint8_t CCS_Precharge : 1; //bit 1
- uint8_t : 1; //bit 2 reserved
- uint8_t : 1; //bit 3 reserved
- uint8_t : 1; //bit 4 reserved
- uint8_t : 1; //bit 5 reserved
- uint8_t : 1; //bit 6 reserved
- uint8_t : 1; //bit 7 reserved
- uint8_t Gun1_N : 1; //bit 0
- uint8_t Gun1_P : 1; //bit 1
- uint8_t Gun1_Parallel_N : 1; //bit 2
- uint8_t Gun1_Parallel_P : 1; //bit 3
- uint8_t : 1; //bit 4 reserved
- uint8_t : 1; //bit 5 reserved
- uint8_t : 1; //bit 6 reserved
- uint8_t : 1; //bit 7 reserved
- uint8_t Gun2_N : 1; //bit 0
- uint8_t Gun2_P : 1; //bit 1
- uint8_t : 1; //bit 2 reserved
- uint8_t : 1; //bit 3 reserved
- uint8_t : 1; //bit 4 reserved
- uint8_t : 1; //bit 5 reserved
- uint8_t : 1; //bit 6 reserved
- uint8_t : 1; //bit 7 reserved
- } bits;
- } relay_event;
- } Relay;
- typedef struct GFD {
- unsigned short Resister_conn1;
- unsigned short voltage_conn1;
- uint8_t result_conn1;
- uint8_t rb_step_1;
- unsigned short Resister_conn2;
- unsigned short voltage_conn2;
- uint8_t result_conn2;
- uint8_t rb_step_2;
- } Gfd;
- typedef struct Gfd_CONFIG {
- uint8_t index;
- uint8_t state;
- } Gfd_config;
- typedef struct GPIO_IN {
- uint8_t AC_Connector; // bit 0
- uint8_t AC_MainBreaker; // bit 1
- uint8_t SPD; // bit 2
- uint8_t Door_Open; // bit 3
- uint8_t GFD[2]; // bit 4,5
- uint8_t AC_Drop; // bit 6
- uint8_t Emergency_IO; // bit 0
- uint8_t Button_Emergency_Press; // bit 0
- uint8_t Button_On_Press; // bit 1
- uint8_t Button_Off_Press; // bit 2
- uint8_t Key_1_Press; // bit 3
- uint8_t Key_2_Press; // bit 4
- uint8_t Key_3_Press; // bit 5
- uint8_t Key_4_Press; // bit 6
- uint8_t Button3; // bit 7
- } Gpio_in;
- typedef struct GPIO_OUT {
- uint8_t AC_Connector;
- uint8_t Button_LED[2];
- uint8_t System_LED[4];
- } Gpio_out;
- typedef struct RTC {
- uint8_t RtcData[14];
- } Rtc;
- typedef struct LED_Color {
- uint8_t Connect_1_Red;
- uint8_t Connect_1_Green;
- uint8_t Connect_1_Blue;
- uint8_t Connect_2_Red;
- uint8_t Connect_2_Green;
- uint8_t Connect_2_Blue;
- uint8_t Connect_3_Red;
- uint8_t Connect_3_Green;
- uint8_t Connect_3_Blue;
- uint8_t Connect_4_Red;
- uint8_t Connect_4_Green;
- uint8_t Connect_4_Blue;
- } Led_Color;
- typedef struct AC_Status {
- uint8_t CpStatus;
- unsigned short CurLimit;
- short PilotVol_P;
- short PilotVol_N;
- uint8_t LockStatus;
- uint8_t RelayStatus;
- uint8_t ShutterStatus;
- uint8_t MeterStatus;
- uint8_t PpStatus;
- uint8_t MaxCurrent;
- uint8_t RotateSwitchStatus;
- } Ac_Status;
- typedef struct AC_LED_Status {
- uint8_t ActionMode;
- unsigned long AcAlarmCode;
- } Ac_Led_Status;
- typedef struct AC_Alarm_Code {
- uint32_t AcAlarmCode;
- } Ac_Alarm_code;
- typedef struct AC_Charging_Energy {
- uint32_t Energy;
- } Ac_Charging_energy;
- typedef struct AC_Charging_Current {
- unsigned short OuputCurrentL1;
- unsigned short OuputCurrentL2;
- unsigned short OuputCurrentL3;
- } Ac_Charging_current;
- int Query_FW_Ver(uint8_t fd, uint8_t targetAddr, Ver *Ret_Buf);
- int Query_HW_Ver(uint8_t fd, uint8_t targetAddr, Ver *Ret_Buf);
- int Query_Present_InputVoltage(uint8_t fd, uint8_t targetAddr, PresentInputVoltage *Ret_Buf);
- int Query_Present_OutputVoltage(uint8_t fd, uint8_t targetAddr, PresentOutputVoltage *Ret_Buf);
- int Query_Fan_Speed(uint8_t fd, uint8_t targetAddr, FanSpeed *Ret_Buf);
- int Query_Temperature(uint8_t fd, uint8_t targetAddr, Temperature *Ret_Buf);
- int Query_Aux_PowerVoltage(uint8_t fd, uint8_t targetAddr, AuxPower *Ret_Buf);
- int Query_Relay_Output(uint8_t fd, uint8_t targetAddr, Relay *Ret_Buf);
- int Query_Gfd_Adc(uint8_t fd, uint8_t targetAddr, Gfd *Ret_Buf);
- int Query_Gpio_Input(uint8_t fd, uint8_t targetAddr, Gpio_in *Ret_Buf);
- int Query_Model_Name(uint8_t fd, uint8_t targetAddr, uint8_t *modelname);
- int Query_AC_Status(uint8_t fd, uint8_t targetAddr, Ac_Status *Ret_Buf);
- int Query_AC_Alarm_Code(uint8_t fd, uint8_t targetAddr, Ac_Alarm_code *Ret_Buf);
- int Query_Charging_Energy(uint8_t fd, uint8_t targetAddr, Ac_Charging_energy *Ret_Buf);
- int Query_Charging_Current(uint8_t fd, uint8_t targetAddr, Ac_Charging_current *Ret_Buf);
- int Config_Fan_Speed(uint8_t fd, uint8_t targetAddr, FanSpeed *Set_Buf);
- int Config_Relay_Output(uint8_t fd, uint8_t targetAddr, Relay *Set_Buf);
- int Config_Gpio_Output(uint8_t fd, uint8_t targetAddr, Gpio_out *Set_Buf);
- int Config_Gfd_Value(uint8_t fd, uint8_t targetAddr, Gfd_config *Set_Buf);
- int Config_Model_Name(uint8_t fd, uint8_t targetAddr, uint8_t *modelname);
- int Config_Rtc_Data(uint8_t fd, uint8_t targetAddr, Rtc *Set_Buf);
- int Config_LED_Status(uint8_t fd, uint8_t targetAddr, Ac_Led_Status *Ret_Buf);
- int Config_Legacy_Req(uint8_t fd, uint8_t targetAddr, uint8_t _switch);
- int Config_Ac_Duty(uint8_t fd, uint8_t targetAddr, uint8_t _value);
- int Config_CSU_Mode(uint8_t fd, uint8_t targetAddr);
- int Config_Reset_MCU(uint8_t fd, uint8_t targetAddr);
- int Config_Led_Color(uint8_t fd, uint8_t targetAddr, Led_Color *Ret_Buf, uint8_t ledNum);
- int Update_Start(uint8_t fd, uint8_t targetAddr, uint32_t crc32);
- int Update_Abord(uint8_t fd, uint8_t targetAddr);
- int Update_Transfer(uint8_t fd, uint8_t targetAddr, uint32_t startAddr, uint8_t *data, uint16_t length);
- int Update_Finish(uint8_t fd, uint8_t targetAddr);
- #endif /* _INTERNAL_COMM_H_ */
|