#ifndef _CASCADE_H_ #define _CASCADE_H_ #include "datadef.h" typedef struct { int dlen; uint8_t *data; }data_t; enum { OBJ_OVERALL=0, OBJ_CHANNEL, OBJ_HISTORY, OBJ_SENSOR, }; typedef union{ uint8_t data[100]; int sendlen_offset; }cmd_da; typedef struct { uint8_t cmd; uint8_t obj; uint8_t chId; //uint8_t data[200]; cmd_da c_m; }cmd_data_t; typedef struct { int addr; int err; //err times }slave_t; typedef struct { uint8_t cnt; slave_t *slave; }dev_list_t; //±±ÏòÊý¾Ý¼Ä´æÆ÷ #define AC_DC_DEV_CHN_REG (4000) #define AC_DC_DRY_REG (4987) #define AC_DC_SET_DELAY_OPEN (5000) #define AC_DC_SET_DELAY_CLOSE (5064) #define AC_DC_CHN_SET_SWITCH_STA_REG (5128) #define AC_DC_ALL_SET_SWITCH_REG (5192) #define AC_3_DEV_CHN_REG (6000) #define AC_3_DRY_REG (8795) #define AC_3_SET_DELAY_OPEN (9000) #define AC_3_SET_DELAY_CLOSE (9064) #define AC_3_CHN_SET_SWITCH_STA_REG (9128) #define AC_3_ALL_SET_SWITCH_REG (9192) #define CASCADE_REG_OFFSET 0x10 #define CASCADE_REG_READ (CASCADE_REG_OFFSET+0) #define CASCADE_REG_WRITE (CASCADE_REG_OFFSET+1) #define CASCADE_REG_SCAN (CASCADE_REG_OFFSET+2) enum { CASCADE_CMD_OPEN=0, CASCADE_CMD_CLOSE, CASCADE_CMD_SAVE, CASCADE_CMD_SAVE3, CASCADE_CMD_GET_INFO, CASCADE_CMD_QUERY_CH, CASCADE_CMD_QUERY_VOL, CASCADE_CMD_QUERY_CUR, CASCADE_CMD_QUERY_PWR, CASCADE_CMD_QUERY_PWRQ, CASCADE_CMD_QUERY_HIS, CASCADE_CMD_QUERY_TOTAL, CASCADE_CMD_QUERY_TOTAL_PWR, CASCADE_CMD_BREAKER_QUERY, CASCADE_CMD_BREAKER_GET_INFO, CASCADE_CMD_BREAKER_SAVE_ADD, CASCADE_CMD_BREAKER_SAVE_UPDATE, CASCADE_CMD_BREAKER_SAVE_DELETE, CASCADE_CMD_OPEN_NF, CASCADE_CMD_CLOSE_NF, CASCADE_CMD_MAX, }; uint8_t cascade_init(); uint8_t cascade_deinit(); void cascade_reset(uint8_t mode,uint8_t addr); void cascade_scan_thread(void *arg); void cascade_thread(void *arg); int cascade_request(cmd_data_t *cmd); uint8_t cascade_read_slave(uint8_t addr); uint8_t cascade_set_mode(uint8_t mode,uint8_t addr); void cascade_reinit(uint8_t mode,uint8_t addr,uint32_t baud); int cascade_get_dlist(dev_list_t *dl); int cascade_free_dlist(dev_list_t *dl); int cascade_power_get(power_all_t *all); #endif