From ec03222460f800b50ae0f6d03a46e054acb47ac2 Mon Sep 17 00:00:00 2001 From: cfif Date: Tue, 10 Dec 2024 12:25:24 +0300 Subject: [PATCH] Fix --- EgtsProcessing.c | 47 +++++++++++++++++++++++++++++++++++++++++++++ EgtsTeledataPoint.c | 19 +++++++++++++++++- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/EgtsProcessing.c b/EgtsProcessing.c index 0d55dde..4c76000 100644 --- a/EgtsProcessing.c +++ b/EgtsProcessing.c @@ -870,6 +870,53 @@ void EgtsProcessing_Worker(tEgtsProcessing *env) { + //++++CFIFначало ---------------------------------Сервис АУТЕНТИФИКАЦИИ----------------------------------------- + //начало ---------------------------------Сервис АУТЕНТИФИКАЦИИ----------------------------------------- + //начало ---------------------------------Сервис АУТЕНТИФИКАЦИИ----------------------------------------- + if (env->egtsEnv.recSourceService == EGTS_AUTH_SERVICE) { + if (env->egtsEnv.subRecType == EGTS_SR_RESULT_CODE) { + + env->egtsIdentityAdditionalData.resultCodeAuth = *((uint8_t *) (env->egtsEnv.subRecData)); + + LoggerFormatInfo(LOGGER, LOG_SIGN, + "Получен пакет результата аутентификации, код: %d", + env->egtsIdentityAdditionalData.resultCodeAuth); + + EgtsProcessing_SendResponse(env, EGTS_AUTH_SERVICE, + EGTS_AUTH_SERVICE, + EGTS_SERVICE_FLAGS_AUTH, + 0, + env->egtsEnv.recordNumber); + + // Ошибка АУТЕНТИФИКАЦИИ + if (env->egtsIdentityAdditionalData.resultCodeAuth == 165) { + + if (stepAuth == 0) { + stepAuth = 1; + + LoggerStrInfoStatic(LOGGER, LOG_SIGN, + "Не корректный сертификат, переход на альтернативный сервер"); +// changeServer(env, 1); + } else { + --stepAuth; + LoggerFormatInfo(LOGGER, LOG_SIGN, + "Не корректный сертификат, переход на альтернативный сервер через %u попыток", + stepAuth); + } + + } else { + stepAuth = 1; + } + + + unknownPacket = false; + env->egtsIdentityAdditionalData.isReceivedResultCode = true; + } + } + //конец ---------------------------------Сервис АУТЕНТИФИКАЦИИ------------------------------------------ + //конец ---------------------------------Сервис АУТЕНТИФИКАЦИИ------------------------------------------ + //конец ---------------------------------Сервис АУТЕНТИФИКАЦИИ------------------------------------------ + //конец ---------------------------------Сервис АУТЕНТИФИКАЦИИ------------------------------------------ //конец ---------------------------------Сервис АУТЕНТИФИКАЦИИ------------------------------------------ //конец ---------------------------------Сервис АУТЕНТИФИКАЦИИ------------------------------------------ diff --git a/EgtsTeledataPoint.c b/EgtsTeledataPoint.c index e9a0836..ceed2d5 100644 --- a/EgtsTeledataPoint.c +++ b/EgtsTeledataPoint.c @@ -511,10 +511,27 @@ _Noreturn void EgtsProcessing_EventTaskTeledata(tEgtsProcessing *env) { tNmeaRmc nmeaRmc; Gnss_GetFullNavData(env->gsm, &nmeaRmc); - ProcessInfo(env); + + // начало --------------------- ДАТЧИКИ ------------------ + env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_Uptime].value = + SystemGetMs() / 60000; // Uptime + + // По умолчанию в SLEEP, до этого было в TS_STATUS_STANDBY + eEgtsTsStatus SENSORS_AN_VehicleStatus_loc = TS_STATUS_SLEEP; + + // Поднят пин зажигания + if (GpioPinGet(env->ignition)) { + SENSORS_AN_VehicleStatus_loc = TS_STATUS_IGNITION; + } else { + } + + // Установка значения сенсора состояния + env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_VehicleStatus].value = SENSORS_AN_VehicleStatus_loc; env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_NumberOfSatellites].value = (uint8_t)nmeaRmc.magnetic.nsat; + // конец --------------------- ДАТЧИКИ ------------------ + //начало-----------------------------Отслеживание угла поворота и начала и окончания навигации------------------ //начало-----------------------------Отслеживание угла поворота и начала и окончания навигации------------------ //начало-----------------------------Отслеживание угла поворота и начала и окончания навигации------------------