// // Created by cfif on 05.05.23. // #ifndef WATER_BOX_BSD_MAINMODESARBITER_H #define WATER_BOX_BSD_MAINMODESARBITER_H #include "CmsisRtosThreadUtils.h" //Железные интерфейсы #include "PeripheralInterfaces.h" //Подсистемы #include "PowerManagement.h" #include "Rtcs.h" #include "LoggerToSerialPort.h" #include "Indication.h" #include "CommandLines.h" #include "DeviceStorage.h" #include "SerialPortCan.h" #include "CanSerialPortFrameXCP.h" #include "CanSpamReceiver.h" #include "CanSpamTransmitter.h" #include "Lins.h" #include "LinTasks.h" #include "AdcTasks.h" typedef struct { // Преферийные интерфесы tGpios *gpios; tSerialPorts *serialPorts; tLinPorts *linPorts; tCanPorts *canPorts; tLoggerToSerialPort slog; tStorageOnFlash *flash; tRtcs *rtcs; tAdcs *adcs; tDeviceStorage storage; tPowerManagement power; tCommandLine cli; tIndication Indication; tCanSerialPortFrameXCP CanSerialPortFrameXCP; tCanSpamReceiver canSpamReceiver; tCanSpamTransmitter canSpamTransmitter; tLinTaskActuator linTaskActuator0; tAdcTask adcTask0; tAdcTask adcTask1; struct { osThreadId_t id; uint32_t stack[1024 * 1]; StaticTask_t controlBlock; osThreadAttr_t attr; } thread; } tMma; void Mma_Init( tMma *env, tGpios *gpios, tAdcs *adcs, tSerialPorts *serialPorts, tLinPorts *linPorts, tCanPorts *canPorts, tRtcs *rtcs ); void Mma_StartThread(tMma *env); #endif //WATER_BOX_BSD_MAINMODESARBITER_H