diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index 300b60800..77ccabdf4 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -25,6 +25,7 @@ option(FAS_PROTOTYPE "Support of old FAS prototypes (different resistors)" OFF) option(TEMPLATES "Model templates menu" OFF) option(WARNINGS_AS_ERRORS "Treat all compiler warnings as error" OFF) option(TRACE_SIMPGMSPACE "Turn on traces in simpgmspace.cpp" ON) +set(DEFAULT_MODE "" CACHE STRING "Default sticks mode") enable_language(ASM) set(OPT s) @@ -281,6 +282,10 @@ elseif(NOT SPLASH STREQUAL OFF) add_definitions(-DSPLASH) endif() +if(NOT DEFAULT_MODE STREQUAL "") + add_definitions(-DDEFAULT_MODE=${DEFAULT_MODE}) +endif() + if(TRACE_SIMPGMSPACE) add_definitions(-DTRACE_SIMPGMSPACE) endif() diff --git a/radio/src/targets/taranis/bootloader/boot.cpp b/radio/src/targets/taranis/bootloader/boot.cpp index 0a103ba8b..da862ea3f 100644 --- a/radio/src/targets/taranis/bootloader/boot.cpp +++ b/radio/src/targets/taranis/bootloader/boot.cpp @@ -44,12 +44,18 @@ #if LCD_W >= 212 #define STR_OR_PLUGIN_USB_CABLE INDENT "Or plug in a USB cable for mass storage" - #define STR_USB_CONNECTED "\026USB Connected" + #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 INDENT "Or plug in a USB cable" - #define STR_USB_CONNECTED "\012USB Connected " + #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" + const uint8_t bootloaderVersion[] __attribute__ ((section(".version"), used)) = { 'B', 'O', 'O', 'T', '1', '0' @@ -255,7 +261,7 @@ int menuFlashFile(uint32_t index, event_t event) { FRESULT fr; - lcdDrawTextAlignedLeft(4*FH, "\012Hold [ENT] to start writing"); + lcdDrawTextAlignedLeft(4*FH, STR_HOLD_ENTER_TO_START); if (Valid == 0) { // Validate file here @@ -277,9 +283,9 @@ int menuFlashFile(uint32_t index, event_t event) if (Valid == 2) { if (memoryType == MEM_FLASH) - lcdDrawTextAlignedLeft(4*FH, "\011Not a valid firmware file! "); + lcdDrawTextAlignedLeft(4*FH, STR_INVALID_FIRMWARE); else - lcdDrawTextAlignedLeft(4*FH, "\011Not a valid EEPROM file! "); + lcdDrawTextAlignedLeft(4*FH, STR_INVALID_EEPROM); if (event == EVT_KEY_BREAK(BOOT_KEY_EXIT) || event == EVT_KEY_BREAK(BOOT_KEY_MENU)) { return 0; } @@ -550,7 +556,7 @@ int main() else if (state == ST_FLASHING) { // commit to flashing - lcdDrawTextAlignedLeft(4*FH, "\032Writing..."); + lcdDrawTextAlignedLeft(4*FH, CENTER "\015Writing..."); if (!unlocked && (memoryType == MEM_FLASH)) { unlocked = 1; @@ -561,15 +567,15 @@ int main() if (memoryType == MEM_FLASH) { flashWriteBlock(); firmwareWritten += sizeof(Block_buffer); - progress = (200*firmwareWritten) / FirmwareSize; + progress = ((LCD_W-12)*firmwareWritten) / FirmwareSize; } else { writeEepromBlock(); eepromWritten += sizeof(Block_buffer); - progress = (200*eepromWritten) / EEPROM_SIZE; + progress = ((LCD_W-12)*eepromWritten) / EEPROM_SIZE; } - lcdDrawRect(3, 6*FH+4, 204, 7); + lcdDrawRect(3, 6*FH+4, (LCD_W-8), 7); lcdDrawSolidHorizontalLine(5, 6*FH+6, progress, FORCE); lcdDrawSolidHorizontalLine(5, 6*FH+7, progress, FORCE); lcdDrawSolidHorizontalLine(5, 6*FH+8, progress, FORCE); @@ -591,7 +597,7 @@ int main() lockFlash(); unlocked = 0; } - lcdDrawTextAlignedLeft(4*FH, "\024Writing Complete"); + lcdDrawTextAlignedLeft(4*FH, CENTER "\007Writing Complete"); if (event == EVT_KEY_FIRST(BOOT_KEY_EXIT) || event == EVT_KEY_BREAK(BOOT_KEY_MENU)) { state = ST_START; vpos = 0; @@ -631,7 +637,7 @@ int main() lcdClear(); lcdRefresh(); lcdRefreshWait(); - RCC->CSR |= RCC_CSR_RMVF; //clear the reset flags in RCC clock control & status register + RCC->CSR |= RCC_CSR_RMVF; // clear the reset flags in RCC clock control & status register NVIC_SystemReset(); } }