Fork of SSD1289 lib for Landtiger board
ssd1289.cpp@0:d7202c9fc5db, 2012-11-21 (annotated)
- Committer:
- ttodorov
- Date:
- Wed Nov 21 05:13:24 2012 +0000
- Revision:
- 0:d7202c9fc5db
- Child:
- 1:f4f77e6729cd
- Start implementation of SSD1289 LCD controller for mbed/ITDB02-3.2S display
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ttodorov | 0:d7202c9fc5db | 1 | #include "ssd1289.h" |
ttodorov | 0:d7202c9fc5db | 2 | |
ttodorov | 0:d7202c9fc5db | 3 | #define pulseLow( pin ) pin = 0; pin = 1 |
ttodorov | 0:d7202c9fc5db | 4 | #define pulseHigh( pin ) pin = 1; pin = 0 |
ttodorov | 0:d7202c9fc5db | 5 | |
ttodorov | 0:d7202c9fc5db | 6 | extern unsigned char Font8x12[]; |
ttodorov | 0:d7202c9fc5db | 7 | extern unsigned char Font16x16[]; |
ttodorov | 0:d7202c9fc5db | 8 | extern unsigned char Font7Segment[]; |
ttodorov | 0:d7202c9fc5db | 9 | |
ttodorov | 0:d7202c9fc5db | 10 | SSD1289::SSD1289( PinName CS_PIN, PinName RESET_PIN, PinName RS_PIN, PinName WR_PIN, PinName RD_PIN, BusOut* DATA_PORT ) |
ttodorov | 0:d7202c9fc5db | 11 | : _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 ) |
ttodorov | 0:d7202c9fc5db | 12 | { |
ttodorov | 0:d7202c9fc5db | 13 | _lcd_port = DATA_PORT; |
ttodorov | 0:d7202c9fc5db | 14 | } |
ttodorov | 0:d7202c9fc5db | 15 | |
ttodorov | 0:d7202c9fc5db | 16 | void SSD1289::Initialize( orientation_t orientation ) |
ttodorov | 0:d7202c9fc5db | 17 | { |
ttodorov | 0:d7202c9fc5db | 18 | _orientation = orientation; |
ttodorov | 0:d7202c9fc5db | 19 | } |
ttodorov | 0:d7202c9fc5db | 20 | |
ttodorov | 0:d7202c9fc5db | 21 | void SSD1289::writeCmd( unsigned short cmd ) |
ttodorov | 0:d7202c9fc5db | 22 | { |
ttodorov | 0:d7202c9fc5db | 23 | _lcd_pin_rs = 0; |
ttodorov | 0:d7202c9fc5db | 24 | _lcd_pin_cs = 0; |
ttodorov | 0:d7202c9fc5db | 25 | _lcd_port->write( cmd ); |
ttodorov | 0:d7202c9fc5db | 26 | pulseLow( _lcd_pin_wr ); |
ttodorov | 0:d7202c9fc5db | 27 | _lcd_pin_cs = 1; |
ttodorov | 0:d7202c9fc5db | 28 | } |
ttodorov | 0:d7202c9fc5db | 29 | |
ttodorov | 0:d7202c9fc5db | 30 | void SSD1289::writeData( unsigned short data ) |
ttodorov | 0:d7202c9fc5db | 31 | { |
ttodorov | 0:d7202c9fc5db | 32 | _lcd_pin_rs = 1; |
ttodorov | 0:d7202c9fc5db | 33 | _lcd_pin_cs = 0; |
ttodorov | 0:d7202c9fc5db | 34 | _lcd_port->write( cmd ); |
ttodorov | 0:d7202c9fc5db | 35 | pulseLow( _lcd_pin_wr ); |
ttodorov | 0:d7202c9fc5db | 36 | _lcd_pin_cs = 1; |
ttodorov | 0:d7202c9fc5db | 37 | } |
ttodorov | 0:d7202c9fc5db | 38 | |
ttodorov | 0:d7202c9fc5db | 39 | void SSD1289::writeCmdData( unsigned short cmd, unsigned short data ) |
ttodorov | 0:d7202c9fc5db | 40 | { |
ttodorov | 0:d7202c9fc5db | 41 | writeCmd( cmd ); |
ttodorov | 0:d7202c9fc5db | 42 | writeData( data ); |
ttodorov | 0:d7202c9fc5db | 43 | } |