Fork of SSD1289 lib for Landtiger board
Diff: ssd1289.cpp
- Revision:
- 0:d7202c9fc5db
- Child:
- 1:f4f77e6729cd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ssd1289.cpp Wed Nov 21 05:13:24 2012 +0000 @@ -0,0 +1,43 @@ +#include "ssd1289.h" + +#define pulseLow( pin ) pin = 0; pin = 1 +#define pulseHigh( pin ) pin = 1; pin = 0 + +extern unsigned char Font8x12[]; +extern unsigned char Font16x16[]; +extern unsigned char Font7Segment[]; + +SSD1289::SSD1289( PinName CS_PIN, PinName RESET_PIN, PinName RS_PIN, PinName WR_PIN, PinName RD_PIN, BusOut* DATA_PORT ) + : _lcd_pin_cs( CS_PIN ), _lcd_pin_reset( RESET_PIN ), _lcd_pin_rs( RS_PIN ), _lcd_pin_wr( WR_PIN ), _lcd_pin_rd( RD_PIN ) +{ + _lcd_port = DATA_PORT; +} + +void SSD1289::Initialize( orientation_t orientation ) +{ + _orientation = orientation; +} + +void SSD1289::writeCmd( unsigned short cmd ) +{ + _lcd_pin_rs = 0; + _lcd_pin_cs = 0; + _lcd_port->write( cmd ); + pulseLow( _lcd_pin_wr ); + _lcd_pin_cs = 1; +} + +void SSD1289::writeData( unsigned short data ) +{ + _lcd_pin_rs = 1; + _lcd_pin_cs = 0; + _lcd_port->write( cmd ); + pulseLow( _lcd_pin_wr ); + _lcd_pin_cs = 1; +} + +void SSD1289::writeCmdData( unsigned short cmd, unsigned short data ) +{ + writeCmd( cmd ); + writeData( data ); +}