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:
25:daacdcf34e52
Parent:
21:ae0a4eedfc90
Child:
30:87855d03d91a
--- a/Protocols/Protocols.h	Mon Jun 22 02:21:06 2015 +0000
+++ b/Protocols/Protocols.h	Sun Oct 18 13:53:20 2015 +0000
@@ -17,6 +17,9 @@
 
 /** Protocol types
 */
+#include "platform.h"
+
+#if DEVICE_PORTINOUT
 enum proto_t {
     PAR_8   /**< Parallel 8bit, port pins 0 to 7 */
     ,PAR_16 /**< Parallel 16bit, port pins 0 to 15 */
@@ -25,6 +28,14 @@
     ,SPI_8  /**< SPI 8bit */
     ,SPI_16 /**< SPI 16bit */
 };
+#else 
+enum proto_t {
+    BUS_8   /**< Parallel 8bit, scattered pins */
+    ,BUS_16   /**< Parallel 16bit, scattered pins */
+    ,SPI_8  /**< SPI 8bit */
+    ,SPI_16 /**< SPI 16bit */
+};
+#endif
 
 
 /** Abstract interface class for spi and parallel protocols