//
// Created by villuton on 16.09.2025.
//
#include "Main_Private.h"
#include "Main_Thread.h"
#include "CmsisRtosThreadUtils.h"
#include "LoggerToSerialPort.h"

tMain env;
static void Main_PreInit (void){
    //Передача указателей структур в env
    env.serialPorts = &SERIAL_PORTS;
    env.flash = &NVM_STORAGE;
    //Инициализация внешних интерфесов
    Gpios_Init(&env.gpios);
    Adcs_Init(&env.adcs);
    SerialPorts_Init(&env.gpios.directionPins);

    // Инициализация потока MAIN
    Main_InitThread(&env);
}

void MAIN_INIT(void){
    Main_PreInit();
}

void MAIN_START(void){
    Main_StartThread(&env);
}
