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 +