#ifndef __ANALOG_OUTPUT_H
#define __ANALOG_OUTPUT_H

#include <stdbool.h>


typedef struct
{
    uint8_t state;          // 0 - выкл, 1 - вкл
    uint8_t mode;           // режим выхода (0 - напряжение, 1 - ток)
    uint16_t value;          // значение на DAC 
    
} ao_t;


//
void ao_init(void);

void ao_save_update(bool state);

//
void ao_led_update(ao_t *ao);

// 
void ao_set(void);

// 
void ao_set_save(void);

// 
void ao_set_mode(void);

//
void ao_set_mode_save(void);

//
void ao_set_value_flag(void);

//
void ao_set_values(ao_t *ao);

// 
void dac_task(void *params);


extern uint16_t ao_power;

#endif  // __ANALOG_OUTPUT_H

