12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #include "at32f403a_407.h"
- #include "settings_api.h"
- #include "settings_dio_api.h"
- //
- void settings_dio_set_all_default(void)
- {
- // Дискретные/счетные входы
- settings_din_def(&settings);
-
- // Выходы
- settings_do_def(&settings);
-
- // Безопасный режим
- settings.save_mode = 1;
-
- // Время ожидания опроса (сек.)
- settings.save_delay = 60;
-
- // Время ведения архива по каждому каналу (сек.)
- for (uint8_t i = 0; i < ARCH_CH_NUMBER; i++) {
- settings.period_archive[i] = 3600;
- }
- }
- // Установить параметры дискретных входов по умолчанию
- void settings_din_def(settings_t *settings)
- {
- settings->di_mode_bits = 0;
- settings->di_norm_state_bits = 0;
-
- for (int i = 0; i < DI_NUMBER; i++) {
- settings->di_debounce[i] = 50;
- }
- }
- // Выходы
- void settings_do_def(settings_t *settings)
- {
- settings->do_mode_bits = 0; // режим работы выхода (обычный выход)
- settings->do_bits = 0; // последнее сохраненное значение
- settings->do_save_bits = 0;
-
- for (uint8_t i = 0; i < DO_NUMBER; i++)
- {
- settings->do_pwm[i] = 30;
- settings->do_pwm_save[i] = 30; // значение на выходах в бесопасном режиме работы
- settings->do_pwm_period[i] = 50;
- settings->do_pwm_period_save[i] = 50;
- }
- }
|