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.
Fork of UniGraphic by
Diff: Protocols/Protocols.h
- Revision:
- 11:b842b8e332cb
- Parent:
- 7:bb0383b91104
- Child:
- 20:14daa48ffd4c
diff -r 668cf78ff93a -r b842b8e332cb Protocols/Protocols.h --- a/Protocols/Protocols.h Thu Feb 19 00:33:27 2015 +0000 +++ b/Protocols/Protocols.h Fri Feb 20 21:32:25 2015 +0000 @@ -10,7 +10,7 @@ #include "mbed.h" -#define RGB18to16(r,g,b) (((r&0xF8)<<8)|((g&0xFC)<<3)|((b&0xF8)>>3)) //5 red | 6 green | 5 blue +#define RGB24to16(r,g,b) (((r&0xF8)<<8)|((g&0xFC)<<3)|((b&0xF8)>>3)) //5 red | 6 green | 5 blue #define BGR2RGB(color) (((color&0x1F)<<11) | (color&0x7E0) | ((color&0xF800)>>11)) //#define USE_CS @@ -84,9 +84,10 @@ /** Read 16bit pixeldata from display controller (with dummy cycle) * + * @param convert true/false. Convert 18bit to 16bit, some controllers returns 18bit * @returns 16bit color */ - virtual unsigned short rd_gram() = 0; + virtual unsigned short rd_gram(bool convert) = 0; /** Read 4x8bit register data (with dummy cycle) * @param reg the register to read