Обновление

This commit is contained in:
cfif 2026-04-06 17:16:34 +03:00
parent 8622bc9906
commit 8cbc629313
1 changed files with 59 additions and 4 deletions

View File

@ -858,6 +858,53 @@ static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) {
} // BroadCast } // 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) { for (uint8_t i = 0; i < env->LIN_ISSR_ALL; ++i) {
/* /*
uint8_t BLOCK_MT; 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; eStall_STA Stall_Slave = 0;
eReset_STA Reset_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, &BUS_ADR,
&CPOS_ALL, &CPOS_ALL,
&Emrf_Slave, &Emrf_Slave,
@ -910,6 +957,14 @@ static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) {
BUS_ADR &= 0x1F; BUS_ADR &= 0x1F;
if (BUS_ADR > env->LIN_ISSR_ALL) {
asm("nop");
}
BUS_ADR = BUS_ADR - 1;
if (BUS_ADR != i) { if (BUS_ADR != i) {
asm("nop"); asm("nop");
} }
@ -928,7 +983,7 @@ static lin_event_id_t Lin_Scheduler(tLinTaskActuator *env, char *LOG_SIGN) {
#if (LOG_LIN_ACTUATOR == 1) #if (LOG_LIN_ACTUATOR == 1)
LoggerFormatInfo(LOGGER, LOG_SIGN, LoggerFormatInfo(LOGGER, LOG_SIGN,
"State: ADR = %d CPOS = %d Emrf = %d Mode = %d ErrSupply = %d ErrComm = %d ErrTemp = %d ErrElect = %d", "State: ADR = %d CPOS = %d Emrf = %d Mode = %d ErrSupply = %d ErrComm = %d ErrTemp = %d ErrElect = %d",
BUS_ADR, BUS_ADR + 1,
CPOS_ALL, CPOS_ALL,
Emrf_Slave, Emrf_Slave,
Mode_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 (LOG_LIN_ACTUATOR == 1)
if (Stall_Slave == LIN_STALL_STA_ON) { if (Stall_Slave == LIN_STALL_STA_ON) {
LoggerFormatInfo(LOGGER, LOG_SIGN, "Detect STALL: (ADR = %d POS = %d)", LoggerFormatInfo(LOGGER, LOG_SIGN, "Detect STALL: (ADR = %d POS = %d)",
BUS_ADR, BUS_ADR + 1,
CPOS_ALL) CPOS_ALL)
} }
#endif #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 (env->linCommandActuator[i].COM == LIN_ACT_CFR_SET) {
#if (LOG_LIN_ACTUATOR == 1) #if (LOG_LIN_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "Reset STALL") LoggerInfoStatic(LOGGER, LOG_SIGN, "Reset STALL (DETECT STALL RESET)")
#endif #endif
env->linStateActuator[i].Stall_Slave = LIN_STALL_STA_OFF; env->linStateActuator[i].Stall_Slave = LIN_STALL_STA_OFF;
dataLocalStall[i] = LIN_STALL_STA_OFF; dataLocalStall[i] = LIN_STALL_STA_OFF;