Nokia color LCD backpack protocol v1

From DP

Jump to: navigation , search

Contents

Protocol

i initialize LCD

Reset and initialize the LCD.

v version string

Hardware/software version string.

  • HxxxxFxxxxBxxxx (null terminated)

c contrast

caption
0 123
command VOLCTR byte 1VOLCTR byte 2SETCON byte 1
c (0x63) contrast (EPSON)resistor ratio (EPSON?)contrast (PHILLIPS)
0x630x240x030x30

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.

caption
0 1234
command x starty startx endy end
b (0x62) 0x000x000x640x64

p/P send page of image data

caption
0 123...n
command pixel byte 1px byte 2px byte 3...px byte n
p (0x) rrrrggggbbbbrrrrggggbbbb...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.

caption
0 12
pixel byte 1 pixel byte 2pixel byte 3
rrrrggggbbbbRRRRGGGGBBBB
  • 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
caption
0 12
command color byte 1color byte 2
f (0x62) 0000rrrrggggbbbb

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%).