| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 | #ifndef __ANALOG_INPUT_H#define __ANALOG_INPUT_H#include <stdbool.h>typedef struct{    uint8_t state;          // 0 - выкл, 1 - вкл    uint8_t mode;           // режим измерения (0 - напряжение, 1 - ток)    uint8_t current_mode;   // диапазон измерения тока (0 - 4-20мА, 1 - 0-20mA)    uint8_t voltage_mode;   // диапазон измерения напряжения (0 - 0-10В, 1 - 0-1В)    uint8_t name;           //     uint8_t gain_factor;    // коэффициент усиления    float k_factor;         //     float b_factor;         //} ai_t;typedef struct{    bool alarm_flag;    bool tim_flag;    uint32_t cnt;    } ai_alarm_t;// Режим измерения (ток или напряжение)typedef enum{    MEAS_VOLTAGE = 0,    MEAS_CURRENT,      } MEAS_CHAN_MODE_t;typedef enum {    MUX_301_CH = 0,    AN_INP_1,    AN_INP_2,    AN_INP_3,    AN_INP_4,    AN_INP_5,    AN_INP_6,    V_ISO_CL,   // +24 V    V_ISO,      // +5 V        MUX_401_CH,    AN_INP_7,    AN_INP_8,    AN_INP_9,    AN_INP_10,    AN_INP_11,    AN_INP_12,    CRNT_LIM_U_BFR_R,    CRNT_LIM_U_ABFR_R,    NUMBER_ADC_CH,    } ANALOG_IN_t;//void ai_init_modbus_params(void);//void ai_init(void);//void ai_led_update(void);// void ai_set(void);//void ai_set_meas_mode(void);//bool ai_adc_init(void);//void ai_processing(void);//void adc_meas_two_channels(ai_t *one, ai_t *two, uint16_t *out_one, uint16_t *out_two);//uint8_t adc_get_gain(uint8_t tmp);//void adc_print_data(void);//void adc_print_data_extend(void);// void adc_task(void *params);//void adc_alarm_task(void *params);//void ai_voltage_alarm_detect(void);//void ai_current_alarm_detect(void);//void ai_alarm_tim_handler(void);//void ai_connect_channel(uint8_t channel);//void ai_set_mode(MEAS_CHAN_MODE_t mode, uint8_t channel);//void ai_set_mode_word(MEAS_CHAN_MODE_t mode, uint8_t channel);//void ai_ext_sens_power(uint16_t state);//void ai_leds_processing(void);//void ai_connect_test(void);//void ai_mode_test(void);extern uint16_t ai_gain[];extern uint16_t adc_com_raw_data[];extern float adc_com_data[];extern uint16_t adc_com_fil_data[];extern uint16_t adc_add_raw_data[];extern uint16_t ai_alarm; extern uint16_t ai_state_bit;extern ai_alarm_t ai_alarm_f[];extern ai_alarm_t ai_cur_lim;#endif  // __ANALOG_INPUT_H
 |