добавлен алгоритм отправки не обработанных экстренных ситуаций по альтернативным каналам наземной связи

This commit is contained in:
parent 543b785b85
commit 4753867552
1 changed files with 36 additions and 21 deletions

View File

@ -646,28 +646,43 @@ static _Noreturn void Mma_Thread(tMma *env) {
Mma_SetMode(env, indicationState);
if(env->uveos.timings.lastInMemTransmit < SystemGetMs()){
LoggerInfoStatic(LOGGER, LOG_SIGN, "Периодическая проверка необходимости повторной отправки МНД");
// if(env->uveos.timings.lastInMemTransmit < SystemGetMs()){
// LoggerInfoStatic(LOGGER, LOG_SIGN, "Периодическая проверка необходимости повторной отправки МНД");
// tEraGlonassMsdTableItem *item = NULL;
//
// volatile uint8_t noSendMsdCount = EraGlonassMsdTable_GetNoSendDataCount(env->uveos.msdTable);
// if(noSendMsdCount > 0) {
// GsmWithGnss_InvalidateNetworkEnable(&env->gsmWithGnss, 0, true);
// }
//// GsmWithGnss_WaitNetworkRegistration(&env->gsmWithGnss, 5000);
//// EraGlonassUveos_ProcessingCheckNoSendMSD(&env->uveos);
// if ( GsmWithGnss_WaitNetworkRegistration(&env->gsmWithGnss, 20000) ) {
// LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть присутствует");
// EraGlonassUveos_ProcessingCheckNoSendMSD(&env->uveos);
// } else {
// LoggerInfoStatic(LOGGER, LOG_SIGN, "Периодическая проверка необходимости повторной отправки МНД не выполнена");
// LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть или сим-чип отсутствует");
// }
// LoggerInfoStatic(LOGGER, LOG_SIGN, "Время периодическая проверки повторной отправки МНД обновлено");
// env->uveos.timings.lastInMemTransmit =
// SystemGetMs() + (env->uveos.settings->INT_MEM_TRANSMIT_INTERVAL * 60 * 1000);
// }
noSendMsdCount = EraGlonassMsdTable_GetNoSendDataCount(env->uveos.msdTable);
if (noSendMsdCount > 0) {
LoggerInfoStatic(LOGGER, LOG_SIGN, "Проверка регистрации в сети");
if (GsmWithGnss_WaitNetworkRegistration(&env->gsmWithGnss, 2000)) {
LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть присутствует");
EraGlonassUveos_ProcessingCheckNoSendMSD(&env->uveos);
LoggerInfoStatic(LOGGER, LOG_SIGN, "Удаление всех СМС...");
AtGsmSms_DeleteAll(&env->gsmWithGnss.gsmAt);
SystemDelayMs(500);
AtGsmSms_DeleteAll(&env->gsmWithGnss.gsmAt);
LoggerInfoStatic(LOGGER, LOG_SIGN, "Удаление СМС выполнено");
} else {
LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть или сим-чип отсутствует, попытка регистрации...");
if (GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5,40000) == AT_OK) {
LoggerTraceStatic(LOGGER, LOG_SIGN, "Сеть присутствует")
EraGlonassUveos_ProcessingCheckNoSendMSD(&env->uveos);
LoggerInfoStatic(LOGGER, LOG_SIGN, "Удаление всех СМС...");
AtGsmSms_DeleteAll(&env->gsmWithGnss.gsmAt);
SystemDelayMs(500);
AtGsmSms_DeleteAll(&env->gsmWithGnss.gsmAt);
LoggerInfoStatic(LOGGER, LOG_SIGN, "Удаление СМС выполнено");
} else {
LoggerInfoStatic(LOGGER, LOG_SIGN,
"Периодическая проверка необходимости повторной отправки МНД не выполнена");
LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть или сим-чип отсутствует");
}
}
LoggerTraceStatic(LOGGER, LOG_SIGN, "Обработка не отправленных МНД выполнена")
}
env->uveos.timings.lastInMemTransmit =
SystemGetMs() + (env->uveos.settings->INT_MEM_TRANSMIT_INTERVAL * 60 * 1000);
LoggerInfoStatic(LOGGER, LOG_SIGN, "Время периодическая проверки повторной отправки МНД обновлено");
}
#ifdef UVEOS_ADD_TELEMATICA