HVAC_M7_DebugTesting/MainModesArbiter.h

82 lines
1.6 KiB
C

//
// 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