добавлена процедура настройки модема перед вызовом, с последовательностью
GERAN - это сокращение от GSM EDGE Сеть радиодоступа. Стандарты для GERAN поддерживаются 3GPP =================== UTRAN (UMTS Terrestrial radio access network) – наземная сеть радиодоступа стандарта UMTS =================== E-UTRAN которая обеспечивают протоколы пользователя (PDCP/RLC/MAC/PHY) и управления (RRC) =================== затем установка режима еколОнли, затем включение регистрацуии во всех доступных сетях, и ожидание, пока кто то из операторов не предоставит регистрацию
This commit is contained in:
parent
7977082045
commit
87c5e6d0e1
|
|
@ -239,6 +239,18 @@ static void Mma_NetworkAndAudioRelease(tMma *env) {
|
||||||
while (t > SystemGetMs()) {}
|
while (t > SystemGetMs()) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Mma_EcallPrepare(tMma *env) {
|
||||||
|
AtGsm_OperatorSelectionDeregister(&env->gsmWithGnss.gsmAt);
|
||||||
|
SystemDelayMs(1000);
|
||||||
|
GsmWithGnss_SelectStandartNetwork(&env->gsmWithGnss.gsmAt, 12);
|
||||||
|
SystemDelayMs(3000);
|
||||||
|
GsmWithGnss_SelectStandartNetwork(&env->gsmWithGnss.gsmAt, 22);
|
||||||
|
SystemDelayMs(3000);
|
||||||
|
GsmWithGnss_SelectStandartNetwork(&env->gsmWithGnss.gsmAt, 25);
|
||||||
|
SystemDelayMs(3000);
|
||||||
|
AtGsmTelitLe910_GnssEcallOnlyMode(&env->gsmWithGnss.gsmAt,0);
|
||||||
|
}
|
||||||
|
|
||||||
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);
|
||||||
|
|
@ -259,7 +271,8 @@ void Mma_EcallManualKZ(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_NetworkAndAudioRequireKz(env);
|
Mma_NetworkAndAudioRequireKz(env);
|
||||||
GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5,160000);
|
Mma_EcallPrepare(env);
|
||||||
|
GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5,200000);
|
||||||
GpioPinEnable(&env->power.pins->main.ecall);
|
GpioPinEnable(&env->power.pins->main.ecall);
|
||||||
env->uveos.currentMsd->msd.MSD_Data.msgId = 1;
|
env->uveos.currentMsd->msd.MSD_Data.msgId = 1;
|
||||||
EraGlonassUveos_ManualEmergencyCall(&env->uveos, true);
|
EraGlonassUveos_ManualEmergencyCall(&env->uveos, true);
|
||||||
|
|
@ -304,11 +317,13 @@ void Mma_gnssUpdate(tMma *env, eDeviceModes *deviceModes) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mma_EcallAutomatic(tMma *env, tUveosEmergencyEvent emergencyEvent) {
|
void Mma_EcallAutomatic(tMma *env, tUveosEmergencyEvent emergencyEvent) {
|
||||||
|
|
||||||
EraGlonassUveos_SetTimings(&env->uveos);
|
EraGlonassUveos_SetTimings(&env->uveos);
|
||||||
|
|
||||||
Pwm_AudioEnable(&env->power);
|
Pwm_AudioEnable(&env->power);
|
||||||
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
||||||
GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5,120000);
|
Mma_EcallPrepare(env);
|
||||||
|
GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5,200000);
|
||||||
Mma_NetworkAndAudioRequireKz(env);
|
Mma_NetworkAndAudioRequireKz(env);
|
||||||
|
|
||||||
GpioPinEnable(&env->power.pins->main.ecall);
|
GpioPinEnable(&env->power.pins->main.ecall);
|
||||||
|
|
@ -675,7 +690,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова_1")
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова_1")
|
||||||
Mma_EcallManual(env);
|
Mma_EcallManualKZ(env);
|
||||||
}
|
}
|
||||||
UserButtons_Clear(&env->userInput.buttonsInterface);
|
UserButtons_Clear(&env->userInput.buttonsInterface);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue