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.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,7 +188,7 @@ 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);

View File

@ -341,7 +341,7 @@ typedef struct {
} carEventPosition;
tStaticThreadBlock(512) 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;
@ -420,6 +420,8 @@ typedef struct {
uint32_t timeAccelUpdate;
uint32_t timeOutCheckNetworkStatus;
} tEgtsProcessing;

View File

@ -422,6 +422,8 @@ uint32_t getTotalDist(tEgtsProcessing *env) {
}
void ProcessInfo(tEgtsProcessing *env);
_Noreturn void EgtsProcessing_EventTaskTeledata(tEgtsProcessing *env) {
bool isTimestamp = true;
@ -509,6 +511,8 @@ _Noreturn void EgtsProcessing_EventTaskTeledata(tEgtsProcessing *env) {
tNmeaRmc nmeaRmc;
Gnss_GetFullNavData(env->gsm, &nmeaRmc);
ProcessInfo(env);
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;
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);

View File

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