diff --git a/LinActuatorTasks.c b/LinActuatorTasks.c index 5d65ab5..d0e14e9 100644 --- a/LinActuatorTasks.c +++ b/LinActuatorTasks.c @@ -858,6 +858,53 @@ static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) { } // BroadCast + + +/* + for (uint8_t i = 0; i < 255; ++i) { + + uint8_t BUS_ADR = 0; + uint16_t CPOS_ALL = 0; + eEmrf_Slave_STA Emrf_Slave = 0; + eMode_Mod Mode_Slave = 0; + uint8_t Error1_Supply_Slave = 0; + uint8_t Error2_Communication_Slave = 0; + uint8_t Error3_Temperature_Slave = 0; + uint8_t Error4_Permanent_Electrical_Slave = 0; + eStall_STA Stall_Slave = 0; + eReset_STA Reset_Slave = 0; + + ret = RFR_STA_x(env->linIo, env->linData, i | 0x20, + &BUS_ADR, + &CPOS_ALL, + &Emrf_Slave, + &Mode_Slave, + &Error1_Supply_Slave, + &Error2_Communication_Slave, + &Error3_Temperature_Slave, + &Error4_Permanent_Electrical_Slave, + &Stall_Slave, + &Reset_Slave); + + if (ret == LIN_RX_COMPLETED) { + LoggerFormatInfo(LOGGER, LOG_SIGN, "OK: State = %d", i) + } else { + + LoggerFormatInfo(LOGGER, LOG_SIGN, "ERROR: State = %d", i) + } + + } +*/ + + + + + + + + + + for (uint8_t i = 0; i < env->LIN_ISSR_ALL; ++i) { /* uint8_t BLOCK_MT; @@ -894,7 +941,7 @@ static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) { eStall_STA Stall_Slave = 0; eReset_STA Reset_Slave = 0; - ret = RFR_STA_x(env->linIo, env->linData, i | 0x20, + ret = RFR_STA_x(env->linIo, env->linData, (i + 1) | 0x20, &BUS_ADR, &CPOS_ALL, &Emrf_Slave, @@ -910,6 +957,14 @@ static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) { BUS_ADR &= 0x1F; + if (BUS_ADR > env->LIN_ISSR_ALL) { + asm("nop"); + } + + BUS_ADR = BUS_ADR - 1; + + + if (BUS_ADR != i) { asm("nop"); } @@ -928,7 +983,7 @@ static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) { #if (LOG_LIN_ACTUATOR == 1) LoggerFormatInfo(LOGGER, LOG_SIGN, "State: ADR = %d CPOS = %d Emrf = %d Mode = %d ErrSupply = %d ErrComm = %d ErrTemp = %d ErrElect = %d", - BUS_ADR, + BUS_ADR + 1, CPOS_ALL, Emrf_Slave, Mode_Slave, @@ -954,7 +1009,7 @@ static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) { #if (LOG_LIN_ACTUATOR == 1) if (Stall_Slave == LIN_STALL_STA_ON) { LoggerFormatInfo(LOGGER, LOG_SIGN, "Detect STALL: (ADR = %d POS = %d)", - BUS_ADR, + BUS_ADR + 1, CPOS_ALL) } #endif @@ -1023,7 +1078,7 @@ void resetStall(tLinTaskActuator *env, uint8_t *dataLocalStall, char *LOG_SIGN) // if (env->linCommandActuator[i].COM == LIN_ACT_CFR_SET) { #if (LOG_LIN_ACTUATOR == 1) - LoggerInfoStatic(LOGGER, LOG_SIGN, "Reset STALL") + LoggerInfoStatic(LOGGER, LOG_SIGN, "Reset STALL (DETECT STALL RESET)") #endif env->linStateActuator[i].Stall_Slave = LIN_STALL_STA_OFF; dataLocalStall[i] = LIN_STALL_STA_OFF;