This is a port of Henning Kralsen's UTFT library for Arduino/chipKIT to mbed, refactored to make full use of C inheritance and access control, in order to reduce work when implementing new drivers and at the same time make the code more readable and easier to maintain. As of now supported are SSD1289 (16-bit interface), HX8340-B (serial interface) and ST7735 (serial interface). Drivers for other controllers will be added as time and resources to acquire the displays to test the code permit.

Dependents:   UTFT_SSD1289

Fork of TFTLCD by Todor Todorov

Revision:
20:4bdca8d8dadc
Parent:
19:eb27effb8c07
Child:
21:e5c1e8ffada1
--- a/lcd_base.h	Thu Dec 13 03:37:22 2012 +0000
+++ b/lcd_base.h	Fri Dec 21 06:05:15 2012 +0000
@@ -103,8 +103,9 @@
  */
 enum ColorDepth_enum
 {
-    RGB16, /**< 16-bit colors, pixels can have 65K distinct color values */
-    RGB18, /**< 18-bit colors, pixels can have 262K distinct color values */
+    RGB16, /**< 16-bit colors, pixels can have 65K+ distinct color values */
+    RGB18, /**< 18-bit colors, pixels can have 262K+ distinct color values */
+    RGB24, /**< 24-bit colors, full 8 bits per component, 16M+ distinct color values */
 };
 /** \typedef colordepth_t
  *  \brief Convenience shortcut for display color depth.
@@ -454,7 +455,7 @@
      * \remarks Addressing commands are controller-specific and this function needs to be
      *          implemented separately for each available controller.
      */
-    virtual void SetXY( uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2 ) = 0;
+    virtual void SetXY( unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2 ) = 0;
     
     /** Resets the memory address for the next display write operation to the screen origins (0,0).
      */
@@ -465,8 +466,9 @@
      * This function is to be provided by each implementation separately in
      * order to account for different color depths used by the controller.
      * \param color The color of the pixel.
+     * \param mode The depth (palette) of the color.
      */
-    virtual void SetPixelColor( unsigned int color ) = 0;
+    virtual void SetPixelColor( unsigned int color, colordepth_t mode = RGB24 ) = 0;
     
     /** Draws a horizontal line.
      *