Library implementing the TextDisplay interface for the Serial LCDs as sold by Sparkfun etc...

Dependencies:   TextDisplays

Committer:
giryan
Date:
Sun Sep 05 09:23:37 2010 +0000
Revision:
2:60947d4b0efe
Parent:
1:7174fd65fd77
Rearranged the lib to have it as a lib withing a project

Who changed what in which revision?

UserRevisionLine numberNew contents of line
giryan 1:7174fd65fd77 1 // Copyright (c) 2010 mwaddilove
giryan 1:7174fd65fd77 2 // Released under the MIT License: http://mbed.org/license/mit
giryan 1:7174fd65fd77 3
giryan 0:bd978ddc0470 4 #pragma once
giryan 0:bd978ddc0470 5
giryan 0:bd978ddc0470 6 #include "TextDisplay.h"
giryan 0:bd978ddc0470 7
giryan 1:7174fd65fd77 8 //! class that implements TextDisplay, for a 2x16 (2x20 etc. to come) serial LCD, controlled by the HD44780
giryan 0:bd978ddc0470 9 class TextLCD_Serial : public TextDisplay
giryan 0:bd978ddc0470 10 {
giryan 0:bd978ddc0470 11 public:
giryan 0:bd978ddc0470 12 //! Constructor
giryan 0:bd978ddc0470 13 TextLCD_Serial(PinName tx, PinName rx, char const * name = NULL);
giryan 0:bd978ddc0470 14
giryan 0:bd978ddc0470 15 virtual void character(int column, int row, int c);
giryan 0:bd978ddc0470 16
giryan 0:bd978ddc0470 17 virtual int rows()
giryan 0:bd978ddc0470 18 {
giryan 0:bd978ddc0470 19 return 2;
giryan 0:bd978ddc0470 20 }
giryan 0:bd978ddc0470 21 virtual int columns()
giryan 0:bd978ddc0470 22 {
giryan 0:bd978ddc0470 23 return 16;
giryan 0:bd978ddc0470 24 }
giryan 0:bd978ddc0470 25
giryan 0:bd978ddc0470 26 /** Clear the screen and locate to 0,0 */
giryan 0:bd978ddc0470 27 virtual void cls();
giryan 0:bd978ddc0470 28
giryan 0:bd978ddc0470 29
giryan 0:bd978ddc0470 30 protected:
giryan 0:bd978ddc0470 31 //! Set the LCD's cursor position
giryan 0:bd978ddc0470 32 void setLCDCursor(int const column, int const row);
giryan 0:bd978ddc0470 33
giryan 0:bd978ddc0470 34 //! write a byte to _lcd
giryan 0:bd978ddc0470 35 void writeByte(int const value);
giryan 0:bd978ddc0470 36 //!Send a command
giryan 0:bd978ddc0470 37 void writeCommand(int const command);
giryan 0:bd978ddc0470 38 //! write a regular char.
giryan 0:bd978ddc0470 39 void writeData(int const data);
giryan 0:bd978ddc0470 40
giryan 0:bd978ddc0470 41 //! Enum with command codes.
giryan 0:bd978ddc0470 42 struct Codes
giryan 0:bd978ddc0470 43 {
giryan 0:bd978ddc0470 44 enum Enum
giryan 0:bd978ddc0470 45 {
giryan 0:bd978ddc0470 46 BackLight = 0x7C,
giryan 0:bd978ddc0470 47 Command = 0xFE,
giryan 0:bd978ddc0470 48 Clear = 0x01,
giryan 0:bd978ddc0470 49 DisplayOn = 0x0C,
giryan 0:bd978ddc0470 50 DisplayOff = 0x08,
giryan 0:bd978ddc0470 51 UnderlineCursorOn = 0x0E,
giryan 0:bd978ddc0470 52 UnderlineCursorOff = 0x0C,
giryan 0:bd978ddc0470 53 BlinkingCursorOn = 0x0D,
giryan 0:bd978ddc0470 54 BlinkingCursorOff = 0x0C,
giryan 0:bd978ddc0470 55 CursorLeft = 0x10,
giryan 0:bd978ddc0470 56 CursorRight = 0x14,
giryan 0:bd978ddc0470 57 ScrollLeft = 0x18,
giryan 0:bd978ddc0470 58 ScrollRight = 0x1C,
giryan 0:bd978ddc0470 59
giryan 2:60947d4b0efe 60 Position = 0x80
giryan 0:bd978ddc0470 61 };
giryan 0:bd978ddc0470 62 };
giryan 0:bd978ddc0470 63
giryan 0:bd978ddc0470 64 Serial _lcd;
giryan 0:bd978ddc0470 65 };