PrimaryComm.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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_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. {
  25. char Version_FW[16];
  26. char Version_HW[16];
  27. }Ver;
  28. typedef struct GPIO_IN
  29. {
  30. unsigned char AC_Connector;
  31. unsigned char AC_MainBreaker;
  32. unsigned char SPD;
  33. unsigned char Door_Open;
  34. unsigned char GFD[2];
  35. unsigned char AC_Drop;
  36. unsigned char Emergency_IO;
  37. unsigned char Emergency_Btn;
  38. unsigned char Button[2];
  39. unsigned char Key[4];
  40. }Gpio_in;
  41. typedef struct GPIO_OUT
  42. {
  43. unsigned char Button_LED[2];
  44. unsigned char System_LED[4];
  45. unsigned char AC_Connector;
  46. unsigned char AC_Breaker;
  47. }Gpio_out;
  48. typedef struct RTC
  49. {
  50. unsigned char RtcData[14];
  51. }Rtc;
  52. extern unsigned char Query_FW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf);
  53. extern unsigned char Query_HW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf);
  54. extern unsigned char Query_Gpio_Input(unsigned char fd, unsigned char targetAddr, Gpio_in *Ret_Buf);
  55. extern unsigned char Config_Gpio_Output(unsigned char fd, unsigned char targetAddr, Gpio_out *Set_Buf);
  56. extern unsigned char Config_Rtc_Data(unsigned char fd, unsigned char targetAddr, Rtc *Set_Buf);
  57. // 13 bytes
  58. // year : 4, month : 2, day : 2, hour : 2, min : 2, sec : 2
  59. //extern unsigned char Config_RTC();
  60. extern unsigned char Update_Start(unsigned char fd, unsigned char targetAddr, unsigned int crc32);
  61. extern unsigned char Update_Abord(unsigned char fd, unsigned char targetAddr);
  62. extern unsigned char Update_Transfer(unsigned char fd, unsigned char targetAddr, unsigned int startAddr, unsigned char *data, unsigned short int length);
  63. extern unsigned char Update_Finish(unsigned char fd, unsigned char targetAddr);
  64. #endif /* PRIMARYCOMM_H_ */