добавлен вызов профиля ЭРА в симЧипе при налиние не обработаных МНД в памяти, для того, чтобы СМС раотали с профиля
This commit is contained in:
parent
e00bf0b643
commit
42ec0decd9
|
|
@ -11,6 +11,7 @@
|
||||||
#include "AsciiStringAssmeblingUtils.h"
|
#include "AsciiStringAssmeblingUtils.h"
|
||||||
#include "AtGsmSms_DeleteAll.h"
|
#include "AtGsmSms_DeleteAll.h"
|
||||||
#include "EgtsProcessing.h"
|
#include "EgtsProcessing.h"
|
||||||
|
#include "AtGsmTelitLe910_DefinePdpContext.h"
|
||||||
//#include "testCan.h"
|
//#include "testCan.h"
|
||||||
|
|
||||||
#define LOG_SIGN "Главн."
|
#define LOG_SIGN "Главн."
|
||||||
|
|
@ -243,10 +244,10 @@ void Mma_NetworkAndAudioRequire(tMma *env) {
|
||||||
|
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Поднимаем сигнал MUTE");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Поднимаем сигнал MUTE");
|
||||||
Pwm_SetMute(&env->power, true);
|
Pwm_SetMute(&env->power, true);
|
||||||
|
Gsm_SetProfileERA_mode(env);
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Включаем регистрацию в сети");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Включаем регистрацию в сети");
|
||||||
Mma_EcallPrepare(env);
|
// Mma_EcallPrepare(env);
|
||||||
GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5, 60000);
|
GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5, 120000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Mma_NetworkAndAudioRelease(tMma *env) {
|
static void Mma_NetworkAndAudioRelease(tMma *env) {
|
||||||
|
|
@ -259,6 +260,7 @@ static void Mma_NetworkAndAudioRelease(tMma *env) {
|
||||||
|
|
||||||
void Mma_EcallManual(tMma *env) {
|
void Mma_EcallManual(tMma *env) {
|
||||||
EraGlonassUveos_SetTimings(&env->uveos);
|
EraGlonassUveos_SetTimings(&env->uveos);
|
||||||
|
|
||||||
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
||||||
Mma_NetworkAndAudioRequire(env);
|
Mma_NetworkAndAudioRequire(env);
|
||||||
GpioPinEnable(&env->power.pins->main.ecall);
|
GpioPinEnable(&env->power.pins->main.ecall);
|
||||||
|
|
@ -328,6 +330,7 @@ void Mma_EcallAutomatic(tMma *env, tUveosEmergencyEvent emergencyEvent) {
|
||||||
|
|
||||||
Pwm_AudioEnable(&env->power);
|
Pwm_AudioEnable(&env->power);
|
||||||
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
||||||
|
Mma_NetworkAndAudioRequire(env);
|
||||||
Mma_EcallPrepare(env);
|
Mma_EcallPrepare(env);
|
||||||
GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5, 250000);
|
GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5, 250000);
|
||||||
Mma_NetworkAndAudioRequire(env);
|
Mma_NetworkAndAudioRequire(env);
|
||||||
|
|
@ -462,6 +465,25 @@ static void checkLastInMemTransmit(tMma *env) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Gsm_SetProfileERA_mode(tMma *env) {
|
||||||
|
AtCommandResult res = AT_ERROR;
|
||||||
|
if (osMutexAcquire(env->gsmWithGnss.gsmAt.access, 5000) == osOK) {
|
||||||
|
|
||||||
|
#ifdef UVEOS_ADD_TELEMATICA
|
||||||
|
AtGsmTelitLe910_SimProfileSelect(&env->gsmWithGnss.gsmAt,
|
||||||
|
&env->storage.nvm.deviceTeledataStorageData.telematica.EGTS_PROFILE_SIM_ERA);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
AtGsmTelitLe910_SIMCardNoDetect(&env->gsmWithGnss.gsmAt);
|
||||||
|
AtGsmTelitLe910_SIMCardDetect(&env->gsmWithGnss.gsmAt);
|
||||||
|
SystemDelayMs(1000);
|
||||||
|
|
||||||
|
osMutexRelease(env->gsmWithGnss.gsmAt.access);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res == AT_OK;
|
||||||
|
}
|
||||||
|
|
||||||
static _Noreturn void Mma_Thread(tMma *env) {
|
static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_PWR, ENABLE);
|
RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_PWR, ENABLE);
|
||||||
PWR_BackupAccessEnable(ENABLE);
|
PWR_BackupAccessEnable(ENABLE);
|
||||||
|
|
@ -531,6 +553,11 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
// Mma_SetNetworkRegistration(env, false);
|
// Mma_SetNetworkRegistration(env, false);
|
||||||
volatile uint32_t noSendMsdCount = EraGlonassMsdTable_GetNoSendDataCount(env->uveos.msdTable);
|
volatile uint32_t noSendMsdCount = EraGlonassMsdTable_GetNoSendDataCount(env->uveos.msdTable);
|
||||||
if (noSendMsdCount > 0) {
|
if (noSendMsdCount > 0) {
|
||||||
|
#ifdef UVEOS_ADD_TELEMATICA
|
||||||
|
TELEMATICA_STOP(env);
|
||||||
|
#endif
|
||||||
|
Mma_NetworkAndAudioRequire(env);
|
||||||
|
Mma_EcallPrepare(env);
|
||||||
if (GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 4, 10000) == AT_OK) {
|
if (GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 4, 10000) == AT_OK) {
|
||||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Сеть включена")
|
LoggerTraceStatic(LOGGER, LOG_SIGN, "Сеть включена")
|
||||||
EraGlonassUveos_ProcessingEra(&env->uveos);
|
EraGlonassUveos_ProcessingEra(&env->uveos);
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ void Mma_StartupAudioSubsystem(tMma *env);
|
||||||
|
|
||||||
void Mma_StartTestThreadStart(tMma *env);
|
void Mma_StartTestThreadStart(tMma *env);
|
||||||
|
|
||||||
|
bool Gsm_SetProfileERA_mode(tMma *env);
|
||||||
|
|
||||||
void Mma_InitStage(tMma *env);
|
void Mma_InitStage(tMma *env);
|
||||||
|
|
||||||
void Mma_CheckShutdown(tMma *env, bool fastBlackOut) ;
|
void Mma_CheckShutdown(tMma *env, bool fastBlackOut) ;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue