Обновление

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

View File

@ -13,6 +13,7 @@ void LinActuatorWork(tMma *env, tLinTaskActuator *linTaskActuator,
ActuatorCmdBus *actuator_Command_Model_trigger_local, ActuatorCmdBus *actuator_Command_Model_trigger_local,
ActuatorCmdBusInput *actuator_Output_Model_local, ActuatorCmdBusInput *actuator_Output_Model_local,
ActuatorCmdBusInput *actuator_Output_Model_model, ActuatorCmdBusInput *actuator_Output_Model_model,
bool *triggerCommand,
char *LOG_SIGN); char *LOG_SIGN);
#endif //HVAC_M7_LINACTUATORWORK_H #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->pwmFrontIo.run(env->pwms->pwmFrontIo.env);
// env->pwms->pwmRearIo.run(env->pwms->pwmRearIo.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 (;;) { 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); SystemDelayMs(10);
uint8_t pwm1 = env->pwms->pwmFrontCaptureIO.getPwm(env->pwms->pwmFrontCaptureIO.env); uint8_t pwm1 = env->pwms->pwmFrontCaptureIO.getPwm(env->pwms->pwmFrontCaptureIO.env);
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM (Front) = %d", pwm1) LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM (Front) = %d", pwm1)
@ -301,13 +303,14 @@ static _Noreturn void Mma_Thread(tMma *env) {
SystemDelayMs(10); SystemDelayMs(10);
uint8_t pwm4 = env->pwms->pwmRearCaptureIO.getPwm(env->pwms->pwmRearReservedCaptureIO.env); uint8_t pwm4 = env->pwms->pwmRearCaptureIO.getPwm(env->pwms->pwmRearReservedCaptureIO.env);
LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM (Rear Reserve) = %d", pwm4) LoggerFormatInfo(LOGGER, LOG_TASK_ARB, "PWM (Rear Reserve) = %d", pwm4)
*/
LoadDataInFromModel(env); LoadDataInFromModel(env);
LinActuatorWork(env, &env->linTaskActuator1, LinActuatorWork(env, &env->linTaskActuator1,
&env->actuator_Ch0_Command_Model_local_1, &env->actuator_Ch0_Command_Model_local_1,
&env->ModelTask.triggerActuatorCmdBus_1, &env->ModelTask.triggerActuatorCmdBus_1,
&env->actuator_Ch0_Input_Model_local_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); SystemDelayMs(50);

View File

@ -154,7 +154,7 @@ static void Mma_InitSubSystems(tMma *env) {
StandBy_Init(&env->standBy); 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") LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "End of subsystem initialization")