Fork of SSD1289 lib for Landtiger board

ssd1289.cpp

Committer:
ttodorov
Date:
2012-11-21
Revision:
0:d7202c9fc5db
Child:
1:f4f77e6729cd

File content as of revision 0:d7202c9fc5db:

#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 );
}