1
0
Fork 0
mirror of https://github.com/EdgeTX/edgetx.git synced 2025-07-25 01:05:08 +03:00

Bsongis/power control chip (#6445)

FRSK files support added
This commit is contained in:
Bertrand Songis 2019-05-27 12:23:34 +02:00 committed by GitHub
parent 2eb88cb909
commit 8edf77286d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 438 additions and 51 deletions

View file

@ -19,7 +19,7 @@
*/
#include "opentx.h"
#include "io/frsky_device_firmware_update.h"
#include "io/frsky_firmware_update.h"
#define REFRESH_FILES() do { reusableBuffer.sdManager.offset = 65535; menuVerticalPosition = 0; } while(0)
#define NODE_TYPE(fname) fname[SD_SCREEN_FILE_LENGTH+1]
@ -186,19 +186,19 @@ void onSdManagerMenu(const char * result)
}
else if (result == STR_FLASH_INTERNAL_MODULE) {
getSelectionFullPath(lfn);
DeviceFirmwareUpdate device(INTERNAL_MODULE);
device.flashFile(lfn);
FrskyDeviceFirmwareUpdate device(INTERNAL_MODULE);
device.flashFirmware(lfn);
}
else if (result == STR_FLASH_EXTERNAL_MODULE) {
// needed on X-Lite (as the R9M needs 2S while the external device flashing port only provides 5V)
getSelectionFullPath(lfn);
DeviceFirmwareUpdate device(EXTERNAL_MODULE);
device.flashFile(lfn);
FrskyDeviceFirmwareUpdate device(EXTERNAL_MODULE);
device.flashFirmware(lfn);
}
else if (result == STR_FLASH_EXTERNAL_DEVICE) {
getSelectionFullPath(lfn);
DeviceFirmwareUpdate device(SPORT_MODULE);
device.flashFile(lfn);
FrskyDeviceFirmwareUpdate device(SPORT_MODULE);
device.flashFirmware(lfn);
}
#if defined(BLUETOOTH)
else if (result == STR_FLASH_BLUETOOTH_MODULE) {
@ -206,6 +206,13 @@ void onSdManagerMenu(const char * result)
bluetooth.flashFirmware(lfn);
}
#endif
#if defined(HARDWARE_POWER_CONTROL_CHIP)
else if (result == STR_FLASH_POWER_CONTROL_CHIP) {
getSelectionFullPath(lfn);
FrskyChipFirmwareUpdate device;
device.flashFirmware(lfn);
}
#endif
#if defined(PXX2)
else if (result == STR_FLASH_RECEIVER_OTA) {
memclear(&reusableBuffer.sdManager.otaUpdateInformation, sizeof(OtaUpdateInformation));
@ -354,14 +361,29 @@ void menuRadioSdManager(event_t _event)
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_DEVICE);
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MODULE);
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MODULE);
#if defined(PXX2)
POPUP_MENU_ADD_ITEM(STR_FLASH_RECEIVER_OTA);
#endif
}
else if (!READ_ONLY() && !strcasecmp(ext, UPDATE_FIRMWARE_EXT)) {
FrSkyFirmwareInformation information;
if (readFirmwareInformation(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 defined(PXX2)
if (information.productFamily == FIRMWARE_FAMILY_RECEIVER)
POPUP_MENU_ADD_ITEM(STR_FLASH_RECEIVER_OTA);
#endif
#if defined(BLUETOOTH)
if (!READ_ONLY() && !strcasecmp(ext, BLUETOOTH_FIRMWARE_EXT)) {
POPUP_MENU_ADD_ITEM(STR_FLASH_BLUETOOTH_MODULE);
if (information.productFamily == FIRMWARE_FAMILY_BLUETOOTH_CHIP)
POPUP_MENU_ADD_ITEM(STR_FLASH_BLUETOOTH_MODULE);
#endif
#if defined(HARDWARE_POWER_CONTROL_CHIP)
if (information.productFamily == FIRMWARE_FAMILY_POWER_CONTROL_CHIP)
POPUP_MENU_ADD_ITEM(STR_FLASH_POWER_CONTROL_CHIP);
#endif
}
}
#endif
}