A TextDisplay driver that supports graphical displays using on of the SED133x conrtrolers. Allows stdout and stderr output to be redirected to the display.
TextLCD.h@0:9e72c57b16fd, 2011-01-08 (annotated)
- Committer:
- llagendijk
- Date:
- Sat Jan 08 22:24:00 2011 +0000
- Revision:
- 0:9e72c57b16fd
- Child:
- 1:18c56f038905
Included first version of a SED133x driver
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
llagendijk | 0:9e72c57b16fd | 1 | /* mbed TextLCD Library Base Class |
llagendijk | 0:9e72c57b16fd | 2 | * Copyright (c) 2007-2009 sford |
llagendijk | 0:9e72c57b16fd | 3 | * Released under the MIT License: http://mbed.org/license/mit |
llagendijk | 0:9e72c57b16fd | 4 | * Modified by Ned Konz to provide better support for 4-line LCDs and ones with other controller chips. |
llagendijk | 0:9e72c57b16fd | 5 | */ |
llagendijk | 0:9e72c57b16fd | 6 | #include "TextDisplay.h" |
llagendijk | 0:9e72c57b16fd | 7 | |
llagendijk | 0:9e72c57b16fd | 8 | #ifndef MBED_TEXTLCD_H |
llagendijk | 0:9e72c57b16fd | 9 | #define MBED_TEXTLCD_H |
llagendijk | 0:9e72c57b16fd | 10 | |
llagendijk | 0:9e72c57b16fd | 11 | class TextLCD : public TextDisplay { |
llagendijk | 0:9e72c57b16fd | 12 | public: |
llagendijk | 0:9e72c57b16fd | 13 | TextLCD(PinName rs, PinName rw, PinName e, |
llagendijk | 0:9e72c57b16fd | 14 | PinName d0, PinName d1, PinName d2, PinName d3, |
llagendijk | 0:9e72c57b16fd | 15 | uint16_t rows = 2, uint16_t columns = 16); |
llagendijk | 0:9e72c57b16fd | 16 | virtual void character(uint16_t column, uint16_t row, int c); |
llagendijk | 0:9e72c57b16fd | 17 | virtual uint16_t rows() { |
llagendijk | 0:9e72c57b16fd | 18 | return _rows; |
llagendijk | 0:9e72c57b16fd | 19 | } |
llagendijk | 0:9e72c57b16fd | 20 | virtual uint16_t columns() { |
llagendijk | 0:9e72c57b16fd | 21 | return _columns; |
llagendijk | 0:9e72c57b16fd | 22 | } |
llagendijk | 0:9e72c57b16fd | 23 | virtual void reset(); |
llagendijk | 0:9e72c57b16fd | 24 | virtual void cls(); |
llagendijk | 0:9e72c57b16fd | 25 | |
llagendijk | 0:9e72c57b16fd | 26 | // locate, putc, printf come from parent class |
llagendijk | 0:9e72c57b16fd | 27 | |
llagendijk | 0:9e72c57b16fd | 28 | protected: |
llagendijk | 0:9e72c57b16fd | 29 | void writeByte(uint16_t value); |
llagendijk | 0:9e72c57b16fd | 30 | void writeHalfByte(uint16_t value); |
llagendijk | 0:9e72c57b16fd | 31 | void writeCommand(uint16_t command); |
llagendijk | 0:9e72c57b16fd | 32 | void writeData(uint16_t data); |
llagendijk | 0:9e72c57b16fd | 33 | uint16_t readAddressAndBusy(); |
llagendijk | 0:9e72c57b16fd | 34 | void waitUntilDone(); |
llagendijk | 0:9e72c57b16fd | 35 | |
llagendijk | 0:9e72c57b16fd | 36 | DigitalOut _rw, _rs, _e; |
llagendijk | 0:9e72c57b16fd | 37 | BusInOut _d; |
llagendijk | 0:9e72c57b16fd | 38 | uint16_t _rows, _columns; |
llagendijk | 0:9e72c57b16fd | 39 | }; |
llagendijk | 0:9e72c57b16fd | 40 | |
llagendijk | 0:9e72c57b16fd | 41 | #endif |