diff --git a/GsmWithGnss.c b/GsmWithGnss.c index 2db08b5..8a92e81 100644 --- a/GsmWithGnss.c +++ b/GsmWithGnss.c @@ -199,6 +199,7 @@ void Gsm_WaitGsmBoot(tGsmWithGnss *env) { break; } } + GsmWithGnss_InitAudio(env); } diff --git a/GsmWithGnss_GnssOps.c b/GsmWithGnss_GnssOps.c index 70c26f2..d75d5f3 100644 --- a/GsmWithGnss_GnssOps.c +++ b/GsmWithGnss_GnssOps.c @@ -14,6 +14,7 @@ #include "AtGsmSms_DeleteAll.h" #include "Nmea0183Parser.h" #include "Rtc.h" +#include "AtGsmTelitLe910_DefinePdpContext.h" #define LOGGER env->logger #define LOG_SIGN "GSM&GNSSOPS" @@ -24,19 +25,20 @@ bool fl_rtcIsUsed = false; AtCommandResult GsmWithGnssInitGnss(tGsmWithGnss *env) { - AT_INOKR(AtGsmTelitLe910_GnssSwitchOnRestoreParam(&env->gsmAt)) - SystemDelayMs(200); - AT_INOKR(AtGsmTelitLe910_Gnss_ClearNvramGnssBuf(&env->gsmAt)); - SystemDelayMs(200); - AT_INOKR(AtGsmTelitLe910_Gnss_ClearStaticBufFix(&env->gsmAt)); - SystemDelayMs(200); -// AT_INOKR(AtGsmTelitLe910_Gnss_AGPSup(&env->gsmAt,2)); -// SystemDelayMs(1000); - AT_INOKR(AtGsmTelitLe910_Gnss_ReStartReceiver(&env->gsmAt, 1)); - SystemDelayMs(200); - AT_INOKR(AtGsmTelitLe910_SIMCardDetect(&env->gsmAt)); - SystemDelayMs(200); - return AT_OK; + if (osMutexAcquire(&env->gsmAt.access, 5000) == osOK) { + AT_INOKR(AtGsmTelitLe910_GnssSwitchOnRestoreParam(&env->gsmAt)) + SystemDelayMs(200); + AT_INOKR(AtGsmTelitLe910_Gnss_ClearNvramGnssBuf(&env->gsmAt)); + SystemDelayMs(200); + AT_INOKR(AtGsmTelitLe910_Gnss_ClearStaticBufFix(&env->gsmAt)); + SystemDelayMs(200); + AT_INOKR(AtGsmTelitLe910_Gnss_ReStartReceiver(&env->gsmAt, 1)); + osMutexRelease(&env->gsmAt.access); + return AT_OK; + } else { + LoggerInfoStatic(LOGGER, LOG_SIGN, "Ошибка доступа AtGsmTelitLe910_SimProfileSelect") + } + } void AtGsm_Gsnss_NavData_Incorrect(tGsmWithGnss *env) {