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 #include "TextLCD_Serial.h"
giryan 0:bd978ddc0470 2
giryan 0:bd978ddc0470 3 //! Constructor
giryan 0:bd978ddc0470 4 TextLCD_Serial::TextLCD_Serial(PinName tx, PinName rx, char const * name /*= NULL*/)
giryan 0:bd978ddc0470 5 : _lcd(tx, rx)
giryan 0:bd978ddc0470 6 {
giryan 0:bd978ddc0470 7 _lcd.baud(9600);
giryan 0:bd978ddc0470 8 }
giryan 0:bd978ddc0470 9
giryan 0:bd978ddc0470 10
giryan 0:bd978ddc0470 11 void TextLCD_Serial::character(int column, int row, int c)
giryan 0:bd978ddc0470 12 {
giryan 0:bd978ddc0470 13 setLCDCursor(column, row);
giryan 0:bd978ddc0470 14
giryan 0:bd978ddc0470 15 writeData(c);
giryan 0:bd978ddc0470 16 }
giryan 0:bd978ddc0470 17
giryan 0:bd978ddc0470 18
giryan 0:bd978ddc0470 19 //! Set the LCD's cursor position
giryan 0:bd978ddc0470 20 void TextLCD_Serial::setLCDCursor(int const column, int const row)
giryan 0:bd978ddc0470 21 {
giryan 0:bd978ddc0470 22 unsigned char const positionCode = Codes::Position | ((row & 0x1) << 6) | (column % 0x3F);
giryan 0:bd978ddc0470 23
giryan 0:bd978ddc0470 24 writeCommand(positionCode);
giryan 0:bd978ddc0470 25 }
giryan 0:bd978ddc0470 26
giryan 0:bd978ddc0470 27 /** Clear the screen and locate to 0,0 */
giryan 0:bd978ddc0470 28 void TextLCD_Serial::cls()
giryan 0:bd978ddc0470 29 {
giryan 0:bd978ddc0470 30 writeCommand(Codes::Clear);
giryan 0:bd978ddc0470 31
giryan 0:bd978ddc0470 32 locate(0,0);
giryan 0:bd978ddc0470 33 }
giryan 0:bd978ddc0470 34
giryan 0:bd978ddc0470 35
giryan 0:bd978ddc0470 36 //! write a byte to _lcd
giryan 0:bd978ddc0470 37 void TextLCD_Serial::writeByte(int const value)
giryan 0:bd978ddc0470 38 {
giryan 0:bd978ddc0470 39 _lcd.putc(value);
giryan 0:bd978ddc0470 40 }
giryan 0:bd978ddc0470 41
giryan 0:bd978ddc0470 42
giryan 0:bd978ddc0470 43 //!Send a command
giryan 0:bd978ddc0470 44 void TextLCD_Serial::writeCommand(int const command)
giryan 0:bd978ddc0470 45 {
giryan 0:bd978ddc0470 46 writeByte(Codes::Command);
giryan 0:bd978ddc0470 47 writeByte(command);
giryan 0:bd978ddc0470 48 }
giryan 0:bd978ddc0470 49
giryan 0:bd978ddc0470 50
giryan 0:bd978ddc0470 51 //! write a regular char.
giryan 0:bd978ddc0470 52 void TextLCD_Serial::writeData(int const data)
giryan 0:bd978ddc0470 53 {
giryan 0:bd978ddc0470 54 writeByte(data);
giryan 0:bd978ddc0470 55 }