From 3bff803238ad4178efb3a5b48d3a4c0a7095eba7 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 1 Apr 2020 08:14:32 +0200 Subject: [PATCH] OTA Update back on Horus (#7477) --- radio/src/gui/480x272/radio_sdmanager.cpp | 21 ++++++++++--------- .../src/gui/common/stdlcd/radio_sdmanager.cpp | 8 ++++--- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/radio/src/gui/480x272/radio_sdmanager.cpp b/radio/src/gui/480x272/radio_sdmanager.cpp index 2796325ac..90b5e5f57 100644 --- a/radio/src/gui/480x272/radio_sdmanager.cpp +++ b/radio/src/gui/480x272/radio_sdmanager.cpp @@ -281,13 +281,14 @@ void onUpdateReceiverSelection(const char * result) bool menuRadioSdManager(event_t _event) { -// TODO FREEZE SD MANAGER -// if (moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode == MODULE_MODE_BIND && EVT_KEY_MASK(_event) == KEY_EXIT) { -// moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode = MODULE_MODE_NORMAL; -// CLEAR_POPUP(); -// killEvents(KEY_EXIT); -// _event = 0; -// } +#if defined(PXX2) + if (EVT_KEY_MASK(_event) == KEY_EXIT && moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode == MODULE_MODE_BIND) { + moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode = MODULE_MODE_NORMAL; + CLEAR_POPUP(); + killEvents(KEY_EXIT); + _event = 0; + } +#endif event_t event = (EVT_KEY_MASK(_event) == KEY_ENTER ? 0 : _event); SIMPLE_MENU(SD_IS_HC() ? STR_SDHC_CARD : STR_SD_CARD, RADIO_ICONS, menuTabGeneral, MENU_RADIO_SD_MANAGER, reusableBuffer.sdManager.count); @@ -300,7 +301,7 @@ bool menuRadioSdManager(event_t _event) // no break; case EVT_ENTRY_UP: - memset(&reusableBuffer.sdManager, 0, sizeof(reusableBuffer.sdManager)); + memclear(&reusableBuffer.sdManager, sizeof(reusableBuffer.sdManager)); menuVerticalPosition = 0; REFRESH_FILES(); break; @@ -375,7 +376,7 @@ bool menuRadioSdManager(event_t _event) POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MODULE); if (HAS_SPORT_UPDATE_CONNECTOR() && (information.productFamily == FIRMWARE_FAMILY_RECEIVER || information.productFamily == FIRMWARE_FAMILY_SENSOR)) POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_DEVICE); -#if 0 // TODO FREEZE SD MANAGER defined(PXX2) +#if defined(PXX2) if (information.productFamily == FIRMWARE_FAMILY_RECEIVER) { if (isReceiverOTAEnabledFromModule(INTERNAL_MODULE, information.productId)) POPUP_MENU_ADD_ITEM(STR_FLASH_RECEIVER_OTA_BY_INTERNAL); @@ -556,7 +557,7 @@ bool menuRadioSdManager(event_t _event) } } -#if 0 // FREEZE SD MANAGER defined(PXX2) +#if defined(PXX2) if (moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode == MODULE_MODE_BIND) { if (reusableBuffer.sdManager.otaUpdateInformation.step == BIND_INIT) { if (reusableBuffer.sdManager.otaUpdateInformation.candidateReceiversCount > 0) { diff --git a/radio/src/gui/common/stdlcd/radio_sdmanager.cpp b/radio/src/gui/common/stdlcd/radio_sdmanager.cpp index 7b6f9ac86..d6def8115 100644 --- a/radio/src/gui/common/stdlcd/radio_sdmanager.cpp +++ b/radio/src/gui/common/stdlcd/radio_sdmanager.cpp @@ -286,12 +286,14 @@ void menuRadioSdManager(event_t _event) int lastPos = menuVerticalPosition; #endif - if (moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode == MODULE_MODE_BIND && EVT_KEY_MASK(_event) == KEY_EXIT) { +#if defined(PXX2) + if (EVT_KEY_MASK(_event) == KEY_EXIT && moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode == MODULE_MODE_BIND) { moduleState[reusableBuffer.sdManager.otaUpdateInformation.module].mode = MODULE_MODE_NORMAL; CLEAR_POPUP(); killEvents(KEY_EXIT); _event = 0; } +#endif event_t event = (EVT_KEY_MASK(_event) == KEY_ENTER ? 0 : _event); SIMPLE_MENU(SD_IS_HC() ? STR_SDHC_CARD : STR_SD_CARD, menuTabGeneral, MENU_RADIO_SD_MANAGER, HEADER_LINE + reusableBuffer.sdManager.count); @@ -299,13 +301,13 @@ void menuRadioSdManager(event_t _event) switch (_event) { case EVT_ENTRY: f_chdir(ROOT_PATH); - REFRESH_FILES(); #if LCD_DEPTH > 1 lastPos = -1; #endif - break; + // no break case EVT_ENTRY_UP: + memclear(&reusableBuffer.sdManager, sizeof(reusableBuffer.sdManager)); REFRESH_FILES(); break;