diff --git a/radio/src/FreeRTOSConfig.h b/radio/src/FreeRTOSConfig.h index 7563cb95350..c97c3a3b958 100644 --- a/radio/src/FreeRTOSConfig.h +++ b/radio/src/FreeRTOSConfig.h @@ -70,8 +70,8 @@ extern uint32_t SystemCoreClock; /* Software timer definitions. */ #define configTIMER_TASK_PRIORITY ( 2 ) -#define configTIMER_QUEUE_LENGTH 10 -#define configTIMER_TASK_STACK_DEPTH ( 512 ) +#define configTIMER_QUEUE_LENGTH 20 +#define configTIMER_TASK_STACK_DEPTH ( 1024 ) /* Set the following definitions to 1 to include the API function, or zero to exclude the API function. */ diff --git a/radio/src/storage/sdcard_common.cpp b/radio/src/storage/sdcard_common.cpp index e94b7d9701c..99b344c037e 100644 --- a/radio/src/storage/sdcard_common.cpp +++ b/radio/src/storage/sdcard_common.cpp @@ -82,27 +82,30 @@ void storageCheck(bool immediately) if (storageDirtyMsk & EE_GENERAL) { TRACE("eeprom write general"); - storageDirtyMsk &= ~EE_GENERAL; const char * error = writeGeneralSettings(); if (error) { TRACE("writeGeneralSettings error=%s", error); } + else { + storageDirtyMsk &= ~EE_GENERAL; + } } #if defined(STORAGE_MODELSLIST) if (storageDirtyMsk & EE_LABELS) { TRACE("SD card write labels"); - storageDirtyMsk &= ~EE_LABELS; const char * error = modelslist.save(); if (error) { TRACE("writeLabels error=%s", error); } + else { + storageDirtyMsk &= ~EE_LABELS; + } } #endif if (storageDirtyMsk & EE_MODEL) { TRACE("eeprom write model"); - storageDirtyMsk &= ~EE_MODEL; const char * error = writeModel(); #if defined(STORAGE_MODELSLIST) modelslist.updateCurrentModelCell(); @@ -110,6 +113,9 @@ void storageCheck(bool immediately) if (error) { TRACE("writeModel error=%s", error); } + else { + storageDirtyMsk &= ~EE_MODEL; + } } }