cascade.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #ifndef _CASCADE_H_
  2. #define _CASCADE_H_
  3. #include "datadef.h"
  4. typedef struct {
  5. int dlen;
  6. uint8_t *data;
  7. }data_t;
  8. enum {
  9. OBJ_OVERALL=0,
  10. OBJ_CHANNEL,
  11. OBJ_HISTORY,
  12. OBJ_SENSOR,
  13. };
  14. typedef union{
  15. uint8_t data[100];
  16. int sendlen_offset;
  17. }cmd_da;
  18. typedef struct {
  19. uint8_t cmd;
  20. uint8_t obj;
  21. uint8_t chId;
  22. //uint8_t data[200];
  23. cmd_da c_m;
  24. }cmd_data_t;
  25. typedef struct {
  26. int addr;
  27. int err; //err times
  28. }slave_t;
  29. typedef struct {
  30. uint8_t cnt;
  31. slave_t *slave;
  32. }dev_list_t;
  33. //±±ÏòÊý¾Ý¼Ä´æÆ÷
  34. #define AC_DC_DEV_CHN_REG (4000)
  35. #define AC_DC_DRY_REG (4987)
  36. #define AC_DC_SET_DELAY_OPEN (5000)
  37. #define AC_DC_SET_DELAY_CLOSE (5064)
  38. #define AC_DC_CHN_SET_SWITCH_STA_REG (5128)
  39. #define AC_DC_ALL_SET_SWITCH_REG (5192)
  40. #define AC_3_DEV_CHN_REG (6000)
  41. #define AC_3_DRY_REG (8795)
  42. #define AC_3_SET_DELAY_OPEN (9000)
  43. #define AC_3_SET_DELAY_CLOSE (9064)
  44. #define AC_3_CHN_SET_SWITCH_STA_REG (9128)
  45. #define AC_3_ALL_SET_SWITCH_REG (9192)
  46. #define CASCADE_REG_OFFSET 0x10
  47. #define CASCADE_REG_READ (CASCADE_REG_OFFSET+0)
  48. #define CASCADE_REG_WRITE (CASCADE_REG_OFFSET+1)
  49. #define CASCADE_REG_SCAN (CASCADE_REG_OFFSET+2)
  50. enum {
  51. CASCADE_CMD_OPEN=0,
  52. CASCADE_CMD_CLOSE,
  53. CASCADE_CMD_SAVE,
  54. CASCADE_CMD_SAVE3,
  55. CASCADE_CMD_GET_INFO,
  56. CASCADE_CMD_QUERY_CH,
  57. CASCADE_CMD_QUERY_VOL,
  58. CASCADE_CMD_QUERY_CUR,
  59. CASCADE_CMD_QUERY_PWR,
  60. CASCADE_CMD_QUERY_PWRQ,
  61. CASCADE_CMD_QUERY_HIS,
  62. CASCADE_CMD_QUERY_TOTAL,
  63. CASCADE_CMD_QUERY_TOTAL_PWR,
  64. CASCADE_CMD_BREAKER_QUERY,
  65. CASCADE_CMD_BREAKER_GET_INFO,
  66. CASCADE_CMD_BREAKER_SAVE_ADD,
  67. CASCADE_CMD_BREAKER_SAVE_UPDATE,
  68. CASCADE_CMD_BREAKER_SAVE_DELETE,
  69. CASCADE_CMD_OPEN_NF,
  70. CASCADE_CMD_CLOSE_NF,
  71. CASCADE_CMD_MAX,
  72. };
  73. uint8_t cascade_init();
  74. uint8_t cascade_deinit();
  75. void cascade_reset(uint8_t mode,uint8_t addr);
  76. void cascade_scan_thread(void *arg);
  77. void cascade_thread(void *arg);
  78. int cascade_request(cmd_data_t *cmd);
  79. uint8_t cascade_read_slave(uint8_t addr);
  80. uint8_t cascade_set_mode(uint8_t mode,uint8_t addr);
  81. void cascade_reinit(uint8_t mode,uint8_t addr,uint32_t baud);
  82. int cascade_get_dlist(dev_list_t *dl);
  83. int cascade_free_dlist(dev_list_t *dl);
  84. void cascade_reset_new(uint8_t mode,uint8_t addr,uint32_t baund);
  85. void cascade_tcp_thread(void *arg);
  86. #endif