Исправлена инициализация и основной цикл задачи

This commit is contained in:
cfif 2024-12-18 18:03:06 +03:00
parent 1f74f2206c
commit 6c947a0476
3 changed files with 35 additions and 6 deletions

View File

@ -544,7 +544,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
}
/*
Pwm_AudioDisable(&env->power);
LoggerTraceStatic(LOGGER, LOG_SIGN, "Звуковой усилитель отключён")
AtGsm_OperatorSelectionDeregister(&env->gsmWithGnss.gsmAt);
@ -553,6 +553,9 @@ static _Noreturn void Mma_Thread(tMma *env) {
SystemDelayMs(2000);
GsmWithGnss_SelectStandartNetwork(&env->gsmWithGnss.gsmAt, 25);
// Mma_StartTestThreadStart(env);
*/
SystemDelayMs(100);
for (;;) {
Mma_ColorBip(env);
@ -561,6 +564,11 @@ static _Noreturn void Mma_Thread(tMma *env) {
if (env->storage.runtime.EGTS_FLEET_ON == false) {
Mma_gnssUpdate(env, &indicationState);
} else {
indicationState = GsmWithGnss_IsGnssReady(&env->gsmWithGnss) ?
DEVICE_MODE_UVEOS_ERA_GNSS_READY :
DEVICE_MODE_UVEOS_ERA_WAIT_GNSS;
if (osMutexAcquire(env->gsmWithGnss.gsmAt.access, 1000) == osOK) {
AtGsm_Gsnss_GetNMEA_Pack(&env->gsmWithGnss, 400);
osMutexRelease(env->gsmWithGnss.gsmAt.access);
@ -575,8 +583,26 @@ static _Noreturn void Mma_Thread(tMma *env) {
Mma_gnssUpdate(env, &indicationState);
#endif
#ifdef UVEOS_ADD_TELEMATICA
if (env->storage.runtime.EGTS_FLEET_ON == false) {
LoggerTraceStatic(LOGGER, LOG_SIGN, "Начало итерации главного цикла")
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нужна ли сеть...")
if (EraGlonassUveos_IsRequireNetwork(&env->uveos)) {
LoggerTraceStatic(LOGGER, LOG_SIGN, "Нужна, подключаемся")
Mma_SetNetworkRegistration(env, true);
} else {
LoggerTraceStatic(LOGGER, LOG_SIGN, "Ненужна, отключаемся")
Mma_SetNetworkRegistration(env, false);
}
}
#endif
#ifndef UVEOS_ADD_TELEMATICA
LoggerTraceStatic(LOGGER, LOG_SIGN, "Начало итерации главного цикла")
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нужна ли сеть...")
if (EraGlonassUveos_IsRequireNetwork(&env->uveos)) {
LoggerTraceStatic(LOGGER, LOG_SIGN, "Нужна, подключаемся")
Mma_SetNetworkRegistration(env, true);
@ -584,6 +610,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
LoggerTraceStatic(LOGGER, LOG_SIGN, "Ненужна, отключаемся")
Mma_SetNetworkRegistration(env, false);
}
#endif
LoggerTraceStatic(LOGGER, LOG_SIGN, "Выполняем постоянный тест")
if (DeviceTesting_Always(&env->testing)) {
@ -596,8 +623,10 @@ static _Noreturn void Mma_Thread(tMma *env) {
LoggerTraceStatic(LOGGER, LOG_SIGN, "Обновляем статус индикации")
};
Mma_SetMode(env, indicationState);
// if(env->uveos.timings.lastInMemTransmit < SystemGetMs()){
// LoggerInfoStatic(LOGGER, LOG_SIGN, "Периодическая проверка необходимости повторной отправки МНД");
// tEraGlonassMsdTableItem *item = NULL;

View File

@ -66,7 +66,7 @@ typedef struct {
tUserInput userInput;
tUserIndication indication;
tComInt comInt;
tCli cli;
// tCli cli;
tCli cliVrt;
tDeviceTesting testing;
@ -78,7 +78,7 @@ typedef struct {
struct {
osThreadId_t id;
uint32_t stack[4048]; //4048 6072
uint32_t stack[2048]; //4048 6072
StaticTask_t controlBlock;
osThreadAttr_t attr;
} thread;

View File

@ -276,7 +276,7 @@ static void Mma_InitSubSystems(tMma *env) {
&env->power, &env->gsmWithGnss,
&env->uveos
);
/*
Cli_Init(
&env->cli,
&env->serialPorts->DebugIO,
@ -293,7 +293,7 @@ static void Mma_InitSubSystems(tMma *env) {
&env->gsmWithGnss,
&env->uveos
);
*/
Mma_InitComInt(env, &env->storage.nvm.device.serialNumber.value, &env->storage.publicVariablesTable);
LoggerInfoStatic(LOGGER, LOG_SIGN, "Инициализация подсистем завершена")
}
@ -305,7 +305,7 @@ static void Mma_RunSubThreads(tMma *env) {
Accel_StartThread(&env->accel);
CrashDetection_StartThread(&env->crashDetect);
Cli_StartThread(&env->cli);
//++ Cli_StartThread(&env->cli);
Cli_StartThread(&env->cliVrt);
UserInput_StartThread(&env->userInput);