From f66388c1d393524c494c37c5ff20e5aef3aae41b Mon Sep 17 00:00:00 2001 From: bsongis Date: Sat, 5 Jul 2014 19:23:53 +0200 Subject: [PATCH] LCD asynchronous refresh prepared for Taranis+ --- radio/src/lcd.h | 9 ++++++++- radio/src/opentx.cpp | 3 ++- radio/src/targets/taranis/lcd_driver.cpp | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/radio/src/lcd.h b/radio/src/lcd.h index dd748588c..56aed713b 100644 --- a/radio/src/lcd.h +++ b/radio/src/lcd.h @@ -264,7 +264,14 @@ void lcdSetRefVolt(unsigned char val); void lcdInit(); void lcd_clear(); void lcdSetContrast(); -void lcdRefresh(); + +#if defined(PCBTARANIS) && defined(REVPLUS) && !defined(SIMU) + void lcdRefresh(bool wait=true); + #define LCD_REFRESH_DONT_WAIT false +#else + void lcdRefresh(); + #define LCD_REFRESH_DONT_WAIT +#endif #if defined(PCBTARANIS) const pm_char * bmpLoad(uint8_t *dest, const char *filename, const xcoord_t width, const uint8_t height); diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 1542f6e82..c2f95adee 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -2853,7 +2853,8 @@ void perMain() } drawStatusLine(); - lcdRefresh(); + + lcdRefresh(LCD_REFRESH_DONT_WAIT); if (SLAVE_MODE()) { JACK_PPM_OUT(); diff --git a/radio/src/targets/taranis/lcd_driver.cpp b/radio/src/targets/taranis/lcd_driver.cpp index 868dcd4ab..fb3953e54 100644 --- a/radio/src/targets/taranis/lcd_driver.cpp +++ b/radio/src/targets/taranis/lcd_driver.cpp @@ -161,7 +161,7 @@ void Set_Address(u8 x, u8 y) LCD_CLK_HIGH(); #if defined(REVPLUS) -void lcdRefresh() +void lcdRefresh(bool wait) { Set_Address(0, 0);