PrimaryComm.h 2.4 KB

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