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.
Diff: Protocols/Protocols.h
- Revision:
- 4:12ba0ecc2c1f
- Parent:
- 3:48f3282c2be8
- Child:
- 5:b222a9461d6b
diff -r 48f3282c2be8 -r 12ba0ecc2c1f Protocols/Protocols.h --- a/Protocols/Protocols.h Sat Feb 14 17:42:21 2015 +0000 +++ b/Protocols/Protocols.h Sun Feb 15 20:06:07 2015 +0000 @@ -1,3 +1,8 @@ + /* mbed UniGraphic library - Abstract protocol class + * Copyright (c) 2015 Giuliano Dianda + * Released under the MIT License: http://mbed.org/license/mit + */ + /** @file Protocols.h */ #ifndef Protocols_H @@ -37,51 +42,42 @@ */ virtual void wr_data8(unsigned char data) = 0; - /** Send same 8bit data to display controller multiple times - * - * @param data: byte to send - * @param count: how many - * - */ - virtual void wr_data8(unsigned char data, unsigned int count) = 0; - - /** Send array of data bytes to display controller - * - * @param data: unsigned char data array - * @param lenght: lenght - * - */ - virtual void wr_data8buf(unsigned char* data, unsigned int lenght) = 0; - - /** Send 16bit command to display controller + /** Send 2x8bit command to display controller * * @param cmd: halfword to send * */ virtual void wr_cmd16(unsigned short cmd) = 0; - /** Send 16bit data to display controller + /** Send 2x8bit data to display controller * * @param data: halfword to send * */ virtual void wr_data16(unsigned short data) = 0; - /** Send same 16bit data to display controller multiple times + /** Send 16bit pixeldata to display controller + * + * @param data: halfword to send + * + */ + virtual void wr_gram(unsigned short data) = 0; + + /** Send same 16bit pixeldata to display controller multiple times * * @param data: halfword to send * @param count: how many * */ - virtual void wr_data16(unsigned short data, unsigned int count) = 0; + virtual void wr_gram(unsigned short data, unsigned int count) = 0; - /** Send array of data shorts to display controller + /** Send array of pixeldata shorts to display controller * - * @param data: unsigned short data array + * @param data: unsigned short pixeldata array * @param lenght: lenght (in shorts) * */ - virtual void wr_data16buf(unsigned short* data, unsigned int lenght) = 0; + virtual void wr_grambuf(unsigned short* data, unsigned int lenght) = 0; /** HW reset sequence (without display init commands) */