From d65b3dc0514f2c9484d05242dae45bac72a7af48 Mon Sep 17 00:00:00 2001 From: korolev Date: Fri, 20 Dec 2024 15:57:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=A2=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80?= =?UTF-8?q?=D1=84=D0=B5=D0=B9=D1=81=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=BF=D0=BE=20=D0=BC=D1=8C=D1=8E?= =?UTF-8?q?=D1=82=D1=8D=D0=BA=D1=81=D0=B0=20=D0=B2=D0=BE=20=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=BC=D1=8F=20=D0=BF=D0=B5=D1=80=D0=B2=D0=B8=D1=87=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BC=D0=B0,=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BD=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=20=D1=81=D1=82=D0=B0=D0=BD?= =?UTF-8?q?=D0=B4=D0=B0=D1=80=D1=82=D0=B0=20=D0=BF=D0=BE=D1=82=D0=B4=D0=B5?= =?UTF-8?q?=D1=80=D0=B6=D0=B8=D0=B2=D0=B0=D0=B5=D0=BC=D1=8B=D1=85=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=B4=D0=B0=D1=80=D1=82=D0=BE=D0=B2=20=D1=81?= =?UTF-8?q?=D0=B2=D1=8F=D0=B7=D0=B8=20=D1=81=D1=80=D0=B0=D0=B7=D1=83=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=B1=D0=B0=D0=B7=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA?= =?UTF-8?q?=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainModesArbiter_InitStage.c | 30 +++++++++++++++++++++++++++++- MainModesArbiter_Private.h | 2 ++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/MainModesArbiter_InitStage.c b/MainModesArbiter_InitStage.c index 955d11a..85274b8 100644 --- a/MainModesArbiter_InitStage.c +++ b/MainModesArbiter_InitStage.c @@ -4,6 +4,7 @@ #include "MainModesArbiter_Private.h" #include "FirmwareMetadataSection.h" +#include "AtGsmTelitLe910_DefinePdpContext.h" #define LOG_SIGN "Главн. Вкл" #define LOGGER &env->slog.logger @@ -475,12 +476,39 @@ void Mma_InitStage(tMma *env) { while (!GsmWithGnssWaitStartup(&env->gsmWithGnss)) { Mma_SetMode(env, DEVICE_MODE_ERROR_GSM); } + Gsm_WaitGsmBoot(&env->gsmWithGnss); - Mma_SetMode(env, DEVICE_MODE_UVEOS_ERA_GNSS_READY); + + if (osMutexAcquire(env->gsmWithGnss.gsmAt.access, 5000) == osOK) { + AtGsmTelitLe910_SimProfileSelect(&env->gsmWithGnss.gsmAt, + &env->storage.nvm.deviceTeledataStorageData.telematica.EGTS_PROFILE_SIM_ERA); + osMutexRelease(env->gsmWithGnss.gsmAt.access); + } else { + LoggerInfoStatic(LOGGER, LOG_SIGN, "Ошибка доступа AtGsmTelitLe910_SimProfileSelect") + } + + if (osMutexAcquire(env->gsmWithGnss.gsmAt.access, 5000) == osOK) { + AtGsmTelitLe910_SIMCardNoDetect(&env->gsmWithGnss.gsmAt); + AtGsmTelitLe910_SIMCardDetect(&env->gsmWithGnss.gsmAt); + osMutexRelease(env->gsmWithGnss.gsmAt.access); + } else { + LoggerInfoStatic(LOGGER, LOG_SIGN, "Ошибка доступа AtGsmTelitLe910_SIMCardNoDetect AtGsmTelitLe910_SIMCardDetect") + } + + if (osMutexAcquire(env->gsmWithGnss.gsmAt.access, 5000) == osOK) { + Mma_EcallPrepare(env); + osMutexRelease(env->gsmWithGnss.gsmAt.access); + } else { + LoggerInfoStatic(LOGGER, LOG_SIGN, "Ошибка доступа AtGsmTelitLe910_SimProfileSelect") + } Mma_GetCCID(env); Mma_GetCGSN(env); + SystemDelayMs(200); + + Mma_SetMode(env, DEVICE_MODE_UVEOS_ERA_GNSS_READY); + LoggerInfoStatic(LOGGER, LOG_SIGN, "Инициализируем звуковую подсистему(кодек,усилитель)") Mma_StartupAudioSubsystem(env); diff --git a/MainModesArbiter_Private.h b/MainModesArbiter_Private.h index 2d2d12f..480b08c 100644 --- a/MainModesArbiter_Private.h +++ b/MainModesArbiter_Private.h @@ -10,6 +10,8 @@ #define Mma_SetMode(ENV, VALUE) UserIndication_SetMode(&((ENV)->indication),(VALUE)) +void Mma_EcallPrepare(tMma *env); + void Mma_ColorBip(tMma *env); void Mma_FatalErrorOnInit(tMma *env, bool noinit, eDeviceModes errState);