1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #ifndef PRIMARYCOMM_H_
- #define PRIMARYCOMM_H_
- //------------------------------------------------------------------------------
- #include <stdint.h>
- //------------------------------------------------------------------------------
- //------------------------------------------------------------------------------
- // primary operative address
- //------------------------------------------------------------------------------
- #define OP_ADDR_AUX (0x01)
- #define OP_ADDR_FAN (0x02)
- #define OP_ADDR_RELAY (0x03)
- #define OP_ADDR_IO_EXTEND (0x04)
- #define OP_ADDR_BROADCAST (0xFF)
- //------------------------------------------------------------------------------
- // primary send packet command
- //------------------------------------------------------------------------------
- #define CMD_QUERY_FW_VER (0x01)
- #define CMD_QUERY_HW_VER (0x02)
- #define CMD_QUERY_GPIO_IN (0x0a)
- #define CMD_CONFIG_GPIO_OUTPUT (0x86)
- #define CMD_CONFIG_RTC (0x87)
- #define CMD_CONFIG_MODEL_NAME (0x83)
- #define CMD_UPDATE_START (0xe0)
- #define CMD_UPDATE_ABORT (0xe1)
- #define CMD_UPDATE_TRANSFER (0xe2)
- #define CMD_UPDATE_FINISH (0xe3)
- //------------------------------------------------------------------------------
- typedef struct Verion {
- char Version_FW[16];
- char Version_HW[16];
- } Ver;
- typedef struct GPIO_IN {
- uint8_t AC_Connector;
- uint8_t AC_MainBreaker;
- uint8_t SPD;
- uint8_t Door_Open;
- uint8_t GFD[2];
- uint8_t AC_Drop;
- uint8_t Emergency_IO;
- uint8_t Emergency_Btn;
- uint8_t Button[2];
- uint8_t Key[4];
- uint8_t Button3;
- } Gpio_in;
- typedef struct GPIO_OUT {
- uint8_t Button_LED[2];
- uint8_t System_LED[4];
- uint8_t AC_Connector;
- uint8_t AC_Breaker;
- } Gpio_out;
- typedef struct RTC {
- uint8_t RtcData[14];
- } Rtc;
- int Query_FW_Ver(uint8_t fd, uint8_t targetAddr, Ver *Ret_Buf);
- int Query_HW_Ver(uint8_t fd, uint8_t targetAddr, Ver *Ret_Buf);
- int Query_Gpio_Input(uint8_t fd, uint8_t targetAddr, Gpio_in *Ret_Buf);
- int Config_Gpio_Output(uint8_t fd, uint8_t targetAddr, Gpio_out *Set_Buf);
- int Config_Rtc_Data(uint8_t fd, uint8_t targetAddr, Rtc *Set_Buf);
- int Config_Model_Name(uint8_t fd, uint8_t targetAddr, uint8_t *modelname);
- // 13 bytes
- // year : 4, month : 2, day : 2, hour : 2, min : 2, sec : 2
- //int Config_RTC();
- int Update_Start(uint8_t fd, uint8_t targetAddr, uint32_t crc32);
- int Update_Abord(uint8_t fd, uint8_t targetAddr);
- int Update_Transfer(uint8_t fd, uint8_t targetAddr, uint32_t startAddr, uint8_t *data, uint16_t length);
- int Update_Finish(uint8_t fd, uint8_t targetAddr);
- #endif /* PRIMARYCOMM_H_ */
|