| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 | #include "at32f403a_407.h" #include "settings_api.h"#include "settings_ai.h"#include "analog_input.h"#if defined (MAI_12)//void settings_ai_set_all_default(void){    // Аналоговые входы    settings_ai_def(&settings);        // Питание внешних датчиков    settings_ext_sens_power_def(&settings);}//void settings_ai_def(settings_t *settings){    // Все входы выключены    settings->ai_state_bits = 0;        // Режим измерения напряжения    settings->ai_mode_bits = 0;        // режим измерения напряжения (0 - 0-10В)    settings->ai_voltage_mode_bits = 0;        // режим измерения тока (0 - 4-20 mA)    settings->ai_current_mode_bits = 0;        // Основные 12 каналов    for (int i = 0; i < AI_COMMON_NUMBER; i++)     {          settings->ai[i].state = 0;  // вход выключен        settings->ai[i].mode = 0;   // режим измерения напряжения (ток или напряжение)        settings->ai[i].voltage_mode = 0;   // диапазон измерения напряжения (0 - 0-10В)        settings->ai[i].current_mode = 0;   // диапазон измерения тока (0 - 4-20 mA)        settings->ai[i].gain_factor = 1;    // коэф-т усиления внешнего ADC        settings->ai[i].k_factor = 1.0;        settings->ai[i].b_factor = 0.0;    }        settings->ai[0].name = AN_INP_1;    settings->ai[1].name = AN_INP_2;    settings->ai[2].name = AN_INP_3;    settings->ai[3].name = AN_INP_4;    settings->ai[4].name = AN_INP_5;    settings->ai[5].name = AN_INP_6;    settings->ai[6].name = AN_INP_7;    settings->ai[7].name = AN_INP_8;    settings->ai[8].name = AN_INP_9;    settings->ai[9].name = AN_INP_10;    settings->ai[10].name = AN_INP_11;    settings->ai[11].name = AN_INP_12;    // Дополнительные 2 канала. Измерения происходят всегда.    for (int i = 0; i < AI_ADD_NUMBER; i++)     {          settings->ai_add[i].state = 1;  // вход включен        settings->ai_add[i].mode = 0;   // режим измерения напряжения        settings->ai_add[i].gain_factor = 1; // коэф-т усиления внешнего ADC        settings->ai_add[i].k_factor = 1.0;        settings->ai_add[i].b_factor = 0.0;    }        settings->ai_add[0].name = V_ISO_CL;    settings->ai_add[1].name = V_ISO;    settings->ai_add[2].name = CRNT_LIM_U_BFR_R;    settings->ai_add[3].name = CRNT_LIM_U_ABFR_R;        // Уставки        // Уставки по всем каналам включены    settings->preset_state_bits = 4095;        // Параметры уставок    for (int i = 0; i < AI_COMMON_NUMBER; i++)    {        settings->preset[i].state = 1;      // включена        settings->preset[i].type = 0;       // тип уставки - фиксированное значение        settings->preset[i].hyst = 5.0;     //        settings->preset[i].min = 0;        // TODO пока условно        settings->preset[i].max = 30000;    // TODO пока условно    }            // Время ведения архива по каждому каналу (сек.)    for (uint8_t i = 0; i < ARCH_AI_CH_NUMBER; i++) {        settings->period_archive[i] = 3600;    }        }//void settings_ext_sens_power_def(settings_t *settings){    settings->ext_sens_power = 0;}#endif
 |