internalComm.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. /*
  2. * internalComm.h
  3. *
  4. * Created on: 2019¦~5¤ë7¤é
  5. * Author: foluswen
  6. */
  7. #ifndef INTERNALCOMM_H_
  8. #define INTERNALCOMM_H_
  9. extern struct Address
  10. {
  11. unsigned char Aux;
  12. unsigned char Fan;
  13. unsigned char Relay;
  14. unsigned char Broadcast;
  15. }Addr;
  16. extern struct Command
  17. {
  18. unsigned char query_FW_Ver; //0x01
  19. unsigned char query_HW_Ver; //0x02
  20. unsigned char query_Present_InputVoltage; //0x03
  21. unsigned char query_Present_OutputVoltage; //0x04
  22. unsigned char query_Fan_Speed; //0x05
  23. unsigned char query_Temperature; //0x06
  24. unsigned char query_Aux_PowerVoltage; //0x07
  25. unsigned char query_Relay_Output; //0x08
  26. unsigned char query_Gfd_Adc; //0x09
  27. unsigned char query_Gpio_In; //0x0a
  28. unsigned char config_Fan_Speed; //0x81
  29. unsigned char config_Model_Name; //0x83
  30. unsigned char config_Relay_Output; //0x85
  31. unsigned char config_Gpio_Output; //0x86
  32. unsigned char config_Rtc_Data; //0x87
  33. unsigned char config_Gfd_Value; //0x8B
  34. unsigned char update_Start; //0xe0
  35. unsigned char update_Abort; //0xe1
  36. unsigned char update_Transfer; //0xe2
  37. unsigned char update_Finish; //0xe3
  38. }Cmd;
  39. typedef struct Verion
  40. {
  41. char Version_FW[9];
  42. char Version_HW[9];
  43. }Ver;
  44. typedef struct PRESENTINPUTVOLTAGE
  45. {
  46. unsigned char inputType; // 0x00: Line to Line 0x01: Line to Neutral
  47. double L1N_L12;
  48. double L2N_L23;
  49. double L3N_L31;
  50. }PresentInputVoltage;
  51. typedef struct PRESENTOUTPUTVOLTAGE
  52. {
  53. double behindFuse_Voltage_C1;
  54. double behindRelay_Voltage_C1;
  55. double behindFuse_Voltage_C2;
  56. double behindRelay_Voltage_C2;
  57. }PresentOutputVoltage;
  58. typedef struct FANSPEED
  59. {
  60. unsigned short int speed[8];
  61. }FanSpeed;
  62. typedef struct TEMPERATURE
  63. {
  64. unsigned char temperature[8];
  65. }Temperature;
  66. typedef struct AUXPOWER
  67. {
  68. unsigned char voltage[8];
  69. }AuxPower;
  70. typedef struct RELAY
  71. {
  72. union
  73. {
  74. unsigned char relay_status[8];
  75. struct
  76. {
  77. unsigned char AC_Contactor :1; //bit 0
  78. unsigned char CCS_Precharge :1; //bit 1
  79. unsigned char :1; //bit 2 reserved
  80. unsigned char :1; //bit 3 reserved
  81. unsigned char :1; //bit 4 reserved
  82. unsigned char :1; //bit 5 reserved
  83. unsigned char :1; //bit 6 reserved
  84. unsigned char :1; //bit 7 reserved
  85. unsigned char Gun1_N :1; //bit 0
  86. unsigned char Gun1_P :1; //bit 1
  87. unsigned char Gun1_Parallel_N :1; //bit 2
  88. unsigned char Gun1_Parallel_P :1; //bit 3
  89. unsigned char :1; //bit 4 reserved
  90. unsigned char :1; //bit 5 reserved
  91. unsigned char :1; //bit 6 reserved
  92. unsigned char :1; //bit 7 reserved
  93. unsigned char Gun2_N :1; //bit 0
  94. unsigned char Gun2_P :1; //bit 1
  95. unsigned char :1; //bit 2 reserved
  96. unsigned char :1; //bit 3 reserved
  97. unsigned char :1; //bit 4 reserved
  98. unsigned char :1; //bit 5 reserved
  99. unsigned char :1; //bit 6 reserved
  100. unsigned char :1; //bit 7 reserved
  101. }bits;
  102. }relay_event;
  103. }Relay;
  104. typedef struct GFD
  105. {
  106. unsigned short Resister_conn1;
  107. unsigned short voltage_conn1;
  108. unsigned char result_conn1;
  109. unsigned char rb_step_1;
  110. unsigned short Resister_conn2;
  111. unsigned short voltage_conn2;
  112. unsigned char result_conn2;
  113. unsigned char rb_step_2;
  114. }Gfd;
  115. typedef struct Gfd_CONFIG
  116. {
  117. unsigned char index;
  118. unsigned char state;
  119. }Gfd_config;
  120. typedef struct GPIO_IN
  121. {
  122. unsigned char AC_Connector; // bit 0
  123. unsigned char AC_MainBreaker; // bit 1
  124. unsigned char SPD; // bit 2
  125. unsigned char Door_Open; // bit 3
  126. unsigned char GFD[2]; // bit 4,5
  127. unsigned char AC_Drop; // bit 6
  128. unsigned char Emergency_IO; // bit 0
  129. unsigned char Button_Emergency_Press; // bit 0
  130. unsigned char Button_On_Press; // bit 1
  131. unsigned char Button_Off_Press; // bit 2
  132. unsigned char Key_1_Press; // bit 3
  133. unsigned char Key_2_Press; // bit 4
  134. unsigned char Key_3_Press; // bit 5
  135. unsigned char Key_4_Press; // bit 6
  136. }Gpio_in;
  137. typedef struct GPIO_OUT
  138. {
  139. unsigned char AC_Connector;
  140. unsigned char Button_LED[2];
  141. unsigned char System_LED[4];
  142. }Gpio_out;
  143. typedef struct RTC
  144. {
  145. unsigned char RtcData[14];
  146. }Rtc;
  147. extern unsigned char Query_FW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf);
  148. extern unsigned char Query_HW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf);
  149. extern unsigned char Query_Present_InputVoltage(unsigned char fd, unsigned char targetAddr, PresentInputVoltage *Ret_Buf);
  150. extern unsigned char Query_Present_OutputVoltage(unsigned char fd, unsigned char targetAddr, PresentOutputVoltage *Ret_Buf);
  151. extern unsigned char Query_Fan_Speed(unsigned char fd, unsigned char targetAddr, FanSpeed *Ret_Buf);
  152. extern unsigned char Query_Temperature(unsigned char fd, unsigned char targetAddr, Temperature *Ret_Buf);
  153. extern unsigned char Query_Aux_PowerVoltage(unsigned char fd, unsigned char targetAddr, AuxPower *Ret_Buf);
  154. extern unsigned char Query_Relay_Output(unsigned char fd, unsigned char targetAddr, Relay *Ret_Buf);
  155. extern unsigned char Query_Gfd_Adc(unsigned char fd, unsigned char targetAddr, Gfd *Ret_Buf);
  156. extern unsigned char Query_Gpio_Input(unsigned char fd, unsigned char targetAddr, Gpio_in *Ret_Buf);
  157. extern unsigned char Config_Fan_Speed(unsigned char fd, unsigned char targetAddr, FanSpeed *Set_Buf);
  158. extern unsigned char Config_Relay_Output(unsigned char fd, unsigned char targetAddr, Relay *Set_Buf);
  159. extern unsigned char Config_Gpio_Output(unsigned char fd, unsigned char targetAddr, Gpio_out *Set_Buf);
  160. extern unsigned char Config_Gfd_Value(unsigned char fd, unsigned char targetAddr, Gfd_config *Set_Buf);
  161. extern unsigned char Config_Model_Name(unsigned char fd, unsigned char targetAddr, unsigned char *modelname);
  162. extern unsigned char Config_Rtc_Data(unsigned char fd, unsigned char targetAddr, Rtc *Set_Buf);
  163. extern unsigned char Update_Start(unsigned char fd, unsigned char targetAddr, unsigned int crc32);
  164. extern unsigned char Update_Abord(unsigned char fd, unsigned char targetAddr);
  165. extern unsigned char Update_Transfer(unsigned char fd, unsigned char targetAddr, unsigned int startAddr, unsigned char *data, unsigned short int length);
  166. extern unsigned char Update_Finish(unsigned char fd, unsigned char targetAddr);
  167. #endif /* INTERNALCOMM_H_ */