Fix
This commit is contained in:
parent
786633e012
commit
8c09731d1e
|
|
@ -16,6 +16,26 @@
|
||||||
#define LOG_SIGN "Главн."
|
#define LOG_SIGN "Главн."
|
||||||
#define LOGGER &env->slog.logger
|
#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;
|
size_t str_len = 0;
|
||||||
char step[5];
|
char step[5];
|
||||||
|
|
||||||
|
|
@ -59,9 +79,9 @@ void Mma_Shutdown(tMma *env) {
|
||||||
LoggerErrorStatic(LOGGER, LOG_SIGN, "Этой строчки не должно быть! Критическая ошибка!")
|
LoggerErrorStatic(LOGGER, LOG_SIGN, "Этой строчки не должно быть! Критическая ошибка!")
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mma_CheckShutdownIsBattary(tMma *env){
|
void Mma_CheckShutdownIsBattary(tMma *env) {
|
||||||
bool statShutdown = Pwm_IsShutdownRequired(&env->power);
|
bool statShutdown = Pwm_IsShutdownRequired(&env->power);
|
||||||
if((env->indication.mode != DEVICE_MODE_TESTING) && (env->indication.mode != DEVICE_MODE_UVEOS_GARAG) ) {
|
if ((env->indication.mode != DEVICE_MODE_TESTING) && (env->indication.mode != DEVICE_MODE_UVEOS_GARAG)) {
|
||||||
if (statShutdown) {
|
if (statShutdown) {
|
||||||
uint16_t single;
|
uint16_t single;
|
||||||
float volt;
|
float volt;
|
||||||
|
|
@ -80,6 +100,9 @@ void Mma_CheckShutdown(tMma *env, bool fastBlackOut) {
|
||||||
|
|
||||||
if (statShutdown && (!statStandUp)) {
|
if (statShutdown && (!statStandUp)) {
|
||||||
Mma_Shutdown(env);
|
Mma_Shutdown(env);
|
||||||
|
} else {
|
||||||
|
if (env->storage.runtime.EGTS_FLEET_ON == false)
|
||||||
|
TELEMATICA_START(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
Mma_CheckShutdownIsBattary(env);
|
Mma_CheckShutdownIsBattary(env);
|
||||||
|
|
@ -172,6 +195,7 @@ void Mma_GarageMode(tMma *env) {
|
||||||
SystemDelayMs(1000);
|
SystemDelayMs(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mma_NetworkAndAudioRequireKz(tMma *env) {
|
void Mma_NetworkAndAudioRequireKz(tMma *env) {
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Включаем звук");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Включаем звук");
|
||||||
Pwm_AudioEnable(&env->power);
|
Pwm_AudioEnable(&env->power);
|
||||||
|
|
@ -205,7 +229,7 @@ static void Mma_NetworkAndAudioRelease(tMma *env) {
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Выключаем сигнал MUTE");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Выключаем сигнал MUTE");
|
||||||
Pwm_SetMute(&env->power, false);
|
Pwm_SetMute(&env->power, false);
|
||||||
uint32_t t = SystemGetMs() + 200;
|
uint32_t t = SystemGetMs() + 200;
|
||||||
while (t > SystemGetMs()){}
|
while (t > SystemGetMs()) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mma_EcallManual(tMma *env) {
|
void Mma_EcallManual(tMma *env) {
|
||||||
|
|
@ -243,10 +267,10 @@ void Mma_EcallManualKZ(tMma *env) {
|
||||||
void Mma_gnssUpdate(tMma *env, eDeviceModes *deviceModes) {
|
void Mma_gnssUpdate(tMma *env, eDeviceModes *deviceModes) {
|
||||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Обновление ГНСС")
|
LoggerTraceStatic(LOGGER, LOG_SIGN, "Обновление ГНСС")
|
||||||
|
|
||||||
if (env->storage.runtime.enableGnssUpdate == true){
|
if (env->storage.runtime.enableGnssUpdate == true) {
|
||||||
EraGlonassUveosNavData location;
|
EraGlonassUveosNavData location;
|
||||||
|
|
||||||
if((*deviceModes != DEVICE_MODE_TESTING) && (*deviceModes != DEVICE_MODE_UVEOS_GARAG) ) {
|
if ((*deviceModes != DEVICE_MODE_TESTING) && (*deviceModes != DEVICE_MODE_UVEOS_GARAG)) {
|
||||||
GsmWithGnss_GetNevData(&env->gsmWithGnss, 600);
|
GsmWithGnss_GetNevData(&env->gsmWithGnss, 600);
|
||||||
AtGsm_Gsnss_GetLastActualNavData(&env->gsmWithGnss, &location, 1);
|
AtGsm_Gsnss_GetLastActualNavData(&env->gsmWithGnss, &location, 1);
|
||||||
|
|
||||||
|
|
@ -316,7 +340,7 @@ static void Mma_ProcessCallAnswer(tMma *env) {
|
||||||
Pwm_SetMute(&env->power, true);
|
Pwm_SetMute(&env->power, true);
|
||||||
|
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Получен вызов от оператора");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Получен вызов от оператора");
|
||||||
AudioPlayer_PlayStatic(&env->gsmWithGnss.audioPlayer, "audio_on", 8*1000);
|
AudioPlayer_PlayStatic(&env->gsmWithGnss.audioPlayer, "audio_on", 8 * 1000);
|
||||||
SystemDelayMs(500);
|
SystemDelayMs(500);
|
||||||
AtGsmAnswer(&env->gsmWithGnss.gsmAt);
|
AtGsmAnswer(&env->gsmWithGnss.gsmAt);
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Вызов от оператора принят");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Вызов от оператора принят");
|
||||||
|
|
@ -368,7 +392,7 @@ void Mma_TestingThread(tMma *env) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static _Noreturn void Mma_Thread(tMma *env) {
|
static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_PWR,ENABLE);
|
RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_PWR, ENABLE);
|
||||||
PWR_BackupAccessEnable(ENABLE);
|
PWR_BackupAccessEnable(ENABLE);
|
||||||
RCC_EnableBackupReset(DISABLE);
|
RCC_EnableBackupReset(DISABLE);
|
||||||
|
|
||||||
|
|
@ -380,8 +404,8 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
&env->storage,
|
&env->storage,
|
||||||
&env->power.pins->main.ignition,
|
&env->power.pins->main.ignition,
|
||||||
&env->gsmWithGnss,
|
&env->gsmWithGnss,
|
||||||
&env->rtc->rtcIo,
|
&env->rtc->rtcIo,
|
||||||
&env->slog
|
&env->slog
|
||||||
);
|
);
|
||||||
|
|
||||||
EgtsProcessing_Start(&env->egtsProcessing);
|
EgtsProcessing_Start(&env->egtsProcessing);
|
||||||
|
|
@ -444,17 +468,20 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
} else {
|
} else {
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть или сим-чип отсутствует");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть или сим-чип отсутствует");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
TELEMATICA_START(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Pwm_AudioDisable(&env->power);
|
Pwm_AudioDisable(&env->power);
|
||||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Звуковой усилитель отключён")
|
LoggerTraceStatic(LOGGER, LOG_SIGN, "Звуковой усилитель отключён")
|
||||||
|
|
||||||
SystemDelayMs(2000);
|
SystemDelayMs(100);
|
||||||
|
|
||||||
// Mma_StartTestThreadStart(env);
|
// Mma_StartTestThreadStart(env);
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Mma_ColorBip(env);
|
Mma_ColorBip(env);
|
||||||
|
|
||||||
if (env->storage.runtime.EGTS_FLEET_ON == false) {
|
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, "Начало итерации главного цикла")
|
||||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нужна ли сеть...")
|
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нужна ли сеть...")
|
||||||
if (EraGlonassUveos_IsRequireNetwork(&env->uveos)) {
|
if (EraGlonassUveos_IsRequireNetwork(&env->uveos)) {
|
||||||
|
|
@ -524,7 +548,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
// env->uveos.timings.lastInMemTransmit =
|
// env->uveos.timings.lastInMemTransmit =
|
||||||
// SystemGetMs() + (env->uveos.settings->INT_MEM_TRANSMIT_INTERVAL * 60 * 1000);
|
// SystemGetMs() + (env->uveos.settings->INT_MEM_TRANSMIT_INTERVAL * 60 * 1000);
|
||||||
// }
|
// }
|
||||||
if(env->uveos.timings.lastInMemTransmit < SystemGetMs()){
|
if (env->uveos.timings.lastInMemTransmit < SystemGetMs()) {
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Периодическая проверка необходимости повторной отправки МНД");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Периодическая проверка необходимости повторной отправки МНД");
|
||||||
|
|
||||||
noSendMsdCount = EraGlonassMsdTable_GetNoSendDataCount(env->uveos.msdTable);
|
noSendMsdCount = EraGlonassMsdTable_GetNoSendDataCount(env->uveos.msdTable);
|
||||||
|
|
@ -540,7 +564,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Удаление СМС выполнено");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Удаление СМС выполнено");
|
||||||
} else {
|
} else {
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть или сим-чип отсутствует, попытка регистрации...");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Сеть или сим-чип отсутствует, попытка регистрации...");
|
||||||
if (GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5,40000) == AT_OK) {
|
if (GsmWithGnss_NetworkEnableInnaterups(&env->gsmWithGnss, 5, 40000) == AT_OK) {
|
||||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Сеть присутствует")
|
LoggerTraceStatic(LOGGER, LOG_SIGN, "Сеть присутствует")
|
||||||
EraGlonassUveos_ProcessingCheckNoSendMSD(&env->uveos);
|
EraGlonassUveos_ProcessingCheckNoSendMSD(&env->uveos);
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Удаление всех СМС...");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Удаление всех СМС...");
|
||||||
|
|
@ -573,7 +597,7 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
|
|
||||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем экстренное событие")
|
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем экстренное событие")
|
||||||
if (UveosEmergencyEvent_GetNext(&env->crashDetect.emergencyEvents, &emergencyEvent, 0)) {
|
if (UveosEmergencyEvent_GetNext(&env->crashDetect.emergencyEvents, &emergencyEvent, 0)) {
|
||||||
if(env->storage.nvm.gost.CRASH_SIGNAL_INTERNAL == 1) {
|
if (env->storage.nvm.gost.CRASH_SIGNAL_INTERNAL == 1) {
|
||||||
Mma_EcallManualKZ(env);
|
Mma_EcallManualKZ(env);
|
||||||
// DeviceTesting_EcallKZ1(&env->testing);
|
// DeviceTesting_EcallKZ1(&env->testing);
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Экстренное событие получено");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Экстренное событие получено");
|
||||||
|
|
@ -584,10 +608,12 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нажатия кнопок")
|
LoggerTraceStatic(LOGGER, LOG_SIGN, "Проверяем нажатия кнопок")
|
||||||
if (UserButtons_GetNext(&env->userInput.buttonsInterface, &buttonEvent, 10)) {
|
if (UserButtons_GetNext(&env->userInput.buttonsInterface, &buttonEvent, 10)) {
|
||||||
|
|
||||||
if(env->kzModeBloc == false) {
|
if (env->kzModeBloc == false) {
|
||||||
if (UserInputButtonEventIsBetween(
|
if (UserInputButtonEventIsBetween(
|
||||||
buttonEvent, UI_BUTTON_EMERGENCY, RAISE, env->storage.nvm.gost.SOS_BUTTON_TIME, 0xFFFF
|
buttonEvent, UI_BUTTON_EMERGENCY, RAISE, env->storage.nvm.gost.SOS_BUTTON_TIME, 0xFFFF
|
||||||
)) {
|
)) {
|
||||||
|
|
||||||
|
TELEMATICA_STOP(env);
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова KZ 1")
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова KZ 1")
|
||||||
uint32_t tmt = SystemGetMs() + 10000;
|
uint32_t tmt = SystemGetMs() + 10000;
|
||||||
UserButtons_Clear(&env->userInput.buttonsInterface);
|
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,
|
buttonEvent, UI_BUTTON_EMERGENCY, RAISE, env->storage.nvm.gost.SOS_BUTTON_TIME,
|
||||||
0xFFFF
|
0xFFFF
|
||||||
)) {
|
)) {
|
||||||
|
TELEMATICA_STOP(env);
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова KZ 2")
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова KZ 2")
|
||||||
EraGlonassUveos_SetTimings(&env->uveos);
|
EraGlonassUveos_SetTimings(&env->uveos);
|
||||||
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
Mma_SetMode(env, DEVICE_MODE_UVEOS_CALL_INITIATE);
|
||||||
|
|
@ -616,28 +643,29 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
}
|
}
|
||||||
SystemDelayMs(10);
|
SystemDelayMs(10);
|
||||||
}
|
}
|
||||||
if(env->kzModeBloc == false) {
|
if (env->kzModeBloc == false) {
|
||||||
|
TELEMATICA_STOP(env);
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова_1")
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова_1")
|
||||||
Mma_EcallManual(env);
|
Mma_EcallManual(env);
|
||||||
}
|
}
|
||||||
UserButtons_Clear(&env->userInput.buttonsInterface);
|
UserButtons_Clear(&env->userInput.buttonsInterface);
|
||||||
}
|
}
|
||||||
} else
|
} else if (UserInputButtonEventIsBetween(
|
||||||
|
|
||||||
if (UserInputButtonEventIsBetween(
|
|
||||||
buttonEvent, UI_BUTTON_EMERGENCY, RAISE, env->storage.nvm.gost.SOS_BUTTON_TIME, 0xFFFF
|
buttonEvent, UI_BUTTON_EMERGENCY, RAISE, env->storage.nvm.gost.SOS_BUTTON_TIME, 0xFFFF
|
||||||
)) {
|
)) {
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова_2")
|
TELEMATICA_STOP(env);
|
||||||
Mma_EcallManual(env);
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Нажата кнопка экстренного вызова_2")
|
||||||
} else
|
Mma_EcallManual(env);
|
||||||
|
} 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);
|
vAsciiStringInit(step, &str_len, 5);
|
||||||
vAsciiStringAddDecimalInt64(step, &str_len, env->uveos.doNothing.movDist, 5);
|
vAsciiStringAddDecimalInt64(step, &str_len, env->uveos.doNothing.movDist, 5);
|
||||||
|
|
||||||
if (env->uveos.doNothing.mode == UVEOS_DO_NOTHING_DISABLED) {
|
if (env->uveos.doNothing.mode == UVEOS_DO_NOTHING_DISABLED) {
|
||||||
Mma_SetMode(env, DEVICE_MODE_TESTING);
|
Mma_SetMode(env, DEVICE_MODE_TESTING);
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Переход в режим пользовательского тестирования, отклонение дистанции = ");
|
LoggerInfoStatic(LOGGER, LOG_SIGN,
|
||||||
|
"Переход в режим пользовательского тестирования, отклонение дистанции = ");
|
||||||
LoggerInfo(LOGGER, LOG_SIGN, step, str_len);
|
LoggerInfo(LOGGER, LOG_SIGN, step, str_len);
|
||||||
Mma_UserTestMode(env);
|
Mma_UserTestMode(env);
|
||||||
} else if (env->uveos.doNothing.mode == UVEOS_DO_NOTHING_MOVE_TO) {
|
} 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);
|
LoggerInfo(LOGGER, LOG_SIGN, step, str_len);
|
||||||
Mma_GarageMode(env);
|
Mma_GarageMode(env);
|
||||||
} else if (env->uveos.doNothing.mode == UVEOS_DO_NOTHING_MOVE_TO) {
|
} 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);
|
LoggerInfo(LOGGER, LOG_SIGN, step, str_len);
|
||||||
} else if (env->uveos.doNothing.movePosition.valid == 0) {
|
} else if (env->uveos.doNothing.movePosition.valid == 0) {
|
||||||
LoggerInfoStatic(LOGGER, LOG_SIGN, "Данные GNSS не достоверны!");
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Данные GNSS не достоверны!");
|
||||||
|
|
@ -666,24 +695,22 @@ static _Noreturn void Mma_Thread(tMma *env) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EraGlonassUveos_IsAllowInCall(&env->uveos) && GsmWithGnss_IsRing(&env->gsmWithGnss)) {
|
|
||||||
Mma_ProcessCallAnswer(env);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (env->storage.runtime.EGTS_FLEET_ON == false) {
|
if (env->storage.runtime.EGTS_FLEET_ON == false) {
|
||||||
|
if (EraGlonassUveos_IsAllowInCall(&env->uveos) && GsmWithGnss_IsRing(&env->gsmWithGnss)) {
|
||||||
|
Mma_ProcessCallAnswer(env);
|
||||||
|
}
|
||||||
Mma_CheckIncomingSms(env);
|
Mma_CheckIncomingSms(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
Mma_CheckShutdown(env, false);
|
Mma_CheckShutdown(env, false);
|
||||||
*/
|
|
||||||
SystemDelayMs(10);
|
SystemDelayMs(10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Mma_StartTestThreadStart(tMma *env) {
|
void Mma_StartTestThreadStart(tMma *env) {
|
||||||
if ( !env->threadTesting.id ) {
|
if (!env->threadTesting.id) {
|
||||||
env->threadTesting.id = osThreadNew(
|
env->threadTesting.id = osThreadNew(
|
||||||
(osThreadFunc_t) (Mma_TestingThread),
|
(osThreadFunc_t) (Mma_TestingThread),
|
||||||
(void *) (env),
|
(void *) (env),
|
||||||
|
|
@ -694,7 +721,7 @@ void Mma_StartTestThreadStart(tMma *env) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Mma_StopTestThreadStart(tMma *env) {
|
void Mma_StopTestThreadStart(tMma *env) {
|
||||||
if(env->threadTesting.id != NULL) {
|
if (env->threadTesting.id != NULL) {
|
||||||
if (osThreadTerminate(env->threadTesting.id) == osOK) {
|
if (osThreadTerminate(env->threadTesting.id) == osOK) {
|
||||||
SystemDelayMs(100);
|
SystemDelayMs(100);
|
||||||
env->threadTesting.id = NULL;
|
env->threadTesting.id = NULL;
|
||||||
|
|
|
||||||
|
|
@ -303,12 +303,12 @@ static void Mma_RunSubThreads(tMma *env) {
|
||||||
|
|
||||||
VarsTabDumpObserver_StartThread(&env->storage.dumpObserver);
|
VarsTabDumpObserver_StartThread(&env->storage.dumpObserver);
|
||||||
Accel_StartThread(&env->accel);
|
Accel_StartThread(&env->accel);
|
||||||
// CrashDetection_StartThread(&env->crashDetect);
|
CrashDetection_StartThread(&env->crashDetect);
|
||||||
/*
|
/*
|
||||||
Cli_StartThread(&env->cli);
|
Cli_StartThread(&env->cli);
|
||||||
Cli_StartThread(&env->cliVrt);
|
Cli_StartThread(&env->cliVrt);
|
||||||
*/
|
*/
|
||||||
// UserInput_StartThread(&env->userInput);
|
UserInput_StartThread(&env->userInput);
|
||||||
|
|
||||||
ComInt_StartThread(&env->comInt);
|
ComInt_StartThread(&env->comInt);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue