From 8681d5aa3e01d9108757214b380a57f72d6dc7e8 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Wed, 15 Jun 2022 11:34:20 +0200 Subject: [PATCH] Fix bootloader display init order --- radio/src/gui/colorlcd/lcd.cpp | 2 ++ radio/src/targets/common/arm/stm32/bootloader/boot.cpp | 4 ---- radio/src/targets/horus/bootloader/boot_menu.cpp | 6 +++++- radio/src/targets/nv14/bootloader/boot_menu.cpp | 6 +++++- radio/src/targets/taranis/bootloader/boot_menu.cpp | 4 ++++ 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/radio/src/gui/colorlcd/lcd.cpp b/radio/src/gui/colorlcd/lcd.cpp index 9b8a6fdfb..fdc027807 100644 --- a/radio/src/gui/colorlcd/lcd.cpp +++ b/radio/src/gui/colorlcd/lcd.cpp @@ -147,6 +147,8 @@ void lcdInitDisplayDriver() // Clear buffers first (is that really needed?) memset(LCD_FIRST_FRAME_BUFFER, 0, sizeof(LCD_FIRST_FRAME_BUFFER)); memset(LCD_SECOND_FRAME_BUFFER, 0, sizeof(LCD_SECOND_FRAME_BUFFER)); + + lcdInit(); lv_disp_draw_buf_init(&disp_buf, lcdFront->getData(), lcd->getData(), LCD_W*LCD_H); lv_disp_drv_init(&disp_drv); /*Basic initialization*/ diff --git a/radio/src/targets/common/arm/stm32/bootloader/boot.cpp b/radio/src/targets/common/arm/stm32/bootloader/boot.cpp index 906fdf1bb..60af7b285 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/boot.cpp +++ b/radio/src/targets/common/arm/stm32/bootloader/boot.cpp @@ -269,10 +269,6 @@ void bootloaderInitApp() TRACE("\nBootloader started :)"); - lcdInit(); - backlightInit(); - backlightFullOn(); - #if defined(BLUETOOTH) // we shutdown the bluetooth module now to be sure it will be detected on firmware start bluetoothInit(BLUETOOTH_DEFAULT_BAUDRATE, false); diff --git a/radio/src/targets/horus/bootloader/boot_menu.cpp b/radio/src/targets/horus/bootloader/boot_menu.cpp index b979ed85e..7b0ef5b36 100644 --- a/radio/src/targets/horus/bootloader/boot_menu.cpp +++ b/radio/src/targets/horus/bootloader/boot_menu.cpp @@ -53,8 +53,12 @@ extern BitmapBuffer * lcd; void bootloaderInitScreen() { - backlightEnable(BACKLIGHT_LEVEL_MAX); + // Init display first lcdInitDisplayDriver(); + + // then backlight + backlightInit(); + backlightEnable(BACKLIGHT_LEVEL_MAX); } static void bootloaderDrawTitle(unsigned int x, const char* text) diff --git a/radio/src/targets/nv14/bootloader/boot_menu.cpp b/radio/src/targets/nv14/bootloader/boot_menu.cpp index 7d3badd01..af59a1734 100644 --- a/radio/src/targets/nv14/bootloader/boot_menu.cpp +++ b/radio/src/targets/nv14/bootloader/boot_menu.cpp @@ -58,8 +58,12 @@ extern BitmapBuffer * lcd; void bootloaderInitScreen() { - backlightEnable(BACKLIGHT_LEVEL_MAX); + // Init display first lcdInitDisplayDriver(); + + // then backlight + backlightInit(); + backlightEnable(BACKLIGHT_LEVEL_MAX); } static void bootloaderDrawTitle(const char* text) diff --git a/radio/src/targets/taranis/bootloader/boot_menu.cpp b/radio/src/targets/taranis/bootloader/boot_menu.cpp index 93a3b9407..28b20449d 100644 --- a/radio/src/targets/taranis/bootloader/boot_menu.cpp +++ b/radio/src/targets/taranis/bootloader/boot_menu.cpp @@ -32,7 +32,11 @@ extern MemoryType memoryType; void bootloaderInitScreen() { + lcdInit(); lcdSetContrast(true); + + backlightInit(); + backlightFullOn(); } static void bootloaderDrawMsg(unsigned int x, const char *str, uint8_t line, bool inverted)