| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- #ifndef MAIN_H
- #define MAIN_H
- #include "stdint.h"
- #define SINGLE_BEGIN_REGISTER 4000
- typedef struct {
- uint16_t on_off_state : 1;
- uint16_t v_top_en : 1;
- uint16_t v_top_wanning : 1;
- uint16_t v_down_en : 1;
- uint16_t v_down_wanning : 1;
- uint16_t i_top_en : 1;
- uint16_t i_top_wanning : 1;
- uint16_t p_top_en : 1;
- uint16_t p_top_wanning : 1;
- uint16_t e_top_en : 1;
- uint16_t e_top_wanning : 1;
- uint16_t : 5; //not used
- }r_state;
- typedef struct {
- uint16_t on_off_state : 1;
- uint16_t v_top_en : 1;
- uint16_t v_top_wanning : 1;
- uint16_t v_down_en : 1;
- uint16_t v_down_wanning : 1;
- uint16_t i_top_en : 1;
- uint16_t i_top_wanning : 1;
- uint16_t p_top_en : 1;
- uint16_t p_top_wanning : 1;
- uint16_t e_top_en : 1;
- uint16_t e_top_wanning : 1;
- uint16_t all_on : 1;
- uint16_t all_off : 1;
- uint16_t : 3;
- }w_state;
- typedef struct {
- uint16_t v_top_max : 1;
- uint16_t v_down_min : 1;
- uint16_t i_top_max : 1;
- uint16_t p_top_max : 1;
- uint16_t e_top_max : 1;
- uint16_t : 11;
- }all_wanning;
- #pragma pack (2)
- typedef union {
- uint16_t data[11];
- uint16_t device;
- }device_t;
- typedef struct{
- uint32_t AC_V;
- uint32_t AC_I;
- uint32_t AC_P;
- uint32_t AC_LINE_Freq;
- uint32_t AC_E;
- uint32_t AC_PF;
- }ele_info_t;
- typedef struct{
- uint32_t V_top;
- uint32_t V_down;
- uint32_t I_top;
- uint32_t I_down;
- uint32_t P_top;
- uint32_t P_down;
- uint32_t E_top;
- uint32_t E_down;
- }th_info;
- typedef struct{
- uint32_t V_k;
- uint32_t V_b;
- uint32_t I_k;
- uint32_t I_b;
- }cofe_t;
- typedef union{
- uint16_t data[198];
- ele_info_t info[10];
- }ele_data_t;
- typedef union{
- uint16_t data[41];
- r_state state[10];
- }states_t;
- typedef union{
- uint16_t data[50];
- uint32_t total_consumer[10];
- }consumer_t;
- typedef union{
- uint16_t data[10];
- uint32_t consumer;
- }all_chn_consumer_t;
- typedef union{
- uint16_t data[10];
- uint16_t detection;
- }detection_t;
- typedef union{
- uint16_t data[10];
- all_wanning wanning;
- }total_wanning_t;
- typedef union{
- uint16_t data[30];
- ele_info_t info;
- }total_ele_data_t;
- typedef union{
- uint16_t data[140];
- uint16_t dev_info;
- }device_info_t;
- typedef struct {
- device_t dev;
- ele_data_t ele_data;
- states_t stats;
- consumer_t consumer;
- detection_t detection;
- total_wanning_t t_wanning;
- total_ele_data_t t_ele_data;
- }md_read_t;
- typedef union{
- uint16_t data[18];
- uint16_t on[10];
- }w_delay_on_t;
- typedef union{
- uint16_t data[68];
- uint16_t off[10];
- }w_delay_off_t;
- typedef union{
- uint16_t data[43];
- w_state w_state[10];
- }w_state_t;
- typedef union{
- uint16_t data[238];
- th_info output[10];
- }w_th_info_t;
- typedef union{
- uint16_t data[233];
- cofe_t cofe[10];
- }w_cofe_t;
- typedef union{
- uint16_t data[20];
- uint16_t over[10];
- }w_over_t;
- typedef uint16_t clear_consumer_t;
- #pragma pack ()
- #endif
|