From ff18a75606e90d2c94c57b9a65fca6dd4f8e4035 Mon Sep 17 00:00:00 2001 From: cfif Date: Fri, 21 Nov 2025 13:18:03 +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 --- MainModesArbiter.c | 2 ++ MainModesArbiter.h | 7 +++++++ MainModesArbiter_InitStage.c | 8 ++++++++ 3 files changed, 17 insertions(+) diff --git a/MainModesArbiter.c b/MainModesArbiter.c index 3af192a..fcbb4f0 100644 --- a/MainModesArbiter.c +++ b/MainModesArbiter.c @@ -8,11 +8,13 @@ void Mma_Init( tGpios *gpios, tAdcs *adcs, tSerialPorts *serialPorts, + tLinPorts *linPorts, tCanPorts *canPorts, tRtcs *rtcs ) { env->gpios = gpios; env->serialPorts = serialPorts; + env->linPorts = linPorts; env->canPorts = canPorts; env->rtcs = rtcs; env->adcs = adcs; diff --git a/MainModesArbiter.h b/MainModesArbiter.h index 37ba985..2ef5108 100644 --- a/MainModesArbiter.h +++ b/MainModesArbiter.h @@ -20,12 +20,16 @@ #include "SerialPortCan.h" #include "CanSerialPortFrameXCP.h" #include "CanSpamReceiver.h" +#include "Lins.h" +#include "LinTasks.h" + typedef struct { // Преферийные интерфесы tGpios *gpios; tSerialPorts *serialPorts; + tLinPorts *linPorts; tCanPorts *canPorts; tLoggerToSerialPort slog; tStorageOnFlash *flash; @@ -45,6 +49,8 @@ typedef struct { tCanSpamReceiver canSpamReceiver; + tLinTaskActuator linTaskActuator0; + struct { osThreadId_t id; uint32_t stack[2048 * 1]; @@ -62,6 +68,7 @@ void Mma_Init( tGpios *gpios, tAdcs *adcs, tSerialPorts *serialPorts, + tLinPorts *linPorts, tCanPorts *canPorts, tRtcs *rtcs ); diff --git a/MainModesArbiter_InitStage.c b/MainModesArbiter_InitStage.c index ae9e952..b3c7a63 100644 --- a/MainModesArbiter_InitStage.c +++ b/MainModesArbiter_InitStage.c @@ -69,6 +69,14 @@ static void Mma_InitSubSystems(tMma *env) { CanSpamReceiver_StartThread(&env->canSpamReceiver); + + tLinData *linData = Lin0_Init(GetLin0CallbackHandler, &env->linTaskActuator0.linData); + + Lin_0_Init(&env->linTaskActuator0, linData, &env->linPorts->lin0_Io); + + Li0_StartThread(&env->linTaskActuator0); + + LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "Конец инициализации подсистем") }