Fix
This commit is contained in:
parent
786633e012
commit
8c09731d1e
|
|
@ -16,6 +16,26 @@
|
|||
#define LOG_SIGN "Главн."
|
||||
#define LOGGER &env->slog.logger
|
||||
|
||||
void TELEMATICA_START(tMma *env) {
|
||||
env->storage.runtime.EGTS_FLEET_ON = true;
|
||||
}
|
||||
|
||||
void TELEMATICA_STOP(tMma *env) {
|
||||
|
||||
if (env->storage.runtime.EGTS_FLEET_ON == true) {
|
||||
|
||||
env->storage.runtime.EGTS_FLEET_ON = false;
|
||||
|
||||
for (uint8_t i = 0; i < 30; ++i) {
|
||||
if (env->storage.runtime.telematicaCloseConnect)
|
||||
break;
|
||||
|
||||
SystemDelayMs(100);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
size_t str_len = 0;
|
||||
char step[5];
|
||||
|
||||
|
|
@ -80,6 +100,9 @@ void Mma_CheckShutdown(tMma *env, bool fastBlackOut) {
|
|||
|
||||
if (statShutdown && (!statStandUp)) {
|
||||
Mma_Shutdown(env);
|
||||
} else {
|
||||
if (env->storage.runtime.EGTS_FLEET_ON == false)
|
||||
TELEMATICA_START(env);
|
||||
}
|
||||
|
||||
Mma_CheckShutdownIsBattary(env);
|
||||
|
|
@ -172,6 +195,7 @@ void Mma_GarageMode(tMma *env) {
|
|||
SystemDelayMs(1000);
|
||||
}
|
||||
}
|
||||
|
||||
void Mma_NetworkAndAudioRequireKz(tMma *env) {
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Включаем звук");
|
||||
Pwm_AudioEnable(&env->power);
|
||||
|
|
@ -444,17 +468,20 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
} else {
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть или сим-чип отсутствует");
|
||||
}
|
||||
} else {
|
||||
TELEMATICA_START(env);
|
||||
}
|
||||
|
||||
|
||||
Pwm_AudioDisable(&env->power);
|
||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Звуковой усилитель отключён")
|
||||
|
||||
SystemDelayMs(2000);
|
||||
SystemDelayMs(100);
|
||||
|
||||
// Mma_StartTestThreadStart(env);
|
||||
for (;;) {
|
||||
|
||||
|
||||
|
||||
Mma_ColorBip(env);
|
||||
|
||||
if (env->storage.runtime.EGTS_FLEET_ON == false) {
|
||||
|
|
@ -477,9 +504,6 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Начало итерации главного цикла")
|
||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нужна ли сеть...")
|
||||
if (EraGlonassUveos_IsRequireNetwork(&env->uveos)) {
|
||||
|
|
@ -588,6 +612,8 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
if (UserInputButtonEventIsBetween(
|
||||
buttonEvent, UI_BUTTON_EMERGENCY, RAISE, env->storage.nvm.gost.SOS_BUTTON_TIME, 0xFFFF
|
||||
)) {
|
||||
|
||||
TELEMATICA_STOP(env);
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова KZ 1")
|
||||
uint32_t tmt = SystemGetMs() + 10000;
|
||||
UserButtons_Clear(&env->userInput.buttonsInterface);
|
||||
|
|
@ -597,6 +623,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
buttonEvent, UI_BUTTON_EMERGENCY, RAISE, env->storage.nvm.gost.SOS_BUTTON_TIME,
|
||||
0xFFFF
|
||||
)) {
|
||||
TELEMATICA_STOP(env);
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова KZ 2")
|
||||
EraGlonassUveos_SetTimings(&env->uveos);
|
||||
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
||||
|
|
@ -617,27 +644,28 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
SystemDelayMs(10);
|
||||
}
|
||||
if (env->kzModeBloc == false) {
|
||||
TELEMATICA_STOP(env);
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова_1")
|
||||
Mma_EcallManual(env);
|
||||
}
|
||||
UserButtons_Clear(&env->userInput.buttonsInterface);
|
||||
}
|
||||
} else
|
||||
|
||||
if (UserInputButtonEventIsBetween(
|
||||
} else if (UserInputButtonEventIsBetween(
|
||||
buttonEvent, UI_BUTTON_EMERGENCY, RAISE, env->storage.nvm.gost.SOS_BUTTON_TIME, 0xFFFF
|
||||
)) {
|
||||
TELEMATICA_STOP(env);
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова_2")
|
||||
Mma_EcallManual(env);
|
||||
} else
|
||||
} else if (UserInputButtonEventIsBetween(buttonEvent, UI_BUTTON_ADDITIONAL, RAISE, 3000, 10000)) {
|
||||
TELEMATICA_STOP(env);
|
||||
|
||||
if (UserInputButtonEventIsBetween(buttonEvent, UI_BUTTON_ADDITIONAL, RAISE, 3000, 10000)) {
|
||||
vAsciiStringInit(step, &str_len, 5);
|
||||
vAsciiStringAddDecimalInt64(step, &str_len, env->uveos.doNothing.movDist, 5);
|
||||
|
||||
if (env->uveos.doNothing.mode == UVEOS_DO_NOTHING_DISABLED) {
|
||||
Mma_SetMode(env, DEVICE_MODE_TESTING);
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Переход в режим пользовательского тестирования, отклонение дистанции = ");
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||
"Переход в режим пользовательского тестирования, отклонение дистанции = ");
|
||||
LoggerInfo(LOGGER, LOG_SIGN, step, str_len);
|
||||
Mma_UserTestMode(env);
|
||||
} else if (env->uveos.doNothing.mode == UVEOS_DO_NOTHING_MOVE_TO) {
|
||||
|
|
@ -657,7 +685,8 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
LoggerInfo(LOGGER, LOG_SIGN, step, str_len);
|
||||
Mma_GarageMode(env);
|
||||
} else if (env->uveos.doNothing.mode == UVEOS_DO_NOTHING_MOVE_TO) {
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Переход в режим Гараж не возможен, Т.С. находится в движении, отклонение дистанции = ");
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||
"Переход в режим Гараж не возможен, Т.С. находится в движении, отклонение дистанции = ");
|
||||
LoggerInfo(LOGGER, LOG_SIGN, step, str_len);
|
||||
} else if (env->uveos.doNothing.movePosition.valid == 0) {
|
||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Данные GNSS не достоверны!");
|
||||
|
|
@ -666,22 +695,20 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
|||
|
||||
}
|
||||
|
||||
if (env->storage.runtime.EGTS_FLEET_ON == false) {
|
||||
if (EraGlonassUveos_IsAllowInCall(&env->uveos) && GsmWithGnss_IsRing(&env->gsmWithGnss)) {
|
||||
Mma_ProcessCallAnswer(env);
|
||||
}
|
||||
|
||||
if (env->storage.runtime.EGTS_FLEET_ON == false) {
|
||||
Mma_CheckIncomingSms(env);
|
||||
}
|
||||
|
||||
Mma_CheckShutdown(env, false);
|
||||
*/
|
||||
|
||||
SystemDelayMs(10);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mma_StartTestThreadStart(tMma *env) {
|
||||
if (!env->threadTesting.id) {
|
||||
env->threadTesting.id = osThreadNew(
|
||||
|
|
|
|||
|
|
@ -303,12 +303,12 @@ static void Mma_RunSubThreads(tMma *env) {
|
|||
|
||||
VarsTabDumpObserver_StartThread(&env->storage.dumpObserver);
|
||||
Accel_StartThread(&env->accel);
|
||||
// CrashDetection_StartThread(&env->crashDetect);
|
||||
CrashDetection_StartThread(&env->crashDetect);
|
||||
/*
|
||||
Cli_StartThread(&env->cli);
|
||||
Cli_StartThread(&env->cliVrt);
|
||||
*/
|
||||
// UserInput_StartThread(&env->userInput);
|
||||
UserInput_StartThread(&env->userInput);
|
||||
|
||||
ComInt_StartThread(&env->comInt);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue