From cf87849c5bd1c9b9d54aedfc6f27499163a3d6e5 Mon Sep 17 00:00:00 2001 From: bsongis Date: Thu, 18 Dec 2014 19:03:52 +0100 Subject: [PATCH] LCD bugfix on EEPROM alerts. No more Splash if splash disabled --- radio/src/opentx.cpp | 7 ++----- radio/src/targets/taranis/lcd_driver.cpp | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 148b705b3..06f17b0d5 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -2575,16 +2575,13 @@ void opentxInit(OPENTX_INIT_ARGS) eeReadAll(); #if defined(CPUARM) - if (UNEXPECTED_SHUTDOWN()) + if (UNEXPECTED_SHUTDOWN()) { unexpectedShutdown = 1; + } #endif #if defined(PCBTARANIS) -#if !defined(SIMU) - lcdInitFinish(); -#endif BACKLIGHT_ON(); - Splash(); #endif #if MENUS_LOCK == 1 diff --git a/radio/src/targets/taranis/lcd_driver.cpp b/radio/src/targets/taranis/lcd_driver.cpp index 533c83fb0..a716710fa 100644 --- a/radio/src/targets/taranis/lcd_driver.cpp +++ b/radio/src/targets/taranis/lcd_driver.cpp @@ -28,6 +28,10 @@ extern void hw_delay(uint16_t time); #endif +#if !defined(BOOT) + bool lcdInitFinished = false; +#endif + /* In boot-loader: init_hw_timer() must be called before the first call to this function! In opentx: delaysInit() must be called before the first call to this function! @@ -188,6 +192,12 @@ void lcdRefreshWait() void lcdRefresh(bool wait) { +#if !defined(BOOT) + if (!lcdInitFinished) { + lcdInitFinish(); + } +#endif + //wait if previous DMA transfer still active WAIT_FOR_DMA_END(); lcd_busy = true; @@ -231,6 +241,12 @@ extern "C" void DMA1_Stream7_IRQHandler() #else // #if defined(REVPLUS) void lcdRefresh() { +#if !defined(BOOT) + if (!lcdInitFinished) { + lcdInitFinish(); + } +#endif + for (uint32_t y=0; y