@@ -19,6 +19,7 @@
|
||||
*/
|
||||
|
||||
#include "opentx.h"
|
||||
#include "options.h"
|
||||
|
||||
// TODO duplicated code
|
||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||
@@ -34,6 +35,27 @@
|
||||
|
||||
constexpr uint8_t COLUMN2_X = 10 * FW;
|
||||
|
||||
|
||||
void menuRadioFirmwareOptions(event_t event)
|
||||
{
|
||||
title(STR_MENU_FIRM_OPTIONS);
|
||||
coord_t y = MENU_HEADER_HEIGHT + 1;
|
||||
lcdNextPos = INDENT_WIDTH;
|
||||
for (uint8_t i=0; options[i]; i++) {
|
||||
const char * option = options[i];
|
||||
coord_t width = getTextWidth(option);
|
||||
|
||||
if((lcdNextPos + 5 + width) > LCD_W) {
|
||||
lcdDrawText(lcdNextPos, y, ",");
|
||||
lcdNextPos = INDENT_WIDTH;
|
||||
y += FH;
|
||||
}
|
||||
if (i > 0 && lcdNextPos !=INDENT_WIDTH)
|
||||
lcdDrawText(lcdNextPos, y, ", ");
|
||||
lcdDrawText(lcdNextPos, y, option);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(PXX2)
|
||||
void drawPXX2Version(coord_t x, coord_t y, PXX2Version version)
|
||||
{
|
||||
@@ -191,27 +213,15 @@ void menuRadioModulesVersion(event_t event)
|
||||
enum MenuRadioVersionItems
|
||||
{
|
||||
ITEM_RADIO_VERSION_FIRST = HEADER_LINE - 1,
|
||||
#if defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
ITEM_RADIO_FIRMWARE_OPTIONS,
|
||||
#endif
|
||||
#if defined(PXX2)
|
||||
ITEM_RADIO_MODULES_VERSION,
|
||||
#endif
|
||||
#if defined(EEPROM_RLC)
|
||||
ITEM_RADIO_BACKUP_EEPROM,
|
||||
ITEM_RADIO_FACTORY_RESET,
|
||||
#endif
|
||||
ITEM_RADIO_VERSION_COUNT
|
||||
};
|
||||
|
||||
#if defined(EEPROM_RLC)
|
||||
void onFactoryResetConfirm(const char * result)
|
||||
{
|
||||
if (result == STR_OK) {
|
||||
showMessageBox(STR_STORAGE_FORMAT);
|
||||
storageEraseAll(false);
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void menuRadioVersion(event_t event)
|
||||
{
|
||||
SIMPLE_MENU(STR_MENUVERSION, menuTabGeneral, MENU_RADIO_VERSION, ITEM_RADIO_VERSION_COUNT);
|
||||
@@ -228,9 +238,15 @@ void menuRadioVersion(event_t event)
|
||||
lcdDrawText(lcdNextPos, y, "---", SMLSIZE);
|
||||
y += FH - 1;
|
||||
#endif
|
||||
|
||||
y += 2;
|
||||
|
||||
#if defined(PCBTARANIS) || defined(PCBHORUS)
|
||||
lcdDrawText(INDENT_WIDTH, y, BUTTON(TR_FIRMWARE_OPTIONS), menuVerticalPosition == ITEM_RADIO_FIRMWARE_OPTIONS ? INVERS : 0);
|
||||
y += FH;
|
||||
if (menuVerticalPosition == ITEM_RADIO_FIRMWARE_OPTIONS && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||
s_editMode = EDIT_SELECT_FIELD;
|
||||
pushMenu(menuRadioFirmwareOptions);
|
||||
}
|
||||
#endif
|
||||
#if defined(PXX2)
|
||||
lcdDrawText(INDENT_WIDTH, y, BUTTON(TR_MODULES_RX_VERSION), menuVerticalPosition == ITEM_RADIO_MODULES_VERSION ? INVERS : 0);
|
||||
y += FH;
|
||||
@@ -239,20 +255,4 @@ void menuRadioVersion(event_t event)
|
||||
pushMenu(menuRadioModulesVersion);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(EEPROM_RLC)
|
||||
lcdDrawText(INDENT_WIDTH, y, BUTTON(STR_EEBACKUP), menuVerticalPosition == ITEM_RADIO_BACKUP_EEPROM ? INVERS : 0);
|
||||
y += FH;
|
||||
if (menuVerticalPosition == ITEM_RADIO_BACKUP_EEPROM && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||
s_editMode = EDIT_SELECT_FIELD;
|
||||
eepromBackup();
|
||||
}
|
||||
|
||||
lcdDrawText(INDENT_WIDTH, y, BUTTON(STR_FACTORYRESET), menuVerticalPosition == ITEM_RADIO_FACTORY_RESET ? INVERS : 0);
|
||||
// y += FH;
|
||||
if (menuVerticalPosition == ITEM_RADIO_FACTORY_RESET && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||
s_editMode = EDIT_SELECT_FIELD;
|
||||
POPUP_CONFIRMATION(STR_CONFIRMRESET, onFactoryResetConfirm);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user