Some compile fixes

This commit is contained in:
3djc
2021-01-13 12:46:35 +01:00
parent ebdff7a3bd
commit 2820f0da25
3 changed files with 81 additions and 13 deletions
+46 -2
View File
@@ -123,6 +123,44 @@ class FlashDialog: public FullScreenDialog
Progress progress;
};
template <class T>
class MultiFlashDialog: public FullScreenDialog
{
public:
explicit MultiFlashDialog(ModuleIndex module, MultiModuleType type):
FullScreenDialog(WARNING_TYPE_INFO, "Flash device"),
device(module),
type(type),
progress(this, {LCD_W / 2 - 50, LCD_H / 2, 100, 15})
{
}
void deleteLater(bool detach = true, bool trash = true) override
{
if (_deleted)
return;
progress.deleteLater(true, false);
FullScreenDialog::deleteLater(detach, trash);
}
void flash(const char * filename)
{
device.flashFirmware(filename, type, [=](const char * title, const char * message, int count, int total) -> void {
setMessage(message);
progress.setValue(total > 0 ? count * 100 / total : 0);
MainWindow::instance()->run(false);
});
deleteLater();
}
protected:
T device;
MultiModuleType type;
Progress progress;
};
void RadioSdManagerPage::build(FormWindow * window)
{
FormGridLayout grid;
@@ -187,17 +225,23 @@ void RadioSdManagerPage::build(FormWindow * window)
if (information.readMultiFirmwareInformation(name.data()) == nullptr) {
#if defined(INTERNAL_MODULE_MULTI)
menu->addLine(STR_FLASH_INTERNAL_MULTI, [=]() {
auto dialog = new FlashDialog<MultiDeviceFirmwareUpdate>(INTERNAL_MODULE);
auto dialog = new MultiFlashDialog<MultiDeviceFirmwareUpdate>(INTERNAL_MODULE, MULTI_TYPE_MULTIMODULE);
dialog->flash(getFullPath(name));
});
#endif
menu->addLine(STR_FLASH_EXTERNAL_MULTI, [=]() {
auto dialog = new FlashDialog<MultiDeviceFirmwareUpdate>(EXTERNAL_MODULE);
auto dialog = new MultiFlashDialog<MultiDeviceFirmwareUpdate>(EXTERNAL_MODULE, MULTI_TYPE_MULTIMODULE);
dialog->flash(getFullPath(name));
});
}
}
#endif
else if (!READ_ONLY() && !strcasecmp(ext, ELRS_FIRMWARE_EXT)) {
menu->addLine(STR_FLASH_EXTERNAL_ELRS, [=]() {
auto dialog = new MultiFlashDialog<MultiDeviceFirmwareUpdate>(EXTERNAL_MODULE, MULTI_TYPE_ELRS);
dialog->flash(getFullPath(name));
});
}
else if (isExtensionMatching(ext, BITMAPS_EXT)) {
// TODO
}
+9 -5
View File
@@ -456,6 +456,8 @@
#define TR_BEEPCOUNTDOWN INDENT "倒数"
#define TR_PERSISTENT TR(INDENT "Persist.", INDENT "关机保持")
#define TR_BACKLIGHT_LABEL "背光"
#define TR_BLDELAY INDENT "Duration"
#define TR_GHOST_MENU_LABEL "GHOST MENU"
#define TR_BLONBRIGHTNESS "背光开"
#define TR_BLOFFBRIGHTNESS "背光关"
#define TR_KEYS_BACKLIGHT "按键背光"
@@ -643,6 +645,7 @@
#define TR_NO_SDCARD "存储卡未安装"
#define TR_WAITING_FOR_RX "等待接收机响应..."
#define TR_WAITING_FOR_TX "等待发射机响应..."
#define TR_WAITING_FOR_MODULE "Waiting for module..."
#define TR_NO_TOOLS "无可用附加功能"
#define TR_NORMAL "正常"
#define TR_NOT_INVERTED "正向"
@@ -779,11 +782,12 @@
#define TR_FLASH_FLIGHT_CONTROLLER_BY_INTERNAL_MODULE_OTA "Flash FC by int. OTA"
#define TR_FLASH_BLUETOOTH_MODULE TR("Flash BT module", "刷新蓝牙模块")
#define TR_FLASH_POWER_MANAGEMENT_UNIT "Flash pwr mngt unit"
#define TR_CURRENT_VERSION "当前版本: "
#define TR_FLASH_INTERNAL_MODULE TR("Flash int. module", "更新内置模块固件")
#define TR_FLASH_INTERNAL_MULTI TR("Flash Int. Multi", "更新内置多协议模块固件")
#define TR_FLASH_EXTERNAL_MODULE TR("Flash ext. module", "更新外置模块固件")
#define TR_FLASH_EXTERNAL_MULTI TR("Flash Ext. Multi", "更新外置多协议模块固件")
#define TR_CURRENT_VERSION "当前版本: "
#define TR_FLASH_INTERNAL_MODULE "更新内置模块固件"
#define TR_FLASH_INTERNAL_MULTI "更新内置多协议模块固件"
#define TR_FLASH_EXTERNAL_MODULE "更新外置模块固件"
#define TR_FLASH_EXTERNAL_MULTI "更新外置多协议模块固件"
#define TR_FLASH_EXTERNAL_ELRS "Flash External ELRS"
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update error", "固件更新失败")
#define TR_FIRMWARE_UPDATE_SUCCESS "固件更新成功"
#define TR_WRITING "正在写入..."
+26 -6
View File
@@ -456,6 +456,8 @@
#define TR_BEEPCOUNTDOWN INDENT "倒數"
#define TR_PERSISTENT TR(INDENT "Persist.", INDENT "關機保持")
#define TR_BACKLIGHT_LABEL "背光"
#define TR_GHOST_MENU_LABEL "GHOST MENU"
#define TR_BLDELAY INDENT "Duration"
#define TR_BLONBRIGHTNESS "背光開"
#define TR_BLOFFBRIGHTNESS "背光關"
#define TR_KEYS_BACKLIGHT "按鍵背光"
@@ -643,6 +645,7 @@
#define TR_NO_SDCARD "存儲卡未安裝"
#define TR_WAITING_FOR_RX "等待接收機響應..."
#define TR_WAITING_FOR_TX "等待發射機響應..."
#define TR_WAITING_FOR_MODULE "Waiting for module..."
#define TR_NO_TOOLS "無可用附加功能"
#define TR_NORMAL "正常"
#define TR_NOT_INVERTED "正向"
@@ -780,11 +783,12 @@
#define TR_FLASH_BLUETOOTH_MODULE TR("Flash BT module", "刷新藍牙模塊")
#define TR_FLASH_POWER_MANAGEMENT_UNIT "Flash pwr mngt unit"
#define TR_CURRENT_VERSION "當前版本: "
#define TR_FLASH_INTERNAL_MODULE TR("Flash int. module", "更新內置模塊韌體")
#define TR_FLASH_INTERNAL_MULTI TR("Flash Int. Multi", "更新內置多協議模塊韌體")
#define TR_FLASH_EXTERNAL_MODULE TR("Flash ext. module", "更新外置模塊韌體")
#define TR_FLASH_EXTERNAL_MULTI TR("Flash Ext. Multi", "更新外置多協議模塊韌體")
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update error", "韌體更新失敗韌體")
#define TR_FLASH_INTERNAL_MODULE TR("Flash int. module", "更新內置模塊韌體")
#define TR_FLASH_INTERNAL_MULTI TR("Flash Int. Multi", "更新內置多協議模塊韌體")
#define TR_FLASH_EXTERNAL_MODULE TR("Flash ext. module", "更新外置模塊韌體")
#define TR_FLASH_EXTERNAL_MULTI TR("Flash Ext. Multi", "更新外置多協議模塊韌體")
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update error", "韌體更新失敗韌體")
#define TR_FLASH_EXTERNAL_ELRS TR("Flash Ext. ELRS", "Flash External ELRS")
#define TR_FIRMWARE_UPDATE_SUCCESS "韌體更新成功"
#define TR_WRITING "正在寫入..."
#define TR_CONFIRM_FORMAT "是否格式化?"
@@ -1046,10 +1050,26 @@
#define TR_ABOUT_MARTIN_1 "Martin Hotar"
#define TR_ABOUT_MARTIN_2 "Graphics designer"
#if defined(PCBFRSKY)
#if defined(MANUFACTURER_FRSKY)
#define TR_ABOUT_HARDWARE_1 "FrSky"
#define TR_ABOUT_HARDWARE_2 TR("Hardware design/producer", "Hardware designer/producer")
#define TR_ABOUT_HARDWARE_3 "Firmware contributor"
#elif defined(MANUFACTURER_RADIOMASTER)
#define TR_ABOUT_HARDWARE_1 "Radiomaster"
#define TR_ABOUT_HARDWARE_2 TR("Hardware design/producer", "Hardware designer/producer")
#define TR_ABOUT_HARDWARE_3 "Firmware contributor"
#elif defined(MANUFACTURER_JUMPER)
#define TR_ABOUT_HARDWARE_1 "JumperRC"
#define TR_ABOUT_HARDWARE_2 TR("Hardware design/producer", "Hardware designer/producer")
#define TR_ABOUT_HARDWARE_3 "Firmware contributor"
#elif defined(MANUFACTURER_RADIOMASTER)
#define TR_ABOUT_HARDWARE_1 "Radiomaster"
#define TR_ABOUT_HARDWARE_2 TR("Hardware design/producer", "Hardware designer/producer")
#define TR_ABOUT_HARDWARE_3 "Firmware contributor"
#elif defined(MANUFACTURER_JUMPER)
#define TR_ABOUT_HARDWARE_1 "JumperRC"
#define TR_ABOUT_HARDWARE_2 TR("Hardware design/producer", "Hardware designer/producer")
#define TR_ABOUT_HARDWARE_3 "Firmware contributor"
#else
#define TR_ABOUT_HARDWARE_1 "Brent Nelson"
#define TR_ABOUT_HARDWARE_2 "Sky9x designer/producer"