Обновление
This commit is contained in:
parent
7b6c99c81a
commit
be1869c7a0
101
LinTasks.c
101
LinTasks.c
|
|
@ -657,80 +657,83 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lin_event_id_t res;
|
|
||||||
|
|
||||||
for (uint8_t i = 0; i < LIN0_ISSR_ALL; ++i) {
|
for (uint8_t i = 0; i < LIN0_ISSR_ALL; ++i) {
|
||||||
|
|
||||||
res = ISSR_x(env->linIo, env->linData,
|
ret = ISSR_x(env->linIo, env->linData,
|
||||||
i,
|
i,
|
||||||
&env->linStateActuator[i].BLOCK_MT,
|
&env->linStateActuator[i].BLOCK_MT,
|
||||||
&env->linStateActuator[i].CPOS_ALL,
|
&env->linStateActuator[i].CPOS_ALL,
|
||||||
&env->linStateActuator[i].DIAGNOSE_MT);
|
&env->linStateActuator[i].DIAGNOSE_MT);
|
||||||
|
|
||||||
ret = DFR_STA_x(env->linIo, env->linData, i);
|
if (ret == LIN_RX_COMPLETED) {
|
||||||
|
|
||||||
if (ret == LIN_TX_COMPLETED) {
|
|
||||||
|
|
||||||
uint8_t BUS_ADR;
|
|
||||||
uint16_t CPOS_ALL;
|
|
||||||
eEmrf_Slave_STA Emrf_Slave;
|
|
||||||
eMode_Mod Mode_Slave;
|
|
||||||
uint8_t Error1_Supply_Slave;
|
|
||||||
uint8_t Error2_Communication_Slave;
|
|
||||||
uint8_t Error3_Temperature_Slave;
|
|
||||||
uint8_t Error4_Permanent_Electrical_Slave;
|
|
||||||
eStall_STA Stall_Slave;
|
|
||||||
eReset_STA Reset_Slave;
|
|
||||||
|
|
||||||
if ((env->linStateActuator[i].DIAGNOSE_MT) || (env->linCommandActuator[i].isRFR_STA)) {
|
if ((env->linStateActuator[i].DIAGNOSE_MT) || (env->linCommandActuator[i].isRFR_STA)) {
|
||||||
|
|
||||||
env->linCommandActuator[i].isRFR_STA = 0;
|
env->linCommandActuator[i].isRFR_STA = 0;
|
||||||
|
|
||||||
ret = RFR_STA_x(env->linIo, env->linData,
|
ret = DFR_STA_x(env->linIo, env->linData, i);
|
||||||
&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 (ret == LIN_TX_COMPLETED) {
|
||||||
|
|
||||||
|
uint8_t BUS_ADR;
|
||||||
|
uint16_t CPOS_ALL;
|
||||||
|
eEmrf_Slave_STA Emrf_Slave;
|
||||||
|
eMode_Mod Mode_Slave;
|
||||||
|
uint8_t Error1_Supply_Slave;
|
||||||
|
uint8_t Error2_Communication_Slave;
|
||||||
|
uint8_t Error3_Temperature_Slave;
|
||||||
|
uint8_t Error4_Permanent_Electrical_Slave;
|
||||||
|
eStall_STA Stall_Slave;
|
||||||
|
eReset_STA Reset_Slave;
|
||||||
|
|
||||||
|
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 {
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((res == LIN_TX_COMPLETED) || (res == LIN_RX_COMPLETED)) {
|
if ((ret == LIN_TX_COMPLETED) || (ret == LIN_RX_COMPLETED)) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue