Обновление

This commit is contained in:
cfif 2026-02-16 12:23:25 +03:00
parent 792c9f5db5
commit 6b130cda42
4 changed files with 21 additions and 16 deletions

View File

@ -17,6 +17,7 @@ void LinActuatorWork(tMma *env, tLinTaskActuator *linTaskActuator,
ActuatorCmdBus *actuator_Command_Model_trigger_local,
ActuatorCmdBusInput *actuator_Output_Model_local,
ActuatorCmdBusInput *actuator_Output_Model_model,
bool *triggerCommand,
char *LOG_SIGN) {
if (osMutexAcquire(linTaskActuator->access, 5000) == osOK) {
@ -72,7 +73,7 @@ void LinActuatorWork(tMma *env, tLinTaskActuator *linTaskActuator,
if (osMutexAcquire(env->ModelTask.access, 5000) == osOK) {
// Если принята команда
if (env->ModelTask.triggerCommand == true) {
if (*triggerCommand == true) {
#if (LOG_LIN_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "DETECT COMMAND")
#endif
@ -81,9 +82,9 @@ void LinActuatorWork(tMma *env, tLinTaskActuator *linTaskActuator,
}
// Если прията команда и актуатор не занят
if ((env->ModelTask.triggerCommand == true) && (env->isActuatorWorkBusy == false)) {
if ((*triggerCommand == true) && (env->isActuatorWorkBusy == false)) {
env->ModelTask.triggerCommand = false;
*triggerCommand = false;
env->isActuatorWorkBusy = true;
// начало --- ВЫХОД МОДЕЛИ ----------

View File

@ -9,10 +9,11 @@
#include "HVAC_model_types.h"
void LinActuatorWork(tMma *env, tLinTaskActuator *linTaskActuator,
ActuatorCmdBus *actuator_Command_Model_local,
ActuatorCmdBus *actuator_Command_Model_trigger_local,
ActuatorCmdBusInput *actuator_Output_Model_local,
ActuatorCmdBusInput *actuator_Output_Model_model,
char *LOG_SIGN);
ActuatorCmdBus *actuator_Command_Model_local,
ActuatorCmdBus *actuator_Command_Model_trigger_local,
ActuatorCmdBusInput *actuator_Output_Model_local,
ActuatorCmdBusInput *actuator_Output_Model_model,
bool *triggerCommand,
char *LOG_SIGN);
#endif //HVAC_M7_LINACTUATORWORK_H

View File

@ -279,13 +279,15 @@ static _Noreturn void Mma_Thread(tMma *env) {
env->pwms->pwmFrontIo.run(env->pwms->pwmFrontIo.env);
// env->pwms->pwmRearIo.run(env->pwms->pwmRearIo.env);
env->pwms->pwmFrontIo.setActivePercent(env->pwms->pwmFrontIo.env, 50);
env->pwms->pwmRearIo.setActivePercent(env->pwms->pwmRearIo.env, 50);
env->pwms->pwmFrontReservedIo.setActivePercent(env->pwms->pwmFrontReservedIo.env, 50);
env->pwms->pwmRearReservedIo.setActivePercent(env->pwms->pwmRearReservedIo.env, 50);
for (;;) {
/*
env->pwms->pwmFrontIo.setActivePercent(env->pwms->pwmFrontIo.env, 40);
env->pwms->pwmRearIo.setActivePercent(env->pwms->pwmRearIo.env, 50);
env->pwms->pwmFrontReservedIo.setActivePercent(env->pwms->pwmFrontReservedIo.env, 60);
env->pwms->pwmRearReservedIo.setActivePercent(env->pwms->pwmRearReservedIo.env, 70);
SystemDelayMs(10);
uint8_t pwm1 = env->pwms->pwmFrontCaptureIO.getPwm(env->pwms->pwmFrontCaptureIO.env);
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM (Front) = %d", pwm1)
@ -301,13 +303,14 @@ static _Noreturn void Mma_Thread(tMma *env) {
SystemDelayMs(10);
uint8_t pwm4 = env->pwms->pwmRearCaptureIO.getPwm(env->pwms->pwmRearReservedCaptureIO.env);
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM (Rear Reserve) = %d", pwm4)
*/
LoadDataInFromModel(env);
LinActuatorWork(env, &env->linTaskActuator1,
&env->actuator_Ch0_Command_Model_local_1,
&env->ModelTask.triggerActuatorCmdBus_1,
&env->actuator_Ch0_Input_Model_local_1,
&rtDW.Actuator_Ch0_Status_Model, "Ln1 ");
&rtDW.Actuator_Ch0_Status_Model, &env->ModelTask.triggerCommand1, "Ln1 ");
SystemDelayMs(50);

View File

@ -154,7 +154,7 @@ static void Mma_InitSubSystems(tMma *env) {
StandBy_Init(&env->standBy);
ModelTask_Init(&env->ModelTask, &env->slog.logger);
ModelTask_Init(&env->ModelTask, &env->linTaskActuator1, &env->linTaskActuator2, &env->linTaskActuator3, &env->slog.logger);
LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "End of subsystem initialization")