From 6d9cc4c8273219070f8f567012fcaa7c0aeaa9a2 Mon Sep 17 00:00:00 2001 From: cfif Date: Fri, 12 Dec 2025 15:23:51 +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 | 36 ++++++++++++++++++++++++++++++------ LinTasks.h | 2 ++ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/LinTasks.c b/LinTasks.c index 89c292c..eacdbac 100644 --- a/LinTasks.c +++ b/LinTasks.c @@ -562,6 +562,14 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { } } else { + env->linStateActuator[i].error_connect = 1; + + if (env->linCommandActuator[i].BUS_ADR == 0x20) { + for (uint8_t j = 0; j < LIN0_ISSR_ALL; ++j) { + env->linStateActuator[j].error_connect = 1; + } + } + // return ret; } @@ -580,10 +588,17 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { env->linCommandActuator[i].BUS_ADR, env->linCommandActuator[i].POS); -// if (ret == LIN_TX_COMPLETED) { -// } else { + if (ret == LIN_TX_COMPLETED) { + } else { + env->linStateActuator[i].error_connect = 1; + + if (env->linCommandActuator[i].BUS_ADR == 0x20) { + for (uint8_t j = 0; j < LIN0_ISSR_ALL; ++j) { + env->linStateActuator[j].error_connect = 1; + } + } // return ret; -// } + } if (env->linCommandActuator[i].BUS_ADR == 0x20) { break; @@ -605,10 +620,17 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { env->linCommandActuator[i].Speed_SET, env->linCommandActuator[i].Coils_Stop_SET); -// if (ret == LIN_TX_COMPLETED) { -// } else { + if (ret == LIN_TX_COMPLETED) { + } else { + env->linStateActuator[i].error_connect = 1; + + if (env->linCommandActuator[i].BUS_ADR == 0x20) { + for (uint8_t j = 0; j < LIN0_ISSR_ALL; ++j) { + env->linStateActuator[j].error_connect = 1; + } + } // return ret; -// } + } if (env->linCommandActuator[i].BUS_ADR == 0x20) { break; @@ -686,6 +708,7 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { } else { + env->linStateActuator[i].error_connect = 1; // return ret; } @@ -693,6 +716,7 @@ lin_event_id_t Lin0_Scheduler(tLinTaskActuator *env) { } } else { + env->linStateActuator[i].error_connect = 1; // return ret; } } diff --git a/LinTasks.h b/LinTasks.h index 63eb78d..cd6bdb8 100644 --- a/LinTasks.h +++ b/LinTasks.h @@ -388,6 +388,8 @@ typedef struct { uint8_t ParitySlave; uint8_t Version_CFR; + uint8_t error_connect; + } tLinStateFullActuator; typedef struct {