From db66ce5cb5029c7371e89e1dc80a36b819e971de Mon Sep 17 00:00:00 2001 From: cfif Date: Fri, 19 Dec 2025 17:20:12 +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 | 9 +++++---- LinTasks.h | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/LinTasks.c b/LinTasks.c index 1f640dc..afc6bec 100644 --- a/LinTasks.c +++ b/LinTasks.c @@ -547,12 +547,13 @@ static bool setState20(tLinTaskActuator *env, bool isError, uint8_t index) { env->linStateActuator[index].error_connect = 0; } + env->linCommandActuator[index].COM = LIN_ACT_CFR_SUCCESSFUL; env->linCommandActuator[index].isRFR_STA = 1; - if (env->linCommandActuator[index].BUS_ADR == 0x20) { + if (env->linCommandActuator[index].BUS_ADR == 0) { for (uint8_t j = 0; j < LIN0_ISSR_ALL; ++j) { - env->linCommandActuator[j].COM = LIN_ACT_CFR_NONE; + env->linCommandActuator[j].COM = LIN_ACT_CFR_SUCCESSFUL; env->linCommandActuator[j].isRFR_STA = 1; if (isError) { @@ -657,7 +658,7 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { // env->linStateActuator[i].DIAGNOSE_MT = DIAGNOSE_MT; // if ((env->linStateActuator[i].DIAGNOSE_MT) || (env->linCommandActuator[i].isRFR_STA)) { - if ((env->linCommandActuator[i].COM == LIN_ACT_CFR_NONE) || (env->linCommandActuator[i].isRFR_STA)) { + if ((env->linCommandActuator[i].COM == LIN_ACT_CFR_NONE) || (env->linCommandActuator[i].COM == LIN_ACT_CFR_SUCCESSFUL) || (env->linCommandActuator[i].isRFR_STA)) { env->linCommandActuator[i].isRFR_STA = 0; @@ -757,7 +758,7 @@ void resetStall(tLinTaskActuator *env) { env->linStateActuator[i].Stall_Slave = LIN_STALL_STA_OFF; - if (env->linCommandActuator[i].BUS_ADR == 0x20) { + if (env->linCommandActuator[i].BUS_ADR == 0) { for (uint8_t j = 0; j < LIN0_ISSR_ALL; ++j) { env->linStateActuator[j].Stall_Slave = LIN_STALL_STA_OFF; diff --git a/LinTasks.h b/LinTasks.h index e6b41a6..24bb8ff 100644 --- a/LinTasks.h +++ b/LinTasks.h @@ -423,7 +423,8 @@ typedef enum { LIN_ACT_CFR_NONE = 0, LIN_ACT_CFR_MOD = 1, LIN_ACT_CFR_INI = 2, - LIN_ACT_CFR_SET = 3 + LIN_ACT_CFR_SET = 3, + LIN_ACT_CFR_SUCCESSFUL = 0xFF } eLinCOM; typedef struct {