From 25c432601e8e793c6f366511ba4ff69b2f439d0d Mon Sep 17 00:00:00 2001 From: cfif Date: Tue, 2 Dec 2025 14:58:17 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LinTasks.c | 65 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/LinTasks.c b/LinTasks.c index a1a5403..eaa6063 100644 --- a/LinTasks.c +++ b/LinTasks.c @@ -625,22 +625,22 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { &ParitySlave, &Version_CFR); - if (BUS_ADR != i) { - asm("nop"); - } + if (ret == LIN_RX_COMPLETED) { - if (BUS_ADR < LIN0_ISSR_ALL) { - env->linStateActuator[BUS_ADR].BUS_NEW_ADR = BUS_NEW_ADR; - env->linStateActuator[BUS_ADR].NOTL_DREH_Master = NOTL_DREH_Master; - env->linStateActuator[BUS_ADR].NOTL_ENAB_Master = NOTL_ENAB_Master; - env->linStateActuator[BUS_ADR].DREH_Slave = DREH_Slave; - env->linStateActuator[BUS_ADR].ParitySlave = ParitySlave; - env->linStateActuator[BUS_ADR].Version_CFR = Version_CFR; - } else { - asm("nop"); - } + if (BUS_ADR != i) { + asm("nop"); + } - if (ret == LIN_TX_COMPLETED) { + if (BUS_ADR < LIN0_ISSR_ALL) { + env->linStateActuator[BUS_ADR].BUS_NEW_ADR = BUS_NEW_ADR; + env->linStateActuator[BUS_ADR].NOTL_DREH_Master = NOTL_DREH_Master; + env->linStateActuator[BUS_ADR].NOTL_ENAB_Master = NOTL_ENAB_Master; + env->linStateActuator[BUS_ADR].DREH_Slave = DREH_Slave; + env->linStateActuator[BUS_ADR].ParitySlave = ParitySlave; + env->linStateActuator[BUS_ADR].Version_CFR = Version_CFR; + } else { + asm("nop"); + } } else { return ret; @@ -694,26 +694,27 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { &Stall_Slave, &Reset_Slave); - 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 (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"); + } + + } else { return ret; }