diff --git a/LinActuatorTasks.c b/LinActuatorTasks.c index 8352cbc..69f92bb 100644 --- a/LinActuatorTasks.c +++ b/LinActuatorTasks.c @@ -521,6 +521,16 @@ static lin_event_id_t CFR_PRG_x(tLinIO *linIo, tLinData *linData, uint8_t BUS_AD return res; } */ +static bool isBroadCast(tLinTaskActuator *env) { + + for (uint8_t j = 0; j < env->LIN_ISSR_ALL; ++j) { + if (env->linCommandActuator[j].BUS_ADR != 0) { + return false; + } + } + + return true; +} static bool setState20(tLinTaskActuator *env, bool isError, uint8_t index) { @@ -534,34 +544,28 @@ static bool setState20(tLinTaskActuator *env, bool isError, uint8_t index) { env->linCommandActuator[index].isRFR_STA = 1; if (env->linCommandActuator[index].BUS_ADR == 0) { - for (uint8_t j = 0; j < env->LIN_ISSR_ALL; ++j) { - env->linCommandActuator[j].COM = LIN_ACT_CFR_SUCCESSFUL; - env->linCommandActuator[j].isRFR_STA = 1; + if (isBroadCast(env)) { - if (isError) { - env->linStateActuator[j].error_connect = 1; - } else { - env->linStateActuator[j].error_connect = 0; + for (uint8_t j = 0; j < env->LIN_ISSR_ALL; ++j) { + + env->linCommandActuator[j].COM = LIN_ACT_CFR_SUCCESSFUL; + env->linCommandActuator[j].isRFR_STA = 1; + + if (isError) { + env->linStateActuator[j].error_connect = 1; + } else { + env->linStateActuator[j].error_connect = 0; + } } + + return true; } - return true; } return false; } -static bool isBroadCast(tLinTaskActuator *env) { - - for (uint8_t j = 0; j < env->LIN_ISSR_ALL; ++j) { - if (env->linCommandActuator[j].BUS_ADR != 0) { - return false; - } - } - - return true; -} - static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) { lin_event_id_t ret = LIN_NO_EVENT;