#ifndef __FLOW_H #define __FLOW_H #include <stdint.h> typedef struct { uint16_t magic; struct _ch { uint16_t ad_4ma; uint16_t ad_20ma; } ch[2]; } cal_4_20ma_t; typedef struct { int16_t flow_min; int16_t flow_max; } ad_flow_cal_t; //存储ad转换的最大流量和最小流量 typedef struct { uint16_t magic; uint16_t input_type; // 1: 4~20ma 2: 0~3.6K int16_t min_flow[2]; // 小流量切除 ad_flow_cal_t ad_cal[2]; uint16_t pulse_coef[2]; uint16_t rsv[6]; } flow_config_t; typedef struct { int16_t flow_; int16_t flow; int32_t total_flow; uint32_t update_time; } flow_t; extern cal_4_20ma_t *cal_4_20ma; extern flow_config_t *flow_config; extern flow_t *pflow; void flow_init(void); void zero_totalflow(int ch); void flow_zero(void); int get_total_flow_by_time(int ch, uint32_t time); #endif