main_bak.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. #ifndef MAIN_H
  2. #define MAIN_H
  3. #include "stdint.h"
  4. #define SINGLE_BEGIN_REGISTER 4000
  5. typedef struct {
  6. uint16_t on_off_state : 1;
  7. uint16_t v_top_en : 1;
  8. uint16_t v_top_wanning : 1;
  9. uint16_t v_down_en : 1;
  10. uint16_t v_down_wanning : 1;
  11. uint16_t i_top_en : 1;
  12. uint16_t i_top_wanning : 1;
  13. uint16_t p_top_en : 1;
  14. uint16_t p_top_wanning : 1;
  15. uint16_t e_top_en : 1;
  16. uint16_t e_top_wanning : 1;
  17. uint16_t : 5; //not used
  18. }r_state;
  19. typedef struct {
  20. uint16_t on_off_state : 1;
  21. uint16_t v_top_en : 1;
  22. uint16_t v_top_wanning : 1;
  23. uint16_t v_down_en : 1;
  24. uint16_t v_down_wanning : 1;
  25. uint16_t i_top_en : 1;
  26. uint16_t i_top_wanning : 1;
  27. uint16_t p_top_en : 1;
  28. uint16_t p_top_wanning : 1;
  29. uint16_t e_top_en : 1;
  30. uint16_t e_top_wanning : 1;
  31. uint16_t all_on : 1;
  32. uint16_t all_off : 1;
  33. uint16_t : 3;
  34. }w_state;
  35. typedef struct {
  36. uint16_t v_top_max : 1;
  37. uint16_t v_down_min : 1;
  38. uint16_t i_top_max : 1;
  39. uint16_t p_top_max : 1;
  40. uint16_t e_top_max : 1;
  41. uint16_t : 11;
  42. }all_wanning;
  43. #pragma pack (2)
  44. typedef union {
  45. uint16_t data[11];
  46. uint16_t device;
  47. }device_t;
  48. typedef struct{
  49. uint32_t AC_V;
  50. uint32_t AC_I;
  51. uint32_t AC_P;
  52. uint32_t AC_LINE_Freq;
  53. uint32_t AC_E;
  54. uint32_t AC_PF;
  55. }ele_info_t;
  56. typedef struct{
  57. uint32_t V_top;
  58. uint32_t V_down;
  59. uint32_t I_top;
  60. uint32_t I_down;
  61. uint32_t P_top;
  62. uint32_t P_down;
  63. uint32_t E_top;
  64. uint32_t E_down;
  65. }th_info;
  66. typedef struct{
  67. uint32_t V_k;
  68. uint32_t V_b;
  69. uint32_t I_k;
  70. uint32_t I_b;
  71. }cofe_t;
  72. typedef union{
  73. uint16_t data[198];
  74. ele_info_t info[10];
  75. }ele_data_t;
  76. typedef union{
  77. uint16_t data[41];
  78. r_state state[10];
  79. }states_t;
  80. typedef union{
  81. uint16_t data[50];
  82. uint32_t total_consumer[10];
  83. }consumer_t;
  84. typedef union{
  85. uint16_t data[10];
  86. uint32_t consumer;
  87. }all_chn_consumer_t;
  88. typedef union{
  89. uint16_t data[10];
  90. uint16_t detection;
  91. }detection_t;
  92. typedef union{
  93. uint16_t data[10];
  94. all_wanning wanning;
  95. }total_wanning_t;
  96. typedef union{
  97. uint16_t data[30];
  98. ele_info_t info;
  99. }total_ele_data_t;
  100. typedef union{
  101. uint16_t data[140];
  102. uint16_t dev_info;
  103. }device_info_t;
  104. typedef struct {
  105. device_t dev;
  106. ele_data_t ele_data;
  107. states_t stats;
  108. consumer_t consumer;
  109. detection_t detection;
  110. total_wanning_t t_wanning;
  111. total_ele_data_t t_ele_data;
  112. }md_read_t;
  113. typedef union{
  114. uint16_t data[18];
  115. uint16_t on[10];
  116. }w_delay_on_t;
  117. typedef union{
  118. uint16_t data[68];
  119. uint16_t off[10];
  120. }w_delay_off_t;
  121. typedef union{
  122. uint16_t data[43];
  123. w_state w_state[10];
  124. }w_state_t;
  125. typedef union{
  126. uint16_t data[238];
  127. th_info output[10];
  128. }w_th_info_t;
  129. typedef union{
  130. uint16_t data[233];
  131. cofe_t cofe[10];
  132. }w_cofe_t;
  133. typedef union{
  134. uint16_t data[20];
  135. uint16_t over[10];
  136. }w_over_t;
  137. typedef uint16_t clear_consumer_t;
  138. #pragma pack ()
  139. #endif