From 6c947a0476df6c75232f7d518acb9626204e0e68 Mon Sep 17 00:00:00 2001 From: cfif Date: Wed, 18 Dec 2024 18:03:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=B8=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B8=20=D0=BE=D1=81?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BD=D0=BE=D0=B9=20=D1=86=D0=B8=D0=BA=D0=BB?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainModesArbiter.c | 31 ++++++++++++++++++++++++++++++- MainModesArbiter.h | 4 ++-- MainModesArbiter_InitStage.c | 6 +++--- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/MainModesArbiter.c b/MainModesArbiter.c index 66151fc..321041e 100644 --- a/MainModesArbiter.c +++ b/MainModesArbiter.c @@ -544,7 +544,7 @@ static _Noreturn void Mma_Thread(tMma *env) { } - +/* Pwm_AudioDisable(&env->power); LoggerTraceStatic(LOGGER, LOG_SIGN, "Звуковой усилитель отключён") AtGsm_OperatorSelectionDeregister(&env->gsmWithGnss.gsmAt); @@ -553,6 +553,9 @@ static _Noreturn void Mma_Thread(tMma *env) { SystemDelayMs(2000); GsmWithGnss_SelectStandartNetwork(&env->gsmWithGnss.gsmAt, 25); // Mma_StartTestThreadStart(env); +*/ + SystemDelayMs(100); + for (;;) { Mma_ColorBip(env); @@ -561,6 +564,11 @@ static _Noreturn void Mma_Thread(tMma *env) { if (env->storage.runtime.EGTS_FLEET_ON == false) { Mma_gnssUpdate(env, &indicationState); } else { + + indicationState = GsmWithGnss_IsGnssReady(&env->gsmWithGnss) ? + DEVICE_MODE_UVEOS_ERA_GNSS_READY : + DEVICE_MODE_UVEOS_ERA_WAIT_GNSS; + if (osMutexAcquire(env->gsmWithGnss.gsmAt.access, 1000) == osOK) { AtGsm_Gsnss_GetNMEA_Pack(&env->gsmWithGnss, 400); osMutexRelease(env->gsmWithGnss.gsmAt.access); @@ -575,8 +583,26 @@ static _Noreturn void Mma_Thread(tMma *env) { Mma_gnssUpdate(env, &indicationState); #endif + +#ifdef UVEOS_ADD_TELEMATICA + if (env->storage.runtime.EGTS_FLEET_ON == false) { + LoggerTraceStatic(LOGGER, LOG_SIGN, "Начало итерации главного цикла") + LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нужна ли сеть...") + + if (EraGlonassUveos_IsRequireNetwork(&env->uveos)) { + LoggerTraceStatic(LOGGER, LOG_SIGN, "Нужна, подключаемся") + Mma_SetNetworkRegistration(env, true); + } else { + LoggerTraceStatic(LOGGER, LOG_SIGN, "Ненужна, отключаемся") + Mma_SetNetworkRegistration(env, false); + } + } +#endif + +#ifndef UVEOS_ADD_TELEMATICA LoggerTraceStatic(LOGGER, LOG_SIGN, "Начало итерации главного цикла") LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нужна ли сеть...") + if (EraGlonassUveos_IsRequireNetwork(&env->uveos)) { LoggerTraceStatic(LOGGER, LOG_SIGN, "Нужна, подключаемся") Mma_SetNetworkRegistration(env, true); @@ -584,6 +610,7 @@ static _Noreturn void Mma_Thread(tMma *env) { LoggerTraceStatic(LOGGER, LOG_SIGN, "Ненужна, отключаемся") Mma_SetNetworkRegistration(env, false); } +#endif LoggerTraceStatic(LOGGER, LOG_SIGN, "Выполняем постоянный тест") if (DeviceTesting_Always(&env->testing)) { @@ -596,8 +623,10 @@ static _Noreturn void Mma_Thread(tMma *env) { LoggerTraceStatic(LOGGER, LOG_SIGN, "Обновляем статус индикации") }; + Mma_SetMode(env, indicationState); + // if(env->uveos.timings.lastInMemTransmit < SystemGetMs()){ // LoggerInfoStatic(LOGGER, LOG_SIGN, "Периодическая проверка необходимости повторной отправки МНД"); // tEraGlonassMsdTableItem *item = NULL; diff --git a/MainModesArbiter.h b/MainModesArbiter.h index ac1aefa..4c31130 100644 --- a/MainModesArbiter.h +++ b/MainModesArbiter.h @@ -66,7 +66,7 @@ typedef struct { tUserInput userInput; tUserIndication indication; tComInt comInt; - tCli cli; +// tCli cli; tCli cliVrt; tDeviceTesting testing; @@ -78,7 +78,7 @@ typedef struct { struct { osThreadId_t id; - uint32_t stack[4048]; //4048 6072 + uint32_t stack[2048]; //4048 6072 StaticTask_t controlBlock; osThreadAttr_t attr; } thread; diff --git a/MainModesArbiter_InitStage.c b/MainModesArbiter_InitStage.c index 5b31fb1..955d11a 100644 --- a/MainModesArbiter_InitStage.c +++ b/MainModesArbiter_InitStage.c @@ -276,7 +276,7 @@ static void Mma_InitSubSystems(tMma *env) { &env->power, &env->gsmWithGnss, &env->uveos ); - +/* Cli_Init( &env->cli, &env->serialPorts->DebugIO, @@ -293,7 +293,7 @@ static void Mma_InitSubSystems(tMma *env) { &env->gsmWithGnss, &env->uveos ); - +*/ Mma_InitComInt(env, &env->storage.nvm.device.serialNumber.value, &env->storage.publicVariablesTable); LoggerInfoStatic(LOGGER, LOG_SIGN, "Инициализация подсистем завершена") } @@ -305,7 +305,7 @@ static void Mma_RunSubThreads(tMma *env) { Accel_StartThread(&env->accel); CrashDetection_StartThread(&env->crashDetect); - Cli_StartThread(&env->cli); +//++ Cli_StartThread(&env->cli); Cli_StartThread(&env->cliVrt); UserInput_StartThread(&env->userInput);