This commit is contained in:
cfif 2024-12-09 15:46:51 +03:00
parent 6473040165
commit 4713c3e1db
6 changed files with 115 additions and 7 deletions

View File

@ -27,7 +27,7 @@ char imei[] = "860384060946040";
uint16_t vEgtsPackAuth(uint8_t *out, tEgtsIdentityDataArgs *args, uint16_t step) {
uint16_t offset = 0;
uint16_t TermIdentityBS = 1400;
uint16_t TermIdentityBS = 512;
uint8_t TermIdentityFlags = 0b01000010;
ADD_TO_RESULT(args->TerminalID, 4);
@ -77,6 +77,7 @@ uint16_t vEgtsPackModuleData(uint8_t *out, tEgtsIdentityModuleDataArgs *args, ui
ADD_TO_RESULT(SWV, 2);
ADD_TO_RESULT(MD, 1);
ADD_TO_RESULT(ST, 1);
/*
ADD_TO_RESULT(args->deviceStorage->nvm.device.serialNumber.value.data, args->deviceStorage->nvm.device.serialNumber.value.length);
ADD_TO_RESULT(Delimiter, 1);
ADD_TO_RESULT(TAG_VIN, sizeof(TAG_VIN) - 1);
@ -88,7 +89,8 @@ uint16_t vEgtsPackModuleData(uint8_t *out, tEgtsIdentityModuleDataArgs *args, ui
ADD_TO_RESULT(TAG_EICCID, sizeof(TAG_EICCID) - 1);
ADD_TO_RESULT(args->deviceStorage->nvm.device.ccid.data, args->deviceStorage->nvm.device.ccid.length);
ADD_TO_RESULT(Delimiter, 1);
*/
ADD_TO_RESULT(Delimiter, 1);
return offset;
}

View File

@ -20,7 +20,7 @@
#include "string.h"
#include "EgtsTeledataPoint.h"
//#include "GsmWithGnss_Info.h"
//#include "Network.h"
#include "Network.h"
#include "AtGsm_NetworkRegistrationStatus.h"
#include "egts.h"
#include "AtGsmOperatorSelection.h"
@ -175,7 +175,7 @@ void EgtsProcessing_Init(
env->gsm->socketGsm.logger = &slog->logger;
env->gsm->socketGsm.loggerTaskName = (char *) LOG_TASK_GSM_SOCKET;
// InitThreadBlock(env->T_processing_Network, "Network", osPriorityNormal);
InitThreadBlock(env->T_processing_Network, "Network", osPriorityNormal);
// InitThreadBlock(env->T_processing_ebu, "EgtsPrcEbu", osPriorityNormal);
InitThreadBlock(env->T_processing_input_command, "EgtsPrcInputCom", osPriorityNormal);
@ -188,10 +188,9 @@ void EgtsProcessing_Init(
void EgtsProcessing_Start(tEgtsProcessing *env) {
// ThreadBlock_Start(env->T_processing_Network, env, EgtsProcessing_InfoTask);
ThreadBlock_Start(env->T_processing_Network, env, EgtsProcessing_InfoTask);
// ThreadBlock_Start(env->T_processing_ebu, env, EgtsProcessing_TransmitterTaskEbu);
ThreadBlock_Start(env->T_processing_input_command, env, EgtsProcessing_TransmitterTaskInputCommand);
ThreadBlock_Start(env->T_processing_event_teledata, env, EgtsProcessing_EventTaskTeledata);
ThreadBlock_Start(env->T_processing_teledata, env, EgtsProcessing_TransmitterTaskTeledata);

View File

@ -341,7 +341,7 @@ typedef struct {
} carEventPosition;
// tStaticThreadBlock(1024) T_processing_Network;
tStaticThreadBlock(512) T_processing_Network;
// tStaticThreadBlock(1024) T_processing_ebu;
tStaticThreadBlock(512) T_processing_input_command;
tStaticThreadBlock(512) T_processing_event_teledata;

View File

@ -509,6 +509,7 @@ _Noreturn void EgtsProcessing_EventTaskTeledata(tEgtsProcessing *env) {
tNmeaRmc nmeaRmc;
Gnss_GetFullNavData(env->gsm, &nmeaRmc);
env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_NumberOfSatellites].value = (uint8_t)nmeaRmc.magnetic.nsat;
//начало-----------------------------Отслеживание угла поворота и начала и окончания навигации------------------
//начало-----------------------------Отслеживание угла поворота и начала и окончания навигации------------------

95
Network.c Normal file
View File

@ -0,0 +1,95 @@
//
// Created by cfif on 05.06.2024.
//
#include "Network.h"
#include "EgtsOutputCommands.h"
#include "SystemDelayInterface.h"
#include "AtGsmQuerySignalQuality.h"
#define LOG_SIGN "EGTS_INFO"
#define LOGGER &env->slog->logger
uint8_t QuerySignalQuality(tGsmWithGnss *env) {
uint8_t rssi = 0;
if (osMutexAcquire(env->gsmAt.access, defaultSocketTimeout) == osOK) {
AtGsm_QuerySignalQuality(
&env->gsmAt,
&rssi
);
osMutexRelease(&env->gsmAt.access);
} else {
LoggerInfoStatic(LOGGER, LOG_SIGN, "Ошибка доступа (QuerySignalQuality)")
}
return rssi;
}
void _Noreturn EgtsProcessing_InfoTask(tEgtsProcessing *env) {
uint32_t timeOutCheckNetworkStatus = 0;
bool oneOn = true;
bool oneOff = true;
while (1) {
if (onOffTelematica(env, &oneOn, &oneOff, "Задача информации"))
continue;
// env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_Voltage12Volts].value = *EXT_ENV_TELE.vBoardVoltage;
//начало ---------------------------------Обновление RSSI NETWORK SAT-------------------------------------------
//начало ---------------------------------Обновление RSSI NETWORK SAT-------------------------------------------
//начало ---------------------------------Обновление RSSI NETWORK SAT-------------------------------------------
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;
if (timeOutCheckNetworkStatus < SystemGetMs()) {
/*
timeOutCheckNetworkStatus = SystemGetMs() + AURUS_CHECK_NETWORK_STATUS;
uint8_t status = EpsNetworkRegistrationStatus(env->gsm);
if (status == 0)
env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_NetworkType].value = 0;
if ((status > 0) && (status <= 3)) {
env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_NetworkType].value = 44; // 2G
}
if ((status >= 4) && (status <= 7)) {
env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_NetworkType].value = 60; // 3G
}
if (status >= 8) {
env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_NetworkType].value = 76; // LTE
}
*/
uint8_t rssi = QuerySignalQuality(env->gsm);
env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_RSSI].value = rssi;
}
//конец ---------------------------------Обновление RSSI NETWORK SAT--------------------------------------------
//конец ---------------------------------Обновление RSSI NETWORK SAT--------------------------------------------
//конец ---------------------------------Обновление RSSI NETWORK SAT--------------------------------------------
SystemDelayMs(1000);
}
}

11
Network.h Normal file
View File

@ -0,0 +1,11 @@
//
// Created by cfif on 05.06.2024.
//
#ifndef SMART_COMPONENTS_NETWORK_H
#define SMART_COMPONENTS_NETWORK_H
#include "EgtsProcessing.h"
void _Noreturn EgtsProcessing_InfoTask(tEgtsProcessing *env);
#endif //SMART_COMPONENTS_NETWORK_H