From c621e9f19281a568e351e1c0a9b8fd17d3b0202c Mon Sep 17 00:00:00 2001 From: Tectu Date: Wed, 27 Jun 2012 21:46:16 +0200 Subject: [PATCH] fixed lld_lcdReadStream() --- drivers/lcd/ssd1289_lld.c | 21 ++++++++++++++++----- glcdconf.h | 24 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 glcdconf.h diff --git a/drivers/lcd/ssd1289_lld.c b/drivers/lcd/ssd1289_lld.c index 5a14d238..3fc48921 100644 --- a/drivers/lcd/ssd1289_lld.c +++ b/drivers/lcd/ssd1289_lld.c @@ -97,12 +97,23 @@ __inline void lld_lcdReadStreamStop(void) { __inline void lld_lcdReadStream(uint16_t *buffer, size_t size) { uint16_t i; - /* throw away first value read */ - volatile uint16_t dummy = LCD_RAM; + volatile uint16_t dummy; - for(i = 0; i < size; i++) { - buffer[i] = LCD_RAM; - } + #ifdef LCD_USE_GPIO + dummy = lld_lcdReadGPIO(); + for(i = 0; i < size; i++) + buffer[i] = lld_lcdReadGPIO(); + #endif + + #ifdef LCD_USE_SPI + /* ToDo */ + #endif + + #ifdef LCD_USE_FSMC + dummy = LCD_RAM; + for(i = 0; i < size; i++) + buffer[i] = LCD_RAM; + #endif } #endif diff --git a/glcdconf.h b/glcdconf.h new file mode 100644 index 00000000..d7a9f583 --- /dev/null +++ b/glcdconf.h @@ -0,0 +1,24 @@ +#ifndef GLCDCONF_H +#define GLCDCONF_H + +#define SCREEN_WIDTH 240 +#define SCREEN_HEIGHT 320 + +/***** LCD CONTROLLER *****/ +#define LCD_USE_SSD1289 +// #define LCD_USE_S6D1121 + + +/***** LCD INTERFACE *****/ +#define LCD_USE_GPIO +// #define LCD_USE_SPI +// #define LCD_USE_FSMC + + +/***** TOUCHPAD CONTROLLER *****/ +// #define TOUCHPAD_USE_ADS7843 +#define TOUCHPAD_USE_XPT2046 + + +#endif +