Обновление

This commit is contained in:
cfif 2025-12-19 18:05:00 +03:00
parent 30a8036378
commit fba7e7bedc
1 changed files with 11 additions and 13 deletions

View File

@ -32,14 +32,6 @@ void Mma_Init(
env->thread.id = 0;
}
static bool isActuatorCommandSet_in_Model() {
for (uint8_t i = 0; i < LIN0_ISSR_ALL; ++i) {
if (rtY.Out1.COM[i] != 0)
return true;
}
return false;
}
static _Noreturn void Mma_Thread(tMma *env) {
@ -60,7 +52,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
ModelTask_StartThread(&env->ModelTask);
bool isActuatorBusy = false;
bool isActuatorWorkBusy = false;
for (;;) {
@ -96,7 +88,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
env->rtU_local.in_Act_Reset_Ch0[i] = env->linTaskActuator0.linStateActuator[i].Reset_Slave;
}
isActuatorBusy = setBusy(&env->linTaskActuator0);
isActuatorWorkBusy = setBusy(&env->linTaskActuator0);
resetStall(&env->linTaskActuator0);
env->rtU_local.in_Error_Connect_Ch0 = env->linTaskActuator0.error_connect;
@ -109,15 +101,21 @@ static _Noreturn void Mma_Thread(tMma *env) {
if (osMutexAcquire(env->ModelTask.access, 5000) == osOK) {
if (env->ModelTask.isActuatorOverrideBusy == true) {
if (env->ModelTask.triggerCommand == true) {
env->rtU_local.in_Busy_Ch0 = 1;
}
memcpy(&rtU, &env->rtU_local, sizeof(ExtU));
if ((isActuatorCommandSet_in_Model() == true) && (isActuatorBusy == false)) {
isActuatorBusy = true;
if ((env->ModelTask.triggerCommand == true) && (isActuatorWorkBusy == false)) {
env->ModelTask.triggerCommand = false;
isActuatorWorkBusy = true;
for (uint8_t i = 0; i < 9; ++i) {
rtY.Out1.COM[i] = env->ModelTask.numCommand[i];
}
memcpy(&env->rtY_local.Out1, &rtY.Out1, sizeof(rtY.Out1));
}