HVAC_M7_MODEL/Model_Task.h

56 lines
1.2 KiB
C

//
// Created by cfif on 19.12.2025.
//
#ifndef HVAC_M7_MODEL_TASK_H
#define HVAC_M7_MODEL_TASK_H
#include <cmsis_os.h>
#include "stdbool.h"
#include "LoggerInterface.h"
#include "HVAC_model.h"
#include "LinActuatorTasks.h"
typedef struct {
osMutexId_t access;
tLoggerInterface *logger;
tLinTaskActuator *linTaskActuator1;
tLinTaskActuator *linTaskActuator2;
tLinTaskActuator *linTaskActuator3;
bool triggerCommand1;
bool triggerCommand2;
bool triggerCommand3;
ActuatorCmdBus triggerActuatorCmdBus_1;
ActuatorCmdBus triggerActuatorCmdBus_2;
ActuatorCmdBus triggerActuatorCmdBus_3;
//uint8_t numCommand[9];
bool isUpdate;
struct {
osThreadId_t id;
uint32_t stack[1024];
StaticTask_t controlBlock;
osThreadAttr_t attr;
} thread;
} tModelTask;
void ModelTask_Init(
tModelTask *env,
tLinTaskActuator *linTaskActuator1,
tLinTaskActuator *linTaskActuator2,
tLinTaskActuator *linTaskActuator3,
tLoggerInterface *logger
);
void ModelTask_StartThread(tModelTask *env);
void ModelTask_StopThread(tModelTask *env);
#endif //HVAC_M7_MODEL_TASK_H