Nokia color LCD backpack protocol v1
From DP
Contents |
Protocol
i initialize LCD
Reset and initialize the LCD.
v version string
Hardware/software version string.
- HxxxxFxxxxBxxxx (null terminated)
c contrast
| 0 | 1 | 2 | 3 |
|---|---|---|---|
| command | VOLCTR byte 1 | VOLCTR byte 2 | SETCON byte 1 |
| c (0x63) | contrast (EPSON) | resistor ratio (EPSON?) | contrast (PHILLIPS) |
| 0x63 | 0x24 | 0x03 | 0x30 |
Requires 3 bytes. Byte one is the contrast, only setting that seems to have effect on current LCD
- VOLCTR - contrast/brightness for EPSON
- Byte 1 - VOLCTR 1 contrast setting (0x24 default)
- Byte 2 - VOLCTR 2 internal resistor ratio (no effect) (0x03 default)
- SETCON - contrast/brightness for PHILLIPS
- Byte 3 - SETCON value (no effect) (0x30 default)
b set bounding box
Defines the area of the screen to draw.
| 0 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| command | x start | y start | x end | y end |
| b (0x62) | 0x00 | 0x00 | 0x64 | 0x64 |
p/P send page of image data
| 0 | 1 | 2 | 3 | ... | n |
|---|---|---|---|---|---|
| command | pixel byte 1 | px byte 2 | px byte 3 | ... | px byte n |
| p (0x) | rrrrgggg | bbbbrrrr | ggggbbbb | ... | ggggbbbb |
- P Fill the entire display with the pixel data sent
- p Fill the area defined by the last bounding box
Send command, then enough pixels to fill the screen or bounding box. Replies '1' at the end.
| 0 | 1 | 2 |
|---|---|---|
| pixel byte 1 | pixel byte 2 | pixel byte 3 |
| rrrrgggg | bbbbRRRR | GGGGBBBB |
- 12bit color
- two pixels packed per 3 bytes
- must use three byte/two pixel segments! end on an even boundary
t/T test pattern
- T Cycles colors on the entire display
- t In the area defined by the last bounding box
Any byte exits at the end of the next refresh.
f/F fill with color
- F Fill the entire display with the pixel data sent
- f Fill the area defined by the last bounding box
| 0 | 1 | 2 |
|---|---|---|
| command | color byte 1 | color byte 2 |
| f (0x62) | 0000rrrr | ggggbbbb |
a LCD backlight voltage reading
Returns the raw 10bit ADC reading of the pin connected to the the MC34063A feedback resistors (R1=18K/R2=3.9K).
- Raw reading: 0x182 (386)
- Actual voltage: (386/1024)*3.3volts=1.24volts
- Scale for resistor divider: Vin = (Vout*(R1+R2))/R2 = (1.24volts*(18K+3.9K))/3.9K = 7.01volts (ideal is 7volts)
Example solution.
d dim the LCD backlight
Send a 1 byte duty cycle setting, 0-255 (0-100%).
