A TextDisplay driver that supports graphical displays using on of the SED133x conrtrolers. Allows stdout and stderr output to be redirected to the display.

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?

UserRevisionLine numberNew 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