/*
 * main.c
 *
 * Created: 18.06.2023 19:53:46
 *  Author: Lada Yuzhakova
 */ 

#include "UART.h"
#include "modbus.h"
#include "timer.h"
#include "device_adc.h"
#include "device_ring_buffer.h"
#include "gpio.h"
#include <avr/io.h>

int main(void)
{
	// Èíèöèàëèçàöèè
	adc_init();
	uart_initialize();
	modbus_init();
	gpio_init();
	rb_initialize(get_rb_receive());
	rb_initialize(get_rb_transmit());
	// Çàïóñêàåì òàéìåð
	setup_timer();

    while(1)
    {
        // Ôóíêöèÿ ïðèåìà ìîäáàñ-çàïðîñà
        modbus_rtu();
        // Ôóíêöèÿ ôîðìèðîâàíèÿ ìîäáàñ-îòâåòà
        modbus_answer();
        // Îòïðàâëÿòü îòâåò ïî óàðò
        UART_Transmit(get_rb_transmit());
    }
	
	return 0;
}