Обновление
This commit is contained in:
parent
fc8c8736ca
commit
668cd517ad
18
Model_Task.c
18
Model_Task.c
|
|
@ -12,9 +12,17 @@
|
||||||
|
|
||||||
void ModelTask_Init(
|
void ModelTask_Init(
|
||||||
tModelTask *env,
|
tModelTask *env,
|
||||||
|
tLinTaskActuator *linTaskActuator1,
|
||||||
|
tLinTaskActuator *linTaskActuator2,
|
||||||
|
tLinTaskActuator *linTaskActuator3,
|
||||||
tLoggerInterface *logger
|
tLoggerInterface *logger
|
||||||
) {
|
) {
|
||||||
HVAC_model_initialize();
|
HVAC_model_initialize();
|
||||||
|
|
||||||
|
env->linTaskActuator1 = linTaskActuator1;
|
||||||
|
env->linTaskActuator2 = linTaskActuator2;
|
||||||
|
env->linTaskActuator3 = linTaskActuator3;
|
||||||
|
|
||||||
env->access = osMutexNew(NULL);
|
env->access = osMutexNew(NULL);
|
||||||
env->logger = logger;
|
env->logger = logger;
|
||||||
InitThreadAtrStatic(&env->thread.attr, "ModelTask", env->thread.controlBlock, env->thread.stack, osPriorityNormal);
|
InitThreadAtrStatic(&env->thread.attr, "ModelTask", env->thread.controlBlock, env->thread.stack, osPriorityNormal);
|
||||||
|
|
@ -23,12 +31,10 @@ void ModelTask_Init(
|
||||||
|
|
||||||
static bool setActuatorBusy(tModelTask *env) {
|
static bool setActuatorBusy(tModelTask *env) {
|
||||||
|
|
||||||
for (uint8_t i = 0; i < 9; ++i) {
|
for (uint8_t i = 0; i < env->linTaskActuator1->LIN_ISSR_ALL; ++i) {
|
||||||
if (Actuator_Ch0_Command_Model.COM[i] != 0) {
|
if (Actuator_Ch0_Command_Model.COM[i] != 0) {
|
||||||
#if (LOG_LIN_ACTUATOR == 1)
|
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "DETECT COMMAND")
|
env->triggerCommand1 = true;
|
||||||
#endif
|
|
||||||
env->triggerCommand = true;
|
|
||||||
|
|
||||||
memcpy(&env->triggerActuatorCmdBus_1, &Actuator_Ch0_Command_Model, sizeof(ActuatorCmdBus));
|
memcpy(&env->triggerActuatorCmdBus_1, &Actuator_Ch0_Command_Model, sizeof(ActuatorCmdBus));
|
||||||
|
|
||||||
|
|
@ -44,8 +50,6 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (osMutexAcquire(env->access, 1000) == osOK) {
|
if (osMutexAcquire(env->access, 1000) == osOK) {
|
||||||
|
|
||||||
//LoggerFormatInfo(LOGGER, LOG_SIGN, "in_Busy_Ch0 = %d in_Act_Stall_Slave_Ch0 = %d", rtU.in_Busy_Ch0, rtU.in_Act_Stall_Slave_Ch0[7])
|
|
||||||
|
|
||||||
HVAC_model_step();
|
HVAC_model_step();
|
||||||
setActuatorBusy(env);
|
setActuatorBusy(env);
|
||||||
env->isUpdate = true;
|
env->isUpdate = true;
|
||||||
|
|
|
||||||
17
Model_Task.h
17
Model_Task.h
|
|
@ -9,6 +9,7 @@
|
||||||
#include "stdbool.h"
|
#include "stdbool.h"
|
||||||
#include "LoggerInterface.h"
|
#include "LoggerInterface.h"
|
||||||
#include "HVAC_model.h"
|
#include "HVAC_model.h"
|
||||||
|
#include "LinActuatorTasks.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
||||||
|
|
@ -16,7 +17,13 @@ typedef struct {
|
||||||
|
|
||||||
tLoggerInterface *logger;
|
tLoggerInterface *logger;
|
||||||
|
|
||||||
bool triggerCommand;
|
tLinTaskActuator *linTaskActuator1;
|
||||||
|
tLinTaskActuator *linTaskActuator2;
|
||||||
|
tLinTaskActuator *linTaskActuator3;
|
||||||
|
|
||||||
|
bool triggerCommand1;
|
||||||
|
bool triggerCommand2;
|
||||||
|
bool triggerCommand3;
|
||||||
ActuatorCmdBus triggerActuatorCmdBus_1;
|
ActuatorCmdBus triggerActuatorCmdBus_1;
|
||||||
ActuatorCmdBus triggerActuatorCmdBus_2;
|
ActuatorCmdBus triggerActuatorCmdBus_2;
|
||||||
ActuatorCmdBus triggerActuatorCmdBus_3;
|
ActuatorCmdBus triggerActuatorCmdBus_3;
|
||||||
|
|
@ -33,7 +40,13 @@ typedef struct {
|
||||||
} tModelTask;
|
} tModelTask;
|
||||||
|
|
||||||
|
|
||||||
void ModelTask_Init(tModelTask *env, tLoggerInterface *logger);
|
void ModelTask_Init(
|
||||||
|
tModelTask *env,
|
||||||
|
tLinTaskActuator *linTaskActuator1,
|
||||||
|
tLinTaskActuator *linTaskActuator2,
|
||||||
|
tLinTaskActuator *linTaskActuator3,
|
||||||
|
tLoggerInterface *logger
|
||||||
|
);
|
||||||
|
|
||||||
void ModelTask_StartThread(tModelTask *env);
|
void ModelTask_StartThread(tModelTask *env);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue