diff --git a/LinTasks.c b/LinTasks.c index 92596be..89c292c 100644 --- a/LinTasks.c +++ b/LinTasks.c @@ -620,20 +620,27 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { for (uint8_t i = 0; i < LIN0_ISSR_ALL; ++i) { + uint8_t BLOCK_MT; + uint8_t DIAGNOSE_MT; + uint16_t CPOS_ALL; + ret = ISSR_x(env->linIo, env->linData, i, - &env->linStateActuator[i].BLOCK_MT, - &env->linStateActuator[i].CPOS_ALL, - &env->linStateActuator[i].DIAGNOSE_MT); + &BLOCK_MT, + &CPOS_ALL, + &DIAGNOSE_MT); if (ret == LIN_RX_COMPLETED) { + env->linStateActuator[i].BLOCK_MT = BLOCK_MT; + env->linStateActuator[i].CPOS_ALL = CPOS_ALL << 1; + env->linStateActuator[i].DIAGNOSE_MT = DIAGNOSE_MT; + if ((env->linStateActuator[i].DIAGNOSE_MT) || (env->linCommandActuator[i].isRFR_STA)) { env->linCommandActuator[i].isRFR_STA = 0; uint8_t BUS_ADR; - uint16_t CPOS_ALL; eEmrf_Slave_STA Emrf_Slave; eMode_Mod Mode_Slave; uint8_t Error1_Supply_Slave;