

//
void ai_base_init(void)
{
    for (uint8_t i = 0; i < AI_NUMBER; i++)
    {
        if (settings.ai[i].state) {
            ai_state_bit |= 1 << i;
            leds[ai_input_led[i]].state = LED_ON;
        }
        else {
            ai_state_bit &= ~(1 << i);
            leds[ai_input_led[i]].state = LED_OFF;
        }
    }
}


//
void ao_init(void)
{
    // Обновление состояний LED
    // Зеленые LED сигнализируют (вкл/выкл) входов. Проверка на безопасный режим.
    if (save_mode_get())
        ao_led_update(settings.ao_save);
    else 
        ao_led_update(settings.ao);
    
    // Сдвиговые регистры
    sh_init();
    
    // Внешний DAC
    dac_init();
    
    // Режир работы выходов.
    // При старте проверяется состояние безопасного режима в настройках
    if (save_mode_get()) {
        ao_mode = settings.ao_mode_save_bits;
    }
    else {
        ao_mode = settings.ao_mode_bits;
    }
    
    // Флаг - нужно обновить значения на выходах
    ao_set_value_flag();
}