#ifndef __OUTPUT_H
#define __OUTPUT_H


#include "io.h"


#define PWM_PERIOD_TEST     20
#define PWM_DUTY_TEST       18


extern out_t outputs[];

extern simple_gpio_t load_sens[];


//
void out_gpio_init(out_t *out, uint8_t index);

//
void do_set_common(void);

//
void do_set(void);

// Установка значения на выходе 
void do_update(out_t *out, uint8_t index);

//
void do_set_mode(void);

//
void do_set_pwm(uint16_t period, uint16_t duty, uint8_t index);

//
void do_set_out(out_t *out, uint8_t val);

// 
void out_pwm_tim_init(void);

//
void out_as_pwm(void);

//
void pwm_proc(void);

//
void load_sens_init(simple_gpio_t *sens);

//
void out_test(void);

//
void load_test(void);


#endif  // __OUTPUT_H

