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:   Brew

Revision:
9:1749ae993cfe
Parent:
1:ff019d22b275
Child:
18:ffa58f1a680a
diff -r 26757296c79d -r 1749ae993cfe Inits/UC1608.h
--- a/Inits/UC1608.h	Tue Feb 17 17:54:14 2015 +0000
+++ b/Inits/UC1608.h	Tue Feb 17 22:35:07 2015 +0000
@@ -23,8 +23,10 @@
     * @param WR pin connected to SDI of display
     * @param RD pin connected to RS of display
     * @param name The name used by the parent class to access the interface
+    * @param LCDSIZE_X x size in pixel - optional
+    * @param LCDSIZE_Y y size in pixel - optional
     */ 
-    UC1608(proto_t displayproto, PortName port, PinName CS, PinName reset, PinName DC, PinName WR, PinName RD, const char* name);
+    UC1608(proto_t displayproto, PortName port, PinName CS, PinName reset, PinName DC, PinName WR, PinName RD, const char* name, unsigned int LCDSIZE_X = 240, unsigned  int LCDSIZE_Y = 120);
   
     /** Create an SPI display interface
     * @param displayproto only supports SPI_8
@@ -36,8 +38,10 @@
     * @param reset pin connected to RESET of display
     * @param DC pin connected to data/command of display
     * @param name The name used by the parent class to access the interface
+    * @param LCDSIZE_X x size in pixel - optional
+    * @param LCDSIZE_Y y size in pixel - optional
     */ 
-    UC1608(proto_t displayproto, int Hz, PinName mosi, PinName miso, PinName sclk, PinName CS, PinName reset, PinName DC, const char* name);
+    UC1608(proto_t displayproto, int Hz, PinName mosi, PinName miso, PinName sclk, PinName CS, PinName reset, PinName DC, const char* name , unsigned int LCDSIZE_X = 240, unsigned  int LCDSIZE_Y = 120);
   
     /** set the contrast of the screen
       * @note here overrided because of not standard command