PrimaryComm.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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 query_charging_power; // 0x2C
  17. unsigned char config_Model_Name; //0x83
  18. unsigned char config_Gpio_Output; //0x86
  19. unsigned char config_Rtc_Data; //0x87
  20. unsigned char update_Start; //0xe0
  21. unsigned char update_Abort; //0xe1
  22. unsigned char update_Transfer; //0xe2
  23. unsigned char update_Finish; //0xe3
  24. }Cmd;
  25. typedef struct Verion
  26. {
  27. char Version_FW[16];
  28. char Version_HW[16];
  29. }Ver;
  30. typedef struct GPIO_IN
  31. {
  32. unsigned char AC_Connector;
  33. unsigned char AC_MainBreaker;
  34. unsigned char SPD;
  35. unsigned char Door_Open;
  36. unsigned char GFD[2];
  37. unsigned char AC_Drop;
  38. unsigned char Emergency_IO;
  39. unsigned char Emergency_Btn;
  40. unsigned char Button[2];
  41. unsigned char Key[4];
  42. }Gpio_in;
  43. typedef struct GPIO_OUT
  44. {
  45. unsigned char Button_LED[2];
  46. unsigned char System_LED[4];
  47. unsigned char AC_Connector;
  48. unsigned char AC_Breaker;
  49. }Gpio_out;
  50. typedef struct RTC
  51. {
  52. unsigned char RtcData[14];
  53. }Rtc;
  54. extern unsigned char Query_FW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf);
  55. extern unsigned char Query_HW_Ver(unsigned char fd, unsigned char targetAddr, Ver *Ret_Buf);
  56. extern unsigned char Query_Gpio_Input(unsigned char fd, unsigned char targetAddr, Gpio_in *Ret_Buf);
  57. extern unsigned char Query_Meter_value(unsigned char fd, unsigned char targetAddr, struct StructMeter *Ret_Buf, byte *isWork, unsigned char index);
  58. extern unsigned char Config_Gpio_Output(unsigned char fd, unsigned char targetAddr, Gpio_out *Set_Buf);
  59. extern unsigned char Config_Rtc_Data(unsigned char fd, unsigned char targetAddr, Rtc *Set_Buf);
  60. unsigned char Config_Model_Name(unsigned char fd, unsigned char targetAddr, unsigned char *modelname);
  61. // 13 bytes
  62. // year : 4, month : 2, day : 2, hour : 2, min : 2, sec : 2
  63. //extern unsigned char Config_RTC();
  64. extern unsigned char Update_Start(unsigned char fd, unsigned char targetAddr, unsigned int crc32);
  65. extern unsigned char Update_Abord(unsigned char fd, unsigned char targetAddr);
  66. extern unsigned char Update_Transfer(unsigned char fd, unsigned char targetAddr, unsigned int startAddr, unsigned char *data, unsigned short int length);
  67. extern unsigned char Update_Finish(unsigned char fd, unsigned char targetAddr);
  68. #endif /* PRIMARYCOMM_H_ */