This commit is contained in:
cfif 2024-12-09 16:21:53 +03:00
parent 503197dfc5
commit 7163324769
4 changed files with 45 additions and 6 deletions

View File

@ -175,7 +175,7 @@ void EgtsProcessing_Init(
env->gsm->socketGsm.logger = &slog->logger; env->gsm->socketGsm.logger = &slog->logger;
env->gsm->socketGsm.loggerTaskName = (char *) LOG_TASK_GSM_SOCKET; 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_ebu, "EgtsPrcEbu", osPriorityNormal);
InitThreadBlock(env->T_processing_input_command, "EgtsPrcInputCom", osPriorityNormal); InitThreadBlock(env->T_processing_input_command, "EgtsPrcInputCom", osPriorityNormal);
@ -188,7 +188,7 @@ void EgtsProcessing_Init(
void EgtsProcessing_Start(tEgtsProcessing *env) { 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_ebu, env, EgtsProcessing_TransmitterTaskEbu);
ThreadBlock_Start(env->T_processing_input_command, env, EgtsProcessing_TransmitterTaskInputCommand); ThreadBlock_Start(env->T_processing_input_command, env, EgtsProcessing_TransmitterTaskInputCommand);

View File

@ -341,7 +341,7 @@ typedef struct {
} carEventPosition; } carEventPosition;
tStaticThreadBlock(512) T_processing_Network; // tStaticThreadBlock(512) T_processing_Network;
// tStaticThreadBlock(1024) T_processing_ebu; // tStaticThreadBlock(1024) T_processing_ebu;
tStaticThreadBlock(512) T_processing_input_command; tStaticThreadBlock(512) T_processing_input_command;
tStaticThreadBlock(512) T_processing_event_teledata; tStaticThreadBlock(512) T_processing_event_teledata;
@ -420,6 +420,8 @@ typedef struct {
uint32_t timeAccelUpdate; uint32_t timeAccelUpdate;
uint32_t timeOutCheckNetworkStatus;
} tEgtsProcessing; } tEgtsProcessing;

View File

@ -422,6 +422,8 @@ uint32_t getTotalDist(tEgtsProcessing *env) {
} }
void ProcessInfo(tEgtsProcessing *env);
_Noreturn void EgtsProcessing_EventTaskTeledata(tEgtsProcessing *env) { _Noreturn void EgtsProcessing_EventTaskTeledata(tEgtsProcessing *env) {
bool isTimestamp = true; bool isTimestamp = true;
@ -509,6 +511,8 @@ _Noreturn void EgtsProcessing_EventTaskTeledata(tEgtsProcessing *env) {
tNmeaRmc nmeaRmc; tNmeaRmc nmeaRmc;
Gnss_GetFullNavData(env->gsm, &nmeaRmc); Gnss_GetFullNavData(env->gsm, &nmeaRmc);
ProcessInfo(env);
env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_NumberOfSatellites].value = (uint8_t)nmeaRmc.magnetic.nsat; env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_NumberOfSatellites].value = (uint8_t)nmeaRmc.magnetic.nsat;
//начало-----------------------------Отслеживание угла поворота и начала и окончания навигации------------------ //начало-----------------------------Отслеживание угла поворота и начала и окончания навигации------------------
@ -542,7 +546,8 @@ _Noreturn void EgtsProcessing_EventTaskTeledata(tEgtsProcessing *env) {
env->egtsPointEnv.beginAngle = moveAngle; env->egtsPointEnv.beginAngle = moveAngle;
if (totalSpeed > env->deviceTeledataStorageData->telematica.EGTS_GNSS_COURSE_SPEED) { if ((env->carEventPosition.carPosition == CAR_POSITION_MOVE) &&
(totalSpeed > env->deviceTeledataStorageData->telematica.EGTS_GNSS_COURSE_SPEED)) {
LoggerStrFormatInfo(LOGGER, LOG_SIGN, "Скорость транспортного средства: %d", totalSpeed); LoggerStrFormatInfo(LOGGER, LOG_SIGN, "Скорость транспортного средства: %d", totalSpeed);

View File

@ -13,7 +13,7 @@ uint8_t QuerySignalQuality(tGsmWithGnss *env) {
uint8_t rssi = 0; uint8_t rssi = 0;
if (osMutexAcquire(env->gsmAt.access, defaultSocketTimeout) == osOK) { if (osMutexAcquire(env->gsmAt.access, 2000) == osOK) {
AtGsm_QuerySignalQuality( AtGsm_QuerySignalQuality(
&env->gsmAt, &env->gsmAt,
@ -28,6 +28,37 @@ uint8_t QuerySignalQuality(tGsmWithGnss *env) {
return rssi; return rssi;
} }
void ProcessInfo(tEgtsProcessing *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_VehicleStatus].value = SENSORS_AN_VehicleStatus_loc;
if (env->timeOutCheckNetworkStatus < SystemGetMs()) {
env->timeOutCheckNetworkStatus = SystemGetMs() + AURUS_CHECK_NETWORK_STATUS;
uint8_t rssi = QuerySignalQuality(env->gsm);
env->egtsTeledataEdit.egtsSensorsAnArgs.sensorsAnState[SENSORS_AN_RSSI].value = rssi;
}
*/
}
void _Noreturn EgtsProcessing_InfoTask(tEgtsProcessing *env) { void _Noreturn EgtsProcessing_InfoTask(tEgtsProcessing *env) {
uint32_t timeOutCheckNetworkStatus = 0; uint32_t timeOutCheckNetworkStatus = 0;
@ -64,8 +95,9 @@ void _Noreturn EgtsProcessing_InfoTask(tEgtsProcessing *env) {
if (timeOutCheckNetworkStatus < SystemGetMs()) { if (timeOutCheckNetworkStatus < SystemGetMs()) {
/*
timeOutCheckNetworkStatus = SystemGetMs() + AURUS_CHECK_NETWORK_STATUS; timeOutCheckNetworkStatus = SystemGetMs() + AURUS_CHECK_NETWORK_STATUS;
/*
uint8_t status = EpsNetworkRegistrationStatus(env->gsm); uint8_t status = EpsNetworkRegistrationStatus(env->gsm);
if (status == 0) if (status == 0)