User | Revision | Line number | New 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
|