blob: dfef502860186fbc2456c414779bf2140224e767 [file] [log] [blame]
Mauro Carvalho Chehab065504d2019-04-14 07:59:32 -03001:orphan:
2
3======================================
4Parallel port LCD/Keypad Panel support
5======================================
6
Willy Tarreau7005b582008-11-13 17:18:59 -08007Some LCDs allow you to define up to 8 characters, mapped to ASCII
8characters 0 to 7. The escape code to define a new character is
9'\e[LG' followed by one digit from 0 to 7, representing the character
10number, and up to 8 couples of hex digits terminated by a semi-colon
11(';'). Each couple of digits represents a line, with 1-bits for each
Matt LaPlante19f59462009-04-27 15:06:31 +020012illuminated pixel with LSB on the right. Lines are numbered from the
Willy Tarreau7005b582008-11-13 17:18:59 -080013top of the character to the bottom. On a 5x7 matrix, only the 5 lower
14bits of the 7 first bytes are used for each character. If the string
15is incomplete, only complete lines will be redefined. Here are some
Mauro Carvalho Chehab065504d2019-04-14 07:59:32 -030016examples::
Willy Tarreau7005b582008-11-13 17:18:59 -080017
18 printf "\e[LG0010101050D1F0C04;" => 0 = [enter]
19 printf "\e[LG1040E1F0000000000;" => 1 = [up]
20 printf "\e[LG2000000001F0E0400;" => 2 = [down]
21 printf "\e[LG3040E1F001F0E0400;" => 3 = [up-down]
22 printf "\e[LG40002060E1E0E0602;" => 4 = [left]
23 printf "\e[LG500080C0E0F0E0C08;" => 5 = [right]
24 printf "\e[LG60016051516141400;" => 6 = "IP"
25
26 printf "\e[LG00103071F1F070301;" => big speaker
27 printf "\e[LG00002061E1E060200;" => small speaker
28
29Willy