SparkFun SerLCD v2.5 controller; Copied from the Arduino.cc SerLCD library; http://playground.arduino.cc/Code/SerLCD

Dependents:   ForEhab Serial_HelloWorld_Mbed ForOfek

Fork of LCDSerial by Robert Ellis

Test Code

#include "mbed.h"
#include "SerialLCD.h"

SerialLCD lcd(PTC4);

uint8_t smiley[8] = {
    0x00,
    0x11,
    0x00,
    0x00,
    0x11,
    0x0E,
    0x00
};

int main() {
    lcd.clear();
    
    while(true) {
        /// Test code ///
        lcd.clearLine(1);
        lcd.printf("Full Bright Test");
        lcd.setBrightness(30);
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("Blink Test");
        lcd.setCursor(2, 1);
        lcd.printf("Blinking");
        lcd.blink();
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("Clear Test");
        wait(2);
        lcd.clear();
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("New Char Test");
        lcd.setCursor(2, 1);
        lcd.createChar(1, smiley);
        lcd.printCustomChar(1);
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("Cursor Test");
        lcd.setCursor(2, 1);
        lcd.cursor();
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("Display Test");
        lcd.noDisplay();
        wait(2);
        lcd.display();
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("Home Test");
        lcd.setCursor(2, 1);
        lcd.home();
        lcd.printf("Got home");
        wait(3);
        
        lcd.leftToRight();
        lcd.clearLine(1);
        lcd.printf("LeftToRight Test");
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("noBlink Test");
        lcd.setCursor(2, 1);
        lcd.noBlink();
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("noCursor Test");
        lcd.setCursor(2, 1);
        lcd.noCursor();
        wait(3);
        
        lcd.rightToLeft();
        lcd.clearLine(1);
        lcd.printf("rightToLeft Test");
        wait(3);
        
        lcd.clearLine(1);
        lcd.printf("Half Bright Test");
        lcd.setBrightness(15);
        wait(3);
    }
}

SerialLCD.cpp

Committer:
Phlaphead
Date:
2011-02-13
Revision:
0:df5850d83ee5
Child:
1:96f055419f71

File content as of revision 0:df5850d83ee5:


#include "SerialLCD.h"


SerialLCD::SerialLCD(PinName tx, PinName rx) : 
    Serial(tx, rx)
{
    baud(LCD_BAUD);
}


void SerialLCD::clear()
{
    putc(0xFE);
    putc(0x01);
}

void SerialLCD::setBacklight(int brightness)
{
    putc(0x7C);
    putc(128+brightness);
}

void SerialLCD::setPosition(int row, int col)
{
    int position = row == 0 ? (128 + col) : (192 + col);
    putc(0xFE);
    putc(position);
}

void SerialLCD::setVisible(bool visible)
{
    putc(0xFE);
    putc(visible ? 0x0C : 0x08);
}

void SerialLCD::scrollLeft()
{
    putc(0xFE);
    putc(0x18);
}

void SerialLCD::scrollRight()
{
    putc(0xFE);
    putc(0x1C);
}