diff --git a/MainModesArbiter.h b/MainModesArbiter.h index f6ceec3..b438179 100644 --- a/MainModesArbiter.h +++ b/MainModesArbiter.h @@ -19,6 +19,7 @@ #include "CommandLines.h" #include "DeviceStorage.h" #include "SerialPortCan.h" +#include "CanSerialPortFrameXCP.h" typedef struct { @@ -41,6 +42,8 @@ typedef struct { tIndication Indication; + tCanSerialPortFrameXCP CanSerialPortFrameXCP; + struct { osThreadId_t id; uint32_t stack[2048 * 1]; diff --git a/MainModesArbiter_InitStage.c b/MainModesArbiter_InitStage.c index ad625b0..34027d7 100644 --- a/MainModesArbiter_InitStage.c +++ b/MainModesArbiter_InitStage.c @@ -36,15 +36,14 @@ static void Mma_InitSubSystems(tMma *env) { Mma_InitComIntLog(env); LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "Инициализация подсистем") - bool result = DeviceStorage_Init(&env->storage, &env->flash->interface_calib, &env->flash->interface_param); + bool result = DeviceStorage_Init(&env->storage, &env->flash->interface_calib, &env->flash->interface_param, &env->slog.logger); Indication_Init(&env->Indication, HVAC_DEV_MODE_STARTUP); - tSerialPortIO *thisCanComPortIO = &env->serialPorts->serialPortCanIO; ComInt_Init( &env->comInt, - thisCanComPortIO, + &env->serialPorts->serialPortCanIO, &env->storage.publicVariablesTable, NULL, NULL, @@ -57,6 +56,14 @@ static void Mma_InitSubSystems(tMma *env) { CommandLine_Init(&env->cli, &env->serialPorts->cliVirtualInIo); CommandLine_StartThread(&env->cli); + CanSerialPortFrameXcpInit( + &env->CanSerialPortFrameXCP, + &env->canPorts->Can0_IO, + &env->slog + ); + + CanSerialPortFrameTp_Start(&env->CanSerialPortFrameXCP); + LoggerInfoStatic(&env->slog.logger, LOG_TASK_MAIN, "Конец инициализации подсистем") }