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

Dependencies:   TextDisplays

Committer:
giryan
Date:
Fri Aug 27 13:01:14 2010 +0000
Revision:
0:bd978ddc0470
Child:
1:7174fd65fd77

        

Who changed what in which revision?

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