From 1b7b0f0a826d691c48c0d979ce0b397078af06ff Mon Sep 17 00:00:00 2001
From: darya
Date: Fri, 5 Jun 2026 09:38:47 +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=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B8?=
=?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=2005.06.2026?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
MainModesArbiter.c | 3 +-
MainModesArbiter.h | 2 +-
MainModesArbiter_InitStage.c | 130 ++++++++++++++++++++++++++++++++++-
3 files changed, 131 insertions(+), 4 deletions(-)
diff --git a/MainModesArbiter.c b/MainModesArbiter.c
index d82877b..31c7aa4 100644
--- a/MainModesArbiter.c
+++ b/MainModesArbiter.c
@@ -45,7 +45,8 @@ void LoadDataInFromModel(tMma *env) {
// Включение 5V (0 - ВКЛ)
- GpioPinSet(&env->gpios->power.SW5V_EN, rtY.PowerEnable_Model.SW5V_EN);
+// GpioPinSet(&env->gpios->power.SW5V_EN, rtY.PowerEnable_Model.SW5V_EN);
+ GpioPinSet(&env->gpios->power.SW5V_EN, true);
// Контроль напряжения борт-сети (1 - ВКЛ)
GpioPinSet(&env->gpios->power.PBATT_CK_EN, rtY.PowerEnable_Model.PBATT_CK_EN);
diff --git a/MainModesArbiter.h b/MainModesArbiter.h
index 8d2ec0f..838008d 100644
--- a/MainModesArbiter.h
+++ b/MainModesArbiter.h
@@ -82,7 +82,7 @@ typedef struct {
struct {
osThreadId_t id;
- uint32_t stack[384];
+ uint32_t stack[512];
StaticTask_t controlBlock;
osThreadAttr_t attr;
} thread;
diff --git a/MainModesArbiter_InitStage.c b/MainModesArbiter_InitStage.c
index 361d3c3..bb021d8 100644
--- a/MainModesArbiter_InitStage.c
+++ b/MainModesArbiter_InitStage.c
@@ -73,7 +73,9 @@ static void Mma_InitSubSystems(tMma *env) {
LoadFromStorageToStatusData(&env->storage, &statusData.ecu);
- /*
+
+ GpioPinSet(&env->gpios->power.SW5V_EN, true);
+
// Включение 5V (0 - ВКЛ)
GpioPinSet(&env->gpios->power.SW5V_EN, true);
@@ -111,7 +113,7 @@ static void Mma_InitSubSystems(tMma *env) {
GpioPinSet(&env->gpios->power.BTS5120_2EKA_ShutoffValvePowerTXV.ShutOffTXV1_EN, true);
GpioPinSet(&env->gpios->power.BTS5120_2EKA_ShutoffValvePowerTXV.ShutOffTXV_EN_Diag, true);
GpioPinSet(&env->gpios->power.BTS5120_2EKA_ShutoffValvePowerTXV.ShutOffTXV2_EN, true);
-*/
+
// Indication_Init(&env->Indication, HVAC_DEV_MODE_STARTUP);
@@ -226,6 +228,130 @@ static void Mma_InitSubSystems(tMma *env) {
CanSerialPortCanUds_Start(&env->canUds);
+
+
+
+/*
+
+ ModelTask_Init(&env->ModelTask, &env->linTaskActuator1, &env->linTaskActuator2, &env->linTaskActuator3,
+ &env->slog.logger);
+
+ CommandLine_Init(&env->cli, &env->slog, &env->serialPorts->SerialPortLog_IO,
+ &env->serialPorts->cliVirtualPortOut_Io);
+ CommandLine_StartThread(&env->cli);
+
+ Diagnostic_Init(&env->Diagnostic, &env->slog.logger);
+
+ CanSerialPortFrameXcpInit(
+ &env->CanSerialPortFrameXCP,
+ &env->canPorts->Can1_IO,
+ &env->rtcs->rtcI0,
+
+ 0x00000000,
+ nf_storage_calib_size,
+
+ nf_storage_calib_mainFlashPageAddress,
+ nf_storage_calib_recoveryFlashPageAddress + nf_storage_calib_size,
+ &D_bInternalFlashPage_ClearRange,
+ &D_bInternalFlashPage_WriteFromRam,
+ &env->storage.dumpObserver,
+ &env->slog.logger
+ );
+
+// CanXcpProcessing_Listener_Start(&env->CanSerialPortFrameXCP);
+
+ CanSpamReceiver_Init(&env->canSpamReceiver, &env->canPorts->Can1_IO, &env->slog.logger);
+ CanSpamReceiver_StartThread(&env->canSpamReceiver);
+
+ CanSpamTransmitter_Init(&env->canSpamTransmitter, &env->canPorts->Can1_IO, &env->slog.logger);
+ CanSpamTransmitter_StartThread(&env->canSpamTransmitter);
+
+ CanSpamDebugReceiver_Init(&env->canSpamDebugReceiver, &env->canPorts->Can1_IO, &env->slog.logger);
+// CanSpamDebugReceiver_StartThread(&env->canSpamDebugReceiver);
+
+ CanSpamDebugTransmitter_Init(&env->canSpamDebugTransmitter, &env->canPorts->Can1_IO, &env->canSpamDebugReceiver,
+ &env->slog.logger);
+// CanSpamDebugTransmitter_StartThread(&env->canSpamDebugTransmitter);
+
+
+ tLinData *linData1 = Lin1_Init(GetLin123CallbackHandler);
+ Lin_1_Init(&env->linTaskActuator1,
+ linData1, &env->linPorts->lin1_Io, 9,
+
+ env->ModelTask.access,
+ &env->ModelTask.triggerActuatorCmdBus_1,
+ &env->ModelTask.triggerCommand1,
+
+ &env->slog.logger);
+
+
+ Lin1_StartThread(&env->linTaskActuator1);
+
+ tLinData *linData2 = Lin2_Init(GetLin123CallbackHandler);
+ Lin_2_Init(&env->linTaskActuator2,
+ linData2, &env->linPorts->lin2_Io, 6,
+
+ env->ModelTask.access,
+ &env->ModelTask.triggerActuatorCmdBus_2,
+ &env->ModelTask.triggerCommand2,
+
+ &env->slog.logger);
+
+ Lin2_StartThread(&env->linTaskActuator2);
+
+ tLinData *linData3 = Lin3_Init(GetLin123CallbackHandler);
+ Lin_3_Init(&env->linTaskActuator3,
+ linData3, &env->linPorts->lin3_Io, 8,
+
+ env->ModelTask.access,
+ &env->ModelTask.triggerActuatorCmdBus_3,
+ &env->ModelTask.triggerCommand3,
+
+ &env->slog.logger);
+
+ Lin3_StartThread(&env->linTaskActuator3);
+
+ tLinData *linData4 = Lin4_Init(GetLin123CallbackHandler);
+ Lin_4_Init(&env->linTaskSensor4, linData4, &env->linPorts->lin4_Io, &env->slog.logger);
+// Lin4_StartThread(&env->linTaskSensor4);
+
+ tLinData *linData5 = Lin5_Init(GetLin123CallbackHandler);
+ Lin_5_Init(&env->linTaskSensor5, linData5, &env->linPorts->lin5_Io, &env->slog.logger);
+ Lin5_StartThread(&env->linTaskSensor5);
+
+
+// tLinData *linData6 = Lin6_Init(GetLin123CallbackHandler);
+// Lin_6_Init(&env->linTaskSensor6, linData6, &env->linPorts->lin6_Io, &env->slog.logger);
+// Lin6_StartThread(&env->linTaskSensor6);
+
+ Adc_0_Init(&env->adcTask0, env->ModelTask.access, &env->adcs->adc_0_IO, env->gpios, &env->slog.logger);
+ Adc_0_StartThread(&env->adcTask0);
+
+ Adc_1_Init(&env->adcTask1, env->ModelTask.access, &env->adcs->adc_1_IO, env->gpios, &env->slog.logger);
+ Adc_1_StartThread(&env->adcTask1);
+
+ CanUds_Init(
+ &env->canUds,
+ &env->Diagnostic,
+ &env->canPorts->Can1_IO,
+ &env->storage,
+ &env->canSpamTransmitter,
+ &env->adcTask0,
+ &P_bInternalFlashPage_ClearRange,
+ &P_bInternalFlashPage_WriteFromRam,
+ &env->slog.logger);
+
+ CanSerialPortCanUds_Start(&env->canUds);
+
+*/
+
+
+
+
+
+
+
+
LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "End of subsystem initialization")
}