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") }