Обновление

This commit is contained in:
cfif 2026-02-16 12:23:25 +03:00
parent fc8c8736ca
commit 668cd517ad
2 changed files with 26 additions and 9 deletions

View File

@ -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;

View File

@ -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);