PrimaryComm.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #ifndef PRIMARYCOMM_H_
  2. #define PRIMARYCOMM_H_
  3. extern struct Address {
  4. unsigned char Aux;
  5. unsigned char Fan;
  6. unsigned char Relay;
  7. unsigned char IoExtend;
  8. unsigned char Broadcast;
  9. } Addr;
  10. extern struct Command {
  11. unsigned char query_FW_Ver; //0x01
  12. unsigned char query_HW_Ver; //0x02
  13. unsigned char query_Gpio_In; //0x0a
  14. unsigned char query_charging_power; // 0x2C
  15. unsigned char config_Model_Name; //0x83
  16. unsigned char config_Gpio_Output; //0x86
  17. unsigned char config_Rtc_Data; //0x87
  18. unsigned char update_Start; //0xe0
  19. unsigned char update_Abort; //0xe1
  20. unsigned char update_Transfer; //0xe2
  21. unsigned char update_Finish; //0xe3
  22. } Cmd;
  23. typedef struct Verion {
  24. char Version_FW[16];
  25. char Version_HW[16];
  26. } Ver;
  27. typedef struct GPIO_IN {
  28. unsigned char AC_Connector;
  29. unsigned char AC_MainBreaker;
  30. unsigned char SPD;
  31. unsigned char Door_Open;
  32. unsigned char GFD[2];
  33. unsigned char AC_Drop;
  34. unsigned char Emergency_IO;
  35. unsigned char Emergency_Btn;
  36. unsigned char Button[2];
  37. unsigned char Key[4];
  38. } Gpio_in;
  39. typedef struct GPIO_OUT {
  40. unsigned char Button_LED[2];
  41. unsigned char System_LED[4];
  42. unsigned char AC_Connector;
  43. unsigned char AC_Breaker;
  44. } Gpio_out;
  45. typedef struct RTC {
  46. unsigned char RtcData[14];
  47. } Rtc;
  48. extern unsigned char Query_FW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf);
  49. extern unsigned char Query_HW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf);
  50. extern unsigned char Query_Gpio_Input(unsigned char fd, unsigned char targetAddr, Gpio_in *Ret_Buf);
  51. extern unsigned char Config_Gpio_Output(unsigned char fd, unsigned char targetAddr, Gpio_out *Set_Buf);
  52. extern unsigned char Config_Rtc_Data(unsigned char fd, unsigned char targetAddr, Rtc *Set_Buf);
  53. unsigned char Config_Model_Name(unsigned char fd, unsigned char targetAddr, unsigned char *modelname);
  54. // 13 bytes
  55. // year : 4, month : 2, day : 2, hour : 2, min : 2, sec : 2
  56. //extern unsigned char Config_RTC();
  57. extern unsigned char Update_Start(unsigned char fd, unsigned char targetAddr, unsigned int crc32);
  58. extern unsigned char Update_Abord(unsigned char fd, unsigned char targetAddr);
  59. extern unsigned char Update_Transfer(unsigned char fd, unsigned char targetAddr, unsigned int startAddr, unsigned char *data, unsigned short int length);
  60. extern unsigned char Update_Finish(unsigned char fd, unsigned char targetAddr);
  61. #endif /* PRIMARYCOMM_H_ */