Обновление

This commit is contained in:
cfif 2025-12-02 17:33:58 +03:00
parent 25c432601e
commit 7b6c99c81a
2 changed files with 37 additions and 30 deletions

View File

@ -682,41 +682,46 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) {
eStall_STA Stall_Slave; eStall_STA Stall_Slave;
eReset_STA Reset_Slave; eReset_STA Reset_Slave;
ret = RFR_STA_x(env->linIo, env->linData, if ((env->linStateActuator[i].DIAGNOSE_MT) || (env->linCommandActuator[i].isRFR_STA)) {
&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) { env->linCommandActuator[i].isRFR_STA = 0;
ret = RFR_STA_x(env->linIo, env->linData,
&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) {
if (BUS_ADR != i) {
asm("nop");
}
if (BUS_ADR < LIN0_ISSR_ALL) {
env->linStateActuator[BUS_ADR].CPOS_ALL = CPOS_ALL;
env->linStateActuator[BUS_ADR].Emrf_Slave = Emrf_Slave;
env->linStateActuator[BUS_ADR].Mode_Slave = Mode_Slave;
env->linStateActuator[BUS_ADR].Error1_Supply_Slave = Error1_Supply_Slave;
env->linStateActuator[BUS_ADR].Error2_Communication_Slave = Error2_Communication_Slave;
env->linStateActuator[BUS_ADR].Error3_Temperature_Slave = Error3_Temperature_Slave;
env->linStateActuator[BUS_ADR].Error4_Permanent_Electrical_Slave = Error4_Permanent_Electrical_Slave;
env->linStateActuator[BUS_ADR].Stall_Slave = Stall_Slave;
env->linStateActuator[BUS_ADR].Reset_Slave = Reset_Slave;
} else {
asm("nop");
}
if (BUS_ADR != i) {
asm("nop");
}
if (BUS_ADR < LIN0_ISSR_ALL) {
env->linStateActuator[BUS_ADR].CPOS_ALL = CPOS_ALL;
env->linStateActuator[BUS_ADR].Emrf_Slave = Emrf_Slave;
env->linStateActuator[BUS_ADR].Mode_Slave = Mode_Slave;
env->linStateActuator[BUS_ADR].Error1_Supply_Slave = Error1_Supply_Slave;
env->linStateActuator[BUS_ADR].Error2_Communication_Slave = Error2_Communication_Slave;
env->linStateActuator[BUS_ADR].Error3_Temperature_Slave = Error3_Temperature_Slave;
env->linStateActuator[BUS_ADR].Error4_Permanent_Electrical_Slave = Error4_Permanent_Electrical_Slave;
env->linStateActuator[BUS_ADR].Stall_Slave = Stall_Slave;
env->linStateActuator[BUS_ADR].Reset_Slave = Reset_Slave;
} else { } else {
asm("nop"); return ret;
} }
} else {
return ret;
} }
} else { } else {

View File

@ -440,6 +440,8 @@ typedef struct {
uint8_t Baudrate; uint8_t Baudrate;
uint8_t Version_CFR; uint8_t Version_CFR;
uint8_t isRFR_STA;
} tLinCommandActuator; } tLinCommandActuator;
typedef struct { typedef struct {