Merge with latest 2.3

This commit is contained in:
Bertrand Songis
2019-11-07 15:04:45 +01:00
286 changed files with 9956 additions and 10363 deletions
@@ -20,6 +20,7 @@
#include "opentx.h"
#include "io/frsky_firmware_update.h"
#include "io/multi_firmware_update.h"
#include "libopenui/src/libopenui_file.h"
#define NODE_TYPE(fname) fname[SD_SCREEN_FILE_LENGTH+1]
@@ -220,6 +221,18 @@ void onSdManagerMenu(const char * result)
FrskyDeviceFirmwareUpdate device(SPORT_MODULE);
device.flashFirmware(lfn, drawProgressScreen);
}
#if defined(MULTIMODULE)
#if defined(INTERNAL_MODULE_MULTI)
else if (result == STR_FLASH_INTERNAL_MULTI) {
getSelectionFullPath(lfn);
multiFlashFirmware(INTERNAL_MODULE, lfn);
}
#endif
else if (result == STR_FLASH_EXTERNAL_MULTI) {
getSelectionFullPath(lfn);
multiFlashFirmware(EXTERNAL_MODULE, lfn);
}
#endif
#if defined(BLUETOOTH)
else if (result == STR_FLASH_BLUETOOTH_MODULE) {
getSelectionFullPath(lfn);
@@ -341,6 +354,9 @@ void menuRadioSdManager(event_t _event)
break;
}
#endif
TCHAR lfn[_MAX_LFN + 1];
getSelectionFullPath(lfn);
if (SD_CARD_PRESENT() && s_editMode <= 0) {
killEvents(_event);
int index = menuVerticalPosition - HEADER_LINE - menuVerticalOffset;
@@ -365,10 +381,19 @@ void menuRadioSdManager(event_t _event)
POPUP_MENU_ADD_ITEM(STR_EXECUTE_FILE);
}
#endif
#if defined(MULTIMODULE) && !defined(DISABLE_MULTI_UPDATE)
if (!READ_ONLY() && !strcasecmp(ext, MULTI_FIRMWARE_EXT)) {
MultiFirmwareInformation information;
if (information.readMultiFirmwareInformation(line) == nullptr) {
#if defined(INTERNAL_MODULE_MULTI)
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MULTI);
#endif
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MULTI);
}
}
#endif
#if defined(PCBTARANIS)
else if (!READ_ONLY() && !strcasecmp(ext, FIRMWARE_EXT)) {
TCHAR lfn[FF_MAX_LFN + 1];
getSelectionFullPath(lfn);
if (!READ_ONLY() && !strcasecmp(ext, FIRMWARE_EXT)) {
if (isBootloader(lfn)) {
POPUP_MENU_ADD_ITEM(STR_FLASH_BOOTLOADER);
}
@@ -379,15 +404,19 @@ void menuRadioSdManager(event_t _event)
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MODULE);
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MODULE);
}
else if (!READ_ONLY() && !strcasecmp(ext, UPDATE_FIRMWARE_EXT)) {
else if (!READ_ONLY() && !strcasecmp(ext, FRSKY_FIRMWARE_EXT)) {
FrSkyFirmwareInformation information;
if (readFirmwareInformation(line, information) == nullptr) {
if (readFrSkyFirmwareInformation(line, information) == nullptr) {
if (information.productFamily == FIRMWARE_FAMILY_INTERNAL_MODULE)
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MODULE);
if (information.productFamily == FIRMWARE_FAMILY_EXTERNAL_MODULE)
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 (information.productFamily == FIRMWARE_FAMILY_RECEIVER || information.productFamily == FIRMWARE_FAMILY_SENSOR) {
if (HAS_SPORT_UPDATE_CONNECTOR())
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_DEVICE);
else
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MODULE);
}
#if defined(PXX2)
if (information.productFamily == FIRMWARE_FAMILY_RECEIVER)
POPUP_MENU_ADD_ITEM(STR_FLASH_RECEIVER_OTA);