Basically i glued Peter Drescher and Simon Ford libs in a GraphicsDisplay class, then derived TFT or LCD class (which inherits Protocols class), then the most derived ones (Inits), which are per-display and are the only part needed to be adapted to diff hw.

Dependents:   testUniGraphic_150217 maze_TFT_MMA8451Q TFT_test_frdm-kl25z TFT_test_NUCLEO-F411RE ... more

Revision:
9:1749ae993cfe
Parent:
7:bb0383b91104
Child:
10:668cf78ff93a
--- a/Inits/ILI9341.cpp	Tue Feb 17 17:54:14 2015 +0000
+++ b/Inits/ILI9341.cpp	Tue Feb 17 22:35:07 2015 +0000
@@ -10,12 +10,13 @@
 // display settings ///////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////
 
-#define LCDSIZE_X       240 // display X pixels, TFTs are usually portrait view
-#define LCDSIZE_Y       320  // display Y pixels
+// put in constructor
+//#define LCDSIZE_X       240 // display X pixels, TFTs are usually portrait view
+//#define LCDSIZE_Y       320  // display Y pixels 
 
 
 
-ILI9341::ILI9341(proto_t displayproto, PortName port, PinName CS, PinName reset, PinName DC, PinName WR, PinName RD, const char *name)
+ILI9341::ILI9341(proto_t displayproto, PortName port, PinName CS, PinName reset, PinName DC, PinName WR, PinName RD, const char *name, unsigned int LCDSIZE_X, unsigned  int LCDSIZE_Y)
     : TFT(displayproto, port, CS, reset, DC, WR, RD, LCDSIZE_X, LCDSIZE_Y, name)
 {
     hw_reset();
@@ -26,7 +27,7 @@
     cls();
     locate(0,0); 
 }
-ILI9341::ILI9341(proto_t displayproto, int Hz, PinName mosi, PinName miso, PinName sclk, PinName CS, PinName reset, PinName DC, const char *name)
+ILI9341::ILI9341(proto_t displayproto, int Hz, PinName mosi, PinName miso, PinName sclk, PinName CS, PinName reset, PinName DC, const char *name, unsigned int LCDSIZE_X , unsigned  int LCDSIZE_Y)
     : TFT(displayproto, Hz, mosi, miso, sclk, CS, reset, DC, LCDSIZE_X, LCDSIZE_Y, name)
 {
     hw_reset(); //TFT class forwards to Protocol class