73 lines
1.4 KiB
C
73 lines
1.4 KiB
C
#ifndef _MUX_SIGNAL_H_
|
||
#define _MUX_SIGNAL_H_
|
||
|
||
#include "data_type_def.h"
|
||
#include "gpio.h"
|
||
|
||
#define PWM_MUX 0
|
||
#define PWM_HART 1
|
||
|
||
typedef enum
|
||
{
|
||
CH0_OUT_VOL_V = 0,
|
||
CH1_OUT_VOL_MV = 1,
|
||
CH2_OUT_CUR = 2,
|
||
CH3_OUT_FRE = 3,
|
||
CH4_OUT_RES = 4,
|
||
CH5_EMPTY = 5,
|
||
CH6_IN_VOL = 6,
|
||
CH7_IN_MVOL = 7,
|
||
CH8_IN_CUR = 8,
|
||
CH9_IN_FRE = 9,
|
||
CH10_IN_RTD = 10,
|
||
CH11_IN_TC = 11,
|
||
CH12_IN_HART = 12,
|
||
CHX_IN_MAX = 13,
|
||
|
||
} CHANNEL;
|
||
|
||
typedef enum
|
||
{
|
||
CAL_FLAG_CUR_MA_OUT = 0,
|
||
CAL_FLAG_VOUT_V_OUT,
|
||
CAL_FLAG_VOUT_MV_OUT,
|
||
CAL_FLAG_RES_OHM_OUT,
|
||
CAL_FLAG_CUR_MA_IN,
|
||
CAL_FLAG_VOUT_V_IN,
|
||
CAL_FLAG_VOUT_MV_IN,
|
||
CAL_FLAG_RES_OHM_IN,
|
||
CAL_FLAG_NONE
|
||
}CALIBRATE_FLAGS;
|
||
|
||
typedef struct
|
||
{
|
||
uint8_t capture_cnt;
|
||
uint8_t over_cnt;
|
||
float32 high_time; // 高电平时间
|
||
float32 duty_time; // 周期
|
||
float32 freq;
|
||
float32 capture_buf[3];
|
||
} st_freq_signal;
|
||
|
||
typedef struct
|
||
{
|
||
CHANNEL channel;
|
||
float32 data_sv;
|
||
float32 data_pv;
|
||
float32 pwr_delay;
|
||
float32 sv_calibrated;
|
||
} st_mux_signal;
|
||
|
||
extern st_freq_signal freq_signal;
|
||
extern st_mux_signal mux_signal;
|
||
|
||
void pwr_cosume(BOOL rst, uint32_t ms);
|
||
void mux_signal_switch(st_mux_signal *mux_signal);
|
||
void frequence_output(uint32_t freq, uint8_t pulse, uint8_t pwm_select);
|
||
|
||
//加载校准所需的参数,EEPROM读取
|
||
void load_calibrate_data(void);
|
||
void deal_calibrate_affair(void);
|
||
|
||
#endif
|