Library for Sparkfun Color LCD 130x130 Breakout Board, sku LCD-11062, which uses driver Philips PCF8833 http://www.sparkfun.com/products/11062
LCD_11062.h@0:99f53140ef2b, 2012-06-08 (annotated)
- 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?
User | Revision | Line number | New 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 |