Library for Sparkfun Color LCD 130x130 Breakout Board, sku LCD-11062, which uses driver Philips PCF8833 http://www.sparkfun.com/products/11062

Committer:
VirtualMan
Date:
Fri Jun 08 23:10:45 2012 +0000
Revision:
0:99f53140ef2b
Firts revision, ver. 1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
VirtualMan 0:99f53140ef2b 1 /* mbed Library - Sparkfun breakboard LCD 11062
VirtualMan 0:99f53140ef2b 2 * This is using the Philips PCF8833 controller
VirtualMan 0:99f53140ef2b 3 */
VirtualMan 0:99f53140ef2b 4
VirtualMan 0:99f53140ef2b 5 #ifndef MBED_LCD_11062_H
VirtualMan 0:99f53140ef2b 6 #define MBED_LCD_11062_H
VirtualMan 0:99f53140ef2b 7
VirtualMan 0:99f53140ef2b 8 //Colours in RGB 8:8:8 on the 24 bit mode (will be convert to 5:6:5 16bit mode)
VirtualMan 0:99f53140ef2b 9 #define BLACK 0x000000
VirtualMan 0:99f53140ef2b 10 #define GRAY 0xC2C2C2
VirtualMan 0:99f53140ef2b 11 #define WHITE 0xFFFFFF
VirtualMan 0:99f53140ef2b 12 #define RED 0xFF0000
VirtualMan 0:99f53140ef2b 13 #define GREEN 0x008000
VirtualMan 0:99f53140ef2b 14 #define LIME 0x00FF00
VirtualMan 0:99f53140ef2b 15 #define BLUE 0x0000FF
VirtualMan 0:99f53140ef2b 16 #define AQUA 0x00FFFF
VirtualMan 0:99f53140ef2b 17 #define FUCHSIA 0xFF00FF
VirtualMan 0:99f53140ef2b 18 #define PURPLE 0x912CEE
VirtualMan 0:99f53140ef2b 19 #define YELLOW 0xFFFF00
VirtualMan 0:99f53140ef2b 20 #define BROWN 0x87421F
VirtualMan 0:99f53140ef2b 21 #define ORANGE 0xFF8000
VirtualMan 0:99f53140ef2b 22
VirtualMan 0:99f53140ef2b 23 #include "mbed.h"
VirtualMan 0:99f53140ef2b 24
VirtualMan 0:99f53140ef2b 25 namespace mbed {
VirtualMan 0:99f53140ef2b 26 /* Class: LCD_11062
VirtualMan 0:99f53140ef2b 27 * An abstraction of the 130x130 Nokia Mobile LCD display
VirtualMan 0:99f53140ef2b 28 * which is used on the Sparkfun breakboard LCD 11062
VirtualMan 0:99f53140ef2b 29 *
VirtualMan 0:99f53140ef2b 30 * Example:
VirtualMan 0:99f53140ef2b 31 * >
VirtualMan 0:99f53140ef2b 32 * > #include "mbed.h"
VirtualMan 0:99f53140ef2b 33 * > #include "LCD_11062.h"
VirtualMan 0:99f53140ef2b 34 * >
VirtualMan 0:99f53140ef2b 35 * > LCD_11062 lcd(p5,p7,p6,p8);
VirtualMan 0:99f53140ef2b 36 * >
VirtualMan 0:99f53140ef2b 37 * > int main() {
VirtualMan 0:99f53140ef2b 38 * > lcd.printf("Hello World!");
VirtualMan 0:99f53140ef2b 39 * > }
VirtualMan 0:99f53140ef2b 40 */
VirtualMan 0:99f53140ef2b 41
VirtualMan 0:99f53140ef2b 42 class LCD_11062 : public Stream {
VirtualMan 0:99f53140ef2b 43 public:
VirtualMan 0:99f53140ef2b 44 /* Constructor: LCD_11062
VirtualMan 0:99f53140ef2b 45 * Create and object for the Mobile LCD, using SPI and two DigitalOuts
VirtualMan 0:99f53140ef2b 46 *
VirtualMan 0:99f53140ef2b 47 * Variables:
VirtualMan 0:99f53140ef2b 48 * mosi - SPI data out (miso is not used)
VirtualMan 0:99f53140ef2b 49 * clk - SPI clock
VirtualMan 0:99f53140ef2b 50 * cs - Chip Select
VirtualMan 0:99f53140ef2b 51 * rst - reset
VirtualMan 0:99f53140ef2b 52 */
VirtualMan 0:99f53140ef2b 53 LCD_11062(PinName mosi, PinName clk, PinName cs, PinName rst);
VirtualMan 0:99f53140ef2b 54 virtual void reset();
VirtualMan 0:99f53140ef2b 55 virtual void _select();
VirtualMan 0:99f53140ef2b 56 virtual void _deselect();
VirtualMan 0:99f53140ef2b 57 virtual void _window(int x, int y, int width, int height);
VirtualMan 0:99f53140ef2b 58 virtual void _putp(int colour);
VirtualMan 0:99f53140ef2b 59 void command(int value);
VirtualMan 0:99f53140ef2b 60 void data(int value);
VirtualMan 0:99f53140ef2b 61 void foreground(int v);
VirtualMan 0:99f53140ef2b 62 void background(int v);
VirtualMan 0:99f53140ef2b 63 void locate(int column, int row);
VirtualMan 0:99f53140ef2b 64 void newline();
VirtualMan 0:99f53140ef2b 65 virtual int _putc(int c);
VirtualMan 0:99f53140ef2b 66 virtual int _getc() {return 0; }
VirtualMan 0:99f53140ef2b 67 SPI _spi;
VirtualMan 0:99f53140ef2b 68 DigitalOut _rst;
VirtualMan 0:99f53140ef2b 69 DigitalOut _cs;
VirtualMan 0:99f53140ef2b 70 void bitblit(int x, int y, int width, int height, const char* bitstream);
VirtualMan 0:99f53140ef2b 71 void fill(int x, int y, int width, int height, int colour);
VirtualMan 0:99f53140ef2b 72 void blit(int x, int y, int width, int height, const int* colour);
VirtualMan 0:99f53140ef2b 73 void cls();
VirtualMan 0:99f53140ef2b 74 int width();
VirtualMan 0:99f53140ef2b 75 int height();
VirtualMan 0:99f53140ef2b 76 int columns();
VirtualMan 0:99f53140ef2b 77 int rows();
VirtualMan 0:99f53140ef2b 78 void putp(int v);
VirtualMan 0:99f53140ef2b 79 void window(int x, int y, int width, int height);
VirtualMan 0:99f53140ef2b 80 void pixel(int x, int y, int colour);
VirtualMan 0:99f53140ef2b 81 int _row, _column, _rows, _columns, _foreground, _background, _width, _height, _spifreq, charwidth, charheight;
VirtualMan 0:99f53140ef2b 82 };
VirtualMan 0:99f53140ef2b 83
VirtualMan 0:99f53140ef2b 84 }
VirtualMan 0:99f53140ef2b 85
VirtualMan 0:99f53140ef2b 86 #endif