Skip to content

Commit

Permalink
feat: Bootloader translated from EN to native language (#2946)
Browse files Browse the repository at this point in the history
* Basic change

* Other languages

* Minor correction

* IT translated

* Minor correction

* Fix enable / disable in ascii only

* Fix enable / disable in ascii only

* Update cn.h

Fix enable / disable at nv14 bootloader

* Update cz.h

Fix enable / disable at nv14 bootloader

* Update de.h

Fix enable / disable at nv14 bootloader

* Update es.h

Fix enable / disable at nv14 bootloader

* Update fi.h

Fix enable / disable at nv14 bootloader

* Update fr.h

Fix enable / disable at nv14 bootloader

* Update it.h

Fix enable / disable at nv14 bootloader

* Update jp.h

Fix enable / disable at nv14 bootloader

* Update nl.h

Fix enable / disable at nv14 bootloader

* Update se.h

Fix enable / disable at nv14 bootloader
Only use of Ascii in bootloader

* Update pt.h

Fix enable / disable at nv14 bootloader

* Update de.h

Fix enable / disable at nv14 bootloader

* Update pl.h

Fix enable / disable at nv14 bootloader

* Update tw.h

Fix enable / disable at nv14 bootloader
Only use of Ascii in bootloader
  • Loading branch information
HThuren authored Feb 27, 2023
1 parent dd6f2f7 commit d927a8d
Show file tree
Hide file tree
Showing 19 changed files with 949 additions and 92 deletions.
17 changes: 0 additions & 17 deletions radio/src/targets/common/arm/stm32/bootloader/boot.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,6 @@

#define DISPLAY_CHAR_WIDTH (LCD_COLS+4)

#if LCD_W >= 480
#define STR_INVALID_FIRMWARE "Not a valid firmware file"
#elif LCD_W >= 212
#define STR_OR_PLUGIN_USB_CABLE "Or plug in a USB cable for mass storage"
#define STR_HOLD_ENTER_TO_START "\012Hold [ENT] to start writing"
#define STR_INVALID_FIRMWARE "\011Not a valid firmware file! "
#define STR_INVALID_EEPROM "\011Not a valid EEPROM file! "
#else
#define STR_OR_PLUGIN_USB_CABLE "Or plug in a USB cable"
#define STR_HOLD_ENTER_TO_START "\006Hold [ENT] to start"
#define STR_INVALID_FIRMWARE "\004Not a valid firmware! "
#define STR_INVALID_EEPROM "\004Not a valid EEPROM! "
#endif

#define STR_USB_CONNECTED CENTER "\011USB Connected"


// Bootloader states
enum BootloaderState {
ST_START,
Expand Down
34 changes: 18 additions & 16 deletions radio/src/targets/horus/bootloader/boot_menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#include "fw_version.h"
#include "lcd.h"

#include "translations.h"

#include "targets/common/arm/stm32/bootloader/boot.h"
#include "targets/common/arm/stm32/bootloader/bin_files.h"

Expand Down Expand Up @@ -109,26 +111,26 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char* str)
bootloaderDrawTitle(88, BOOTLOADER_TITLE);

lcd->drawText(102, 75, LV_SYMBOL_CHARGE, BL_FOREGROUND);
coord_t pos = lcd->drawText(124, 75, "Write Firmware", BL_FOREGROUND);
coord_t pos = lcd->drawText(124, 75, TR_BL_WRITE_FW, BL_FOREGROUND);
pos += 8;

lcd->drawText(100, 110, LV_SYMBOL_NEW_LINE, BL_FOREGROUND);
lcd->drawText(124, 110, "Exit", BL_FOREGROUND);
lcd->drawText(124, 110, TR_BL_EXIT, BL_FOREGROUND);

pos -= 92;
lcd->drawSolidRect(92, (opt == 0) ? 72 : 107, pos, 26, 2, BL_SELECTED);

lcd->drawBitmap(60, 166, (const BitmapBuffer*)&BMP_PLUG_USB);
lcd->drawText(195, 175, "Or plug in a USB cable", BL_FOREGROUND);
lcd->drawText(195, 200, "for mass storage", BL_FOREGROUND);
lcd->drawText(195, 175, TR_BL_USB_PLUGIN, BL_FOREGROUND);
lcd->drawText(195, 200, TR_BL_USB_MASS_STORE, BL_FOREGROUND);

bootloaderDrawFooter();
lcd->drawText(LCD_W / 2, 242, getFirmwareVersion(), CENTERED | BL_FOREGROUND);
}
else if (st == ST_USB) {

lcd->drawBitmap(136, 98, (const BitmapBuffer*)&BMP_USB_PLUGGED);
lcd->drawText(195, 128, "USB Connected", BL_FOREGROUND);
lcd->drawText(195, 128, TR_BL_USB_CONNECTED, BL_FOREGROUND);
}
else if (st == ST_FILE_LIST || st == ST_DIR_CHECK || st == ST_FLASH_CHECK ||
st == ST_FLASHING || st == ST_FLASH_DONE) {
Expand All @@ -147,30 +149,30 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char* str)
lcd->drawSolidFilledRect(74, 124, (332 * opt) / 100, 23, color);
} else if (st == ST_DIR_CHECK) {
if (opt == FR_NO_PATH) {
lcd->drawText(90, 168, LV_SYMBOL_CLOSE " Directory is missing",
lcd->drawText(90, 168, LV_SYMBOL_CLOSE TR_BL_DIR_MISSING,
BL_FOREGROUND);
} else {
lcd->drawText(90, 168, LV_SYMBOL_CLOSE " Directory is empty",
lcd->drawText(90, 168, LV_SYMBOL_CLOSE TR_BL_DIR_EMPTY,
BL_FOREGROUND);
}
} else if (st == ST_FLASH_CHECK) {
bootloaderDrawFilename(str, 0, true);

if (opt == FC_ERROR) {
lcd->drawText(94, 168, LV_SYMBOL_CLOSE " " STR_INVALID_FIRMWARE,
lcd->drawText(94, 168, LV_SYMBOL_CLOSE " " TR_BL_INVALID_FIRMWARE,
BL_FOREGROUND);
} else if (opt == FC_OK) {
VersionTag tag;
memset(&tag, 0, sizeof(tag));
extractFirmwareVersion(&tag);

lcd->drawText(168, 138, "Fork:", RIGHT | BL_FOREGROUND);
lcd->drawText(168, 138, TR_BL_FORK, RIGHT | BL_FOREGROUND);
lcd->drawSizedText(174, 138, tag.fork, 6, BL_FOREGROUND);

lcd->drawText(168, 158, "Version:", RIGHT | BL_FOREGROUND);
lcd->drawText(168, 158, TR_BL_VERSION, RIGHT | BL_FOREGROUND);
lcd->drawText(174, 158, tag.version, BL_FOREGROUND);

lcd->drawText(168, 178, "Radio:", RIGHT | BL_FOREGROUND);
lcd->drawText(168, 178, TR_BL_RADIO, RIGHT | BL_FOREGROUND);
lcd->drawText(174, 178, tag.flavour, BL_FOREGROUND);

lcd->drawText(356, 156, LV_SYMBOL_OK, BL_GREEN);
Expand All @@ -184,22 +186,22 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char* str)
lcd->drawText(28, 242, LV_SYMBOL_CHARGE, BL_FOREGROUND);

if (st == ST_FILE_LIST) {
lcd->drawText(56, 244, "[ENT] to select file", BL_FOREGROUND);
lcd->drawText(56, 244, TR_BL_SELECT_KEY, BL_FOREGROUND);
}
else if (st == ST_FLASH_CHECK && opt == FC_OK) {
lcd->drawText(56, 244, "Hold [ENT] long to flash", BL_FOREGROUND);
lcd->drawText(56, 244, TR_BL_FLASH_KEY, BL_FOREGROUND);
}
else if (st == ST_FLASHING) {
lcd->drawText(56, 244, "Writing Firmware ...", BL_FOREGROUND);
lcd->drawText(56, 244, TR_BL_WRITING_FW, BL_FOREGROUND);
}
else if (st == ST_FLASH_DONE) {
lcd->drawText(56, 244, "Writing Completed", BL_FOREGROUND);
lcd->drawText(56, 244, TR_BL_WRITING_COMPL, BL_FOREGROUND);
}
}

if (st != ST_FLASHING) {
lcd->drawText(305, 244, LV_SYMBOL_NEW_LINE, BL_FOREGROUND);
lcd->drawText(335, 244, "[RTN] to exit", BL_FOREGROUND);
lcd->drawText(335, 244, TR_BL_EXIT_KEY, BL_FOREGROUND);
}
}

Expand Down
44 changes: 23 additions & 21 deletions radio/src/targets/nv14/bootloader/boot_menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#include "fw_version.h"
#include "lcd.h"

#include "translations.h"

#include "../../common/arm/stm32/bootloader/boot.h"
#include "../../common/arm/stm32/bootloader/bin_files.h"

Expand Down Expand Up @@ -117,34 +119,34 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char* str)
bootloaderDrawTitle(BOOTLOADER_TITLE);

lcd->drawText(62, 75, LV_SYMBOL_CHARGE, BL_FOREGROUND);
coord_t pos = lcd->drawText(84, 75, "Write Firmware", BL_FOREGROUND);
coord_t pos = lcd->drawText(84, 75, TR_BL_WRITE_FW, BL_FOREGROUND);
pos += 8;
if(hardwareOptions.pcbrev == PCBREV_EL18)
{
lcd->drawText(57, 110, LV_SYMBOL_WIFI, BL_FOREGROUND);
lcd->drawText(84, 110, "RF USB access", BL_FOREGROUND);
lcd->drawText(84, 110, TR_BL_RF_USB_ACCESS, BL_FOREGROUND);
pos += 8;
yOffset = 35;
}

lcd->drawText(60, 110 + yOffset, LV_SYMBOL_NEW_LINE, BL_FOREGROUND);
lcd->drawText(84, 110 + yOffset, "Exit", BL_FOREGROUND);
lcd->drawText(84, 110 + yOffset, TR_BL_EXIT, BL_FOREGROUND);

pos -= 79;
lcd->drawSolidRect(79, 72 + (opt * 35), pos, 26, 2, BL_SELECTED);

lcd->drawBitmap(center - 55, 165, (const BitmapBuffer*)&BMP_PLUG_USB);
lcd->drawText(center, 250, "Or plug in a USB cable", CENTERED | BL_FOREGROUND);
lcd->drawText(center, 275, "for mass storage", CENTERED | BL_FOREGROUND);
lcd->drawText(center, 250, TR_BL_USB_PLUGIN, CENTERED | BL_FOREGROUND);
lcd->drawText(center, 275, TR_BL_USB_MASS_STORE, CENTERED | BL_FOREGROUND);

bootloaderDrawFooter();
lcd->drawText(center, LCD_H - DOUBLE_PADDING,
"Current Firmware:", CENTERED | BL_FOREGROUND);
TR_BL_CURRENT_FW, CENTERED | BL_FOREGROUND);
lcd->drawText(center, LCD_H - DEFAULT_PADDING,
getFirmwareVersion(nullptr), CENTERED | BL_FOREGROUND);
} else if (st == ST_USB) {
lcd->drawBitmap(center - 26, 98, (const BitmapBuffer*)&BMP_USB_PLUGGED);
lcd->drawText(center, 168, "USB Connected", CENTERED | BL_FOREGROUND);
lcd->drawText(center, 168, TR_BL_USB_CONNECTED, CENTERED | BL_FOREGROUND);
} else if (st == ST_FILE_LIST || st == ST_DIR_CHECK ||
st == ST_FLASH_CHECK || st == ST_FLASHING ||
st == ST_FLASH_DONE) {
Expand All @@ -167,17 +169,17 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char* str)
} else if (st == ST_DIR_CHECK) {
if (opt == FR_NO_PATH) {
lcd->drawText(20, MESSAGE_TOP,
LV_SYMBOL_CLOSE " Directory is missing", BL_FOREGROUND);
LV_SYMBOL_CLOSE TR_BL_DIR_MISSING, BL_FOREGROUND);
} else {
lcd->drawText(20, MESSAGE_TOP, LV_SYMBOL_CLOSE " Directory is empty",
lcd->drawText(20, MESSAGE_TOP, LV_SYMBOL_CLOSE TR_BL_DIR_EMPTY,
BL_FOREGROUND);
}
} else if (st == ST_FLASH_CHECK) {
bootloaderDrawFilename(str, 0, true);

if (opt == FC_ERROR) {
lcd->drawText(20, MESSAGE_TOP,
LV_SYMBOL_CLOSE " " STR_INVALID_FIRMWARE,
LV_SYMBOL_CLOSE " " TR_BL_INVALID_FIRMWARE,
BL_FOREGROUND);
} else if (opt == FC_OK) {
VersionTag tag;
Expand All @@ -186,19 +188,19 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char* str)

lcd->drawText(LCD_W / 4 + DEFAULT_PADDING,
MESSAGE_TOP - DEFAULT_PADDING,
"Fork:", RIGHT | BL_FOREGROUND);
TR_BL_FORK, RIGHT | BL_FOREGROUND);
lcd->drawSizedText(LCD_W / 4 + 6 + DEFAULT_PADDING,
MESSAGE_TOP - DEFAULT_PADDING, tag.fork, 6,
BL_FOREGROUND);

lcd->drawText(LCD_W / 4 + DEFAULT_PADDING, MESSAGE_TOP,
"Version:", RIGHT | BL_FOREGROUND);
TR_BL_VERSION, RIGHT | BL_FOREGROUND);
lcd->drawText(LCD_W / 4 + 6 + DEFAULT_PADDING, MESSAGE_TOP,
tag.version, BL_FOREGROUND);

lcd->drawText(LCD_W / 4 + DEFAULT_PADDING,
MESSAGE_TOP + DEFAULT_PADDING,
"Radio:", RIGHT | BL_FOREGROUND);
TR_BL_RADIO, RIGHT | BL_FOREGROUND);
lcd->drawText(LCD_W / 4 + 6 + DEFAULT_PADDING,
MESSAGE_TOP + DEFAULT_PADDING, tag.flavour,
BL_FOREGROUND);
Expand All @@ -217,32 +219,32 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char* str)

if (st == ST_FILE_LIST) {
lcd->drawText(DOUBLE_PADDING, LCD_H - DOUBLE_PADDING,
"[R TRIM] to select file", BL_FOREGROUND);
TR_BL_SELECT_KEY, BL_FOREGROUND);
} else if (st == ST_FLASH_CHECK && opt == FC_OK) {
lcd->drawText(DOUBLE_PADDING, LCD_H - DOUBLE_PADDING,
"Hold [R TRIM] long to flash", BL_FOREGROUND);
TR_BL_FLASH_KEY, BL_FOREGROUND);
} else if (st == ST_FLASHING) {
lcd->drawText(DOUBLE_PADDING, LCD_H - DOUBLE_PADDING,
"Writing Firmware ...", BL_FOREGROUND);
TR_BL_WRITING_FW, BL_FOREGROUND);
} else if (st == ST_FLASH_DONE) {
lcd->drawText(DOUBLE_PADDING, LCD_H - DOUBLE_PADDING,
"Writing Completed", BL_FOREGROUND);
TR_BL_WRITING_COMPL, BL_FOREGROUND);
}
}

if (st != ST_FLASHING) {
lcd->drawText(DOUBLE_PADDING, LCD_H - DEFAULT_PADDING,
LV_SYMBOL_NEW_LINE " [L TRIM] to exit", BL_FOREGROUND);
LV_SYMBOL_NEW_LINE TR_BL_EXIT_KEY, BL_FOREGROUND);
}
} else if (st == ST_RADIO_MENU) {
bootloaderDrawTitle("RF USB access");
bootloaderDrawTitle(TR_BL_RF_USB_ACCESS);

lcd->drawText(62, 75, LV_SYMBOL_USB, BL_FOREGROUND);
coord_t pos = lcd->drawText(84, 75, rfUsbAccess?"Disable":"Enable", BL_FOREGROUND);
coord_t pos = lcd->drawText(84, 75, rfUsbAccess ? TR_BL_DISABLE : TR_BL_ENABLE, BL_FOREGROUND);
pos += 8;

lcd->drawText(60, 110, LV_SYMBOL_NEW_LINE, BL_FOREGROUND);
lcd->drawText(84, 110, "Exit", BL_FOREGROUND);
lcd->drawText(84, 110, TR_BL_EXIT, BL_FOREGROUND);

pos -= 79;
lcd->drawSolidRect(79, 72 + (opt * 35), pos, 26, 2, BL_SELECTED);
Expand Down
33 changes: 18 additions & 15 deletions radio/src/targets/taranis/bootloader/boot_menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@

#include "board.h"
#include "lcd.h"

#include "translations.h"

#include "fw_version.h"
#include "translations.h"
#include "../../common/arm/stm32/bootloader/boot.h"
Expand Down Expand Up @@ -56,15 +59,15 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char *str)
lcdInvertLine(0);

if (st == ST_START) {
lcdDrawText(3*FW, 2*FH, "Write Firmware", opt == 0 ? INVERS : 0);
lcdDrawText(3*FW, 2*FH, TR_BL_WRITE_FW, opt == 0 ? INVERS : 0);
#if defined(EEPROM)
lcdDrawText(3*FW, 3*FH, "Restore EEPROM", opt == 1 ? INVERS : 0);
lcdDrawText(3*FW, 4*FH, "Exit", opt == 2 ? INVERS : 0);
lcdDrawText(3*FW, 3*FH, TR_BL_RESTORE_EEPROM, opt == 1 ? INVERS : 0);
lcdDrawText(3*FW, 4*FH, TR_BL_EXIT, opt == 2 ? INVERS : 0);
#else
lcdDrawText(3*FW, 3*FH, "Exit", opt == 1 ? INVERS : 0);
lcdDrawText(3*FW, 3*FH, TR_BL_EXIT, opt == 1 ? INVERS : 0);
#endif

lcdDrawText(LCD_W / 2, 5 * FH + FH / 2, STR_OR_PLUGIN_USB_CABLE, CENTERED);
lcdDrawText(LCD_W / 2, 5 * FH + FH / 2, TR_BL_OR_PLUGIN_USB_CABLE, CENTERED);

// Remove "opentx-" from string
const char * vers = getFirmwareVersion();
Expand All @@ -76,23 +79,23 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char *str)
lcdInvertLine(7);
}
else if (st == ST_USB) {
lcdDrawTextAlignedLeft(4 * FH, STR_USB_CONNECTED);
lcdDrawTextAlignedLeft(4 * FH, TR_BL_USB_CONNECTED);
}
else if (st == ST_DIR_CHECK) {
if (opt == FR_NO_PATH) {
bootloaderDrawMsg(INDENT_WIDTH, "Directory is missing!", 1, false);
bootloaderDrawMsg(INDENT_WIDTH, TR_BL_DIR_MISSING, 1, false);
bootloaderDrawMsg(INDENT_WIDTH, getBinaryPath(memoryType), 2, false);
}
else {
bootloaderDrawMsg(INDENT_WIDTH, "Directory is empty!", 1, false);
bootloaderDrawMsg(INDENT_WIDTH, TR_BL_DIR_EMPTY, 1, false);
}
}
else if (st == ST_FLASH_CHECK) {
if (opt == FC_ERROR) {
if (memoryType == MEM_FLASH)
bootloaderDrawMsg(0, STR_INVALID_FIRMWARE, 2, false);
bootloaderDrawMsg(0, TR_BL_INVALID_FIRMWARE, 2, false);
else
bootloaderDrawMsg(0, STR_INVALID_EEPROM, 2, false);
bootloaderDrawMsg(0, TR_BL_INVALID_EEPROM, 2, false);
}
else if (opt == FC_OK) {
if (memoryType == MEM_FLASH) {
Expand All @@ -104,19 +107,19 @@ void bootloaderDrawScreen(BootloaderState st, int opt, const char *str)
#endif
bootloaderDrawMsg(INDENT_WIDTH, vers, 0, false);
}
bootloaderDrawMsg(0, STR_HOLD_ENTER_TO_START, 2, false);
bootloaderDrawMsg(0, TR_BL_HOLD_ENTER_TO_START, 2, false);
}
}
else if (st == ST_FLASHING) {
lcdDrawTextAlignedLeft(4 * FH, CENTER "\015Writing...");
lcdDrawTextAlignedLeft(4 * FH, TR_BL_WRITING_FW);

lcdDrawRect(3, 6 * FH + 4, (LCD_W - 8), 7);
lcdDrawSolidHorizontalLine(5, 6 * FH + 6, (LCD_W - 12) * opt / 100, FORCE);
lcdDrawSolidHorizontalLine(5, 6 * FH + 7, (LCD_W - 12) * opt / 100, FORCE);
lcdDrawSolidHorizontalLine(5, 6 * FH + 8, (LCD_W - 12) * opt / 100, FORCE);
}
else if (st == ST_FLASH_DONE) {
lcdDrawTextAlignedLeft(4 * FH, CENTER "\007Writing complete");
lcdDrawTextAlignedLeft(4 * FH, TR_BL_WRITING_COMPL);
}
}

Expand All @@ -134,8 +137,8 @@ void blExit(void)
{
#if defined(RADIO_COMMANDO8)
lcdClear();
lcdDrawText(2, 22,"Press the power button.");
lcdDrawText(2, 33,"Exit the flashing mode.");
lcdDrawText(2, 22, TR_BL_POWER_KEY);
lcdDrawText(2, 33, TR_BL_FLASH_EXIT);
lcdRefresh();
lcdRefreshWait();
while(1);
Expand Down
Loading

0 comments on commit d927a8d

Please sign in to comment.