82 lines
1.6 KiB
C
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
|