12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #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;
-
- // Основные 12 каналов
- for (int i = 0; i < AI_COMMON_NUMBER; i++)
- {
- settings->ai[i].state = 0; // вход выключен
- settings->ai[i].mode = 0; // режим измерения напряжения
- settings->ai[i].gain_factor = 1; // коэф-т усиления внешнего ADC
- }
-
- 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;
- // Дополнительные 4 канала. Измерения происходят всегда.
- 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[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;
-
- // Время ведения архива по каждому каналу (сек.)
- 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
|