Dependencies:   mbed

Committer:
jigr69
Date:
Fri Jul 02 15:36:51 2010 +0000
Revision:
0:9b63dfb366dd

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jigr69 0:9b63dfb366dd 1
jigr69 0:9b63dfb366dd 2 #ifndef MBED_MOBILELCD_H
jigr69 0:9b63dfb366dd 3 #define MBED_MOBILELCD_H
jigr69 0:9b63dfb366dd 4
jigr69 0:9b63dfb366dd 5 #include "mbed.h"
jigr69 0:9b63dfb366dd 6
jigr69 0:9b63dfb366dd 7 class MobileLCD {
jigr69 0:9b63dfb366dd 8
jigr69 0:9b63dfb366dd 9 public:
jigr69 0:9b63dfb366dd 10
jigr69 0:9b63dfb366dd 11 MobileLCD(PinName mosi, PinName miso, PinName clk, PinName cs, PinName rst);
jigr69 0:9b63dfb366dd 12
jigr69 0:9b63dfb366dd 13 void cls();
jigr69 0:9b63dfb366dd 14 int width();
jigr69 0:9b63dfb366dd 15 int height();
jigr69 0:9b63dfb366dd 16 void foreground(int v);
jigr69 0:9b63dfb366dd 17 void background(int v);
jigr69 0:9b63dfb366dd 18 void fill(int x, int y, int width, int height, int colour);
jigr69 0:9b63dfb366dd 19 void reset();
jigr69 0:9b63dfb366dd 20 void pixel(int x, int y, int colour);
jigr69 0:9b63dfb366dd 21 void setpixel(int x, int y, int colour);
jigr69 0:9b63dfb366dd 22 void setline(int x0, int y0, int x1, int y1, int color);
jigr69 0:9b63dfb366dd 23 void setrect(int x0, int y0, int x1, int y1, unsigned char fill, int color);
jigr69 0:9b63dfb366dd 24 void setcircle(int x0, int y0, int radius, int color);
jigr69 0:9b63dfb366dd 25 void putchar(int x, int y, int size, int value, int fColor, int bColor);
jigr69 0:9b63dfb366dd 26 void bitblit(int x, int y, int width, int height, const char* bitstream, int fColor, int bColor);
jigr69 0:9b63dfb366dd 27
jigr69 0:9b63dfb366dd 28 protected:
jigr69 0:9b63dfb366dd 29
jigr69 0:9b63dfb366dd 30 SPI _spi;
jigr69 0:9b63dfb366dd 31 DigitalOut _rst;
jigr69 0:9b63dfb366dd 32 DigitalOut _cs;
jigr69 0:9b63dfb366dd 33
jigr69 0:9b63dfb366dd 34 void _select();
jigr69 0:9b63dfb366dd 35 void _deselect();
jigr69 0:9b63dfb366dd 36 void _window(int x, int y, int width, int height);
jigr69 0:9b63dfb366dd 37 void command(int value);
jigr69 0:9b63dfb366dd 38 void data(int value);
jigr69 0:9b63dfb366dd 39
jigr69 0:9b63dfb366dd 40 int _foreground, _background, _width, _height;
jigr69 0:9b63dfb366dd 41 };
jigr69 0:9b63dfb366dd 42
jigr69 0:9b63dfb366dd 43 #define DISON 0xAF // Display on
jigr69 0:9b63dfb366dd 44 #define DISOFF 0xAE // Display off
jigr69 0:9b63dfb366dd 45 #define DISNOR 0xA6 // Normal display
jigr69 0:9b63dfb366dd 46 #define DISINV 0xA7 // Inverse display
jigr69 0:9b63dfb366dd 47 #define COMSCN 0xBB // Common scan direction
jigr69 0:9b63dfb366dd 48 #define DISCTL 0xCA // Display control
jigr69 0:9b63dfb366dd 49 #define SLPIN 0x95 // Sleep in
jigr69 0:9b63dfb366dd 50 #define SLPOUT 0x94 // Sleep out
jigr69 0:9b63dfb366dd 51 #define PASET 0x75 // Page address set
jigr69 0:9b63dfb366dd 52 #define CASET 0x15 // Column address set
jigr69 0:9b63dfb366dd 53 #define DATCTL 0xBC // Data scan direction, etc.
jigr69 0:9b63dfb366dd 54 #define RGBSET8 0xCE // 256-color position set
jigr69 0:9b63dfb366dd 55 #define RAMWR 0x5C // Writing to memory
jigr69 0:9b63dfb366dd 56 #define RAMRD 0x5D // Reading from memory
jigr69 0:9b63dfb366dd 57 #define PTLIN 0xA8 // Partial display in
jigr69 0:9b63dfb366dd 58 #define PTLOUT 0xA9 // Partial display out
jigr69 0:9b63dfb366dd 59 #define RMWIN 0xE0 // Read and modify write
jigr69 0:9b63dfb366dd 60 #define RMWOUT 0xEE // End
jigr69 0:9b63dfb366dd 61 #define ASCSET 0xAA // Area scroll set
jigr69 0:9b63dfb366dd 62 #define SCSTART 0xAB // Scroll start set
jigr69 0:9b63dfb366dd 63 #define OSCON 0xD1 // Internal oscillation on
jigr69 0:9b63dfb366dd 64 #define OSCOFF 0xD2 // Internal oscillation off
jigr69 0:9b63dfb366dd 65 #define PWRCTR 0x20 // Power control
jigr69 0:9b63dfb366dd 66 #define VOLCTR 0x81 // Electronic volume control
jigr69 0:9b63dfb366dd 67 #define VOLUP 0xD6 // Increment electronic control by 1
jigr69 0:9b63dfb366dd 68 #define VOLDOWN 0xD7 // Decrement electronic control by 1
jigr69 0:9b63dfb366dd 69 #define TMPGRD 0x82 // Temperature gradient set
jigr69 0:9b63dfb366dd 70 #define EPCTIN 0xCD // Control EEPROM
jigr69 0:9b63dfb366dd 71 #define EPCOUT 0xCC // Cancel EEPROM control
jigr69 0:9b63dfb366dd 72 #define EPMWR 0xFC // Write into EEPROM
jigr69 0:9b63dfb366dd 73 #define EPMRD 0xFD // Read from EEPROM
jigr69 0:9b63dfb366dd 74 #define EPSRRD1 0x7C // Read register 1
jigr69 0:9b63dfb366dd 75 #define EPSRRD2 0x7D // Read register 2
jigr69 0:9b63dfb366dd 76 #define NOP 0x25 // NOP instruction
jigr69 0:9b63dfb366dd 77
jigr69 0:9b63dfb366dd 78 // backlight control
jigr69 0:9b63dfb366dd 79 #define BKLGHT_LCD_ON 1
jigr69 0:9b63dfb366dd 80 #define BKLGHT_LCD_OFF 2
jigr69 0:9b63dfb366dd 81
jigr69 0:9b63dfb366dd 82 // Booleans
jigr69 0:9b63dfb366dd 83 #define NOFILL 0
jigr69 0:9b63dfb366dd 84 #define FILL 1
jigr69 0:9b63dfb366dd 85 #define SMALL 0
jigr69 0:9b63dfb366dd 86 #define MEDIUM 1
jigr69 0:9b63dfb366dd 87 #define LARGE 2
jigr69 0:9b63dfb366dd 88
jigr69 0:9b63dfb366dd 89 // mask definitions
jigr69 0:9b63dfb366dd 90 #define BIT0 0x00000001
jigr69 0:9b63dfb366dd 91 #define BIT1 0x00000002
jigr69 0:9b63dfb366dd 92 #define BIT2 0x00000004
jigr69 0:9b63dfb366dd 93 #define BIT3 0x00000008
jigr69 0:9b63dfb366dd 94 #define BIT4 0x00000010
jigr69 0:9b63dfb366dd 95 #define BIT5 0x00000020
jigr69 0:9b63dfb366dd 96 #define BIT6 0x00000040
jigr69 0:9b63dfb366dd 97 #define BIT7 0x00000080
jigr69 0:9b63dfb366dd 98 #define BIT8 0x00000100
jigr69 0:9b63dfb366dd 99 #define BIT9 0x00000200
jigr69 0:9b63dfb366dd 100 #define BIT10 0x00000400
jigr69 0:9b63dfb366dd 101 #define BIT11 0x00000800
jigr69 0:9b63dfb366dd 102 #define BIT12 0x00001000
jigr69 0:9b63dfb366dd 103 #define BIT13 0x00002000
jigr69 0:9b63dfb366dd 104 #define BIT14 0x00004000
jigr69 0:9b63dfb366dd 105 #define BIT15 0x00008000
jigr69 0:9b63dfb366dd 106 #define BIT16 0x00010000
jigr69 0:9b63dfb366dd 107 #define BIT17 0x00020000
jigr69 0:9b63dfb366dd 108 #define BIT18 0x00040000
jigr69 0:9b63dfb366dd 109 #define BIT19 0x00080000
jigr69 0:9b63dfb366dd 110 #define BIT20 0x00100000
jigr69 0:9b63dfb366dd 111 #define BIT21 0x00200000
jigr69 0:9b63dfb366dd 112 #define BIT22 0x00400000
jigr69 0:9b63dfb366dd 113 #define BIT23 0x00800000
jigr69 0:9b63dfb366dd 114 #define BIT24 0x01000000
jigr69 0:9b63dfb366dd 115 #define BIT25 0x02000000
jigr69 0:9b63dfb366dd 116 #define BIT26 0x04000000
jigr69 0:9b63dfb366dd 117 #define BIT27 0x08000000
jigr69 0:9b63dfb366dd 118 #define BIT28 0x10000000
jigr69 0:9b63dfb366dd 119 #define BIT29 0x20000000
jigr69 0:9b63dfb366dd 120 #define BIT30 0x40000000
jigr69 0:9b63dfb366dd 121 #define BIT31 0x80000000
jigr69 0:9b63dfb366dd 122
jigr69 0:9b63dfb366dd 123 // 12-bit color definitions
jigr69 0:9b63dfb366dd 124 #define WHITE 0xFFFFFF
jigr69 0:9b63dfb366dd 125 #define BLACK 0x000000
jigr69 0:9b63dfb366dd 126 #define RED 0xFF0000
jigr69 0:9b63dfb366dd 127 #define GREEN 0x00FF00
jigr69 0:9b63dfb366dd 128 #define BLUE 0x0000FF
jigr69 0:9b63dfb366dd 129 #define CYAN 0x00FFFF
jigr69 0:9b63dfb366dd 130 #define MAGENTA 0xFF00FF
jigr69 0:9b63dfb366dd 131 #define YELLOW 0xFFFF00
jigr69 0:9b63dfb366dd 132 #define BROWN 0xBB2222
jigr69 0:9b63dfb366dd 133 #define ORANGE 0xFFAA00
jigr69 0:9b63dfb366dd 134 #define PINK 0xFF66AA
jigr69 0:9b63dfb366dd 135
jigr69 0:9b63dfb366dd 136 #endif // Lcd_h