wiki:HardwareUsersGuides/UserIOBoard_v1.0/Controller

Version 1 (modified by murphpo, 16 years ago) (diff)

--

WARP User I/O Board Controller

LCD Screen

Using the Display

Character Maps

The character map is a 16x16 array of blocks. Each block is an 8x8 square of 64 pixels; each pixel is represented by a 1-byte RGB value representing one of 256 colors. The pixel value is composed of 8 bits- 3 for Red, 3 for Green and 2 for Blue.

The 256 blocks in the character map are arranged as follows; the colors represent sections in the default character map (see below).

The 64 pixels in each character are arranged as:

Here are the 64-pixel representations of two example characters, taken from the default character map (see below).

"4"

The 64-byte array that represents the same character is below. These are the same values used to initialize this character in the default character map (character number 64). The light-colored pixels here represent white (all ones for R/G/B).

unsigned char pixels_four[64] = {
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00,
0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

Solid colors - blue/black

The 64-byte array that represents the same character is below; these are the same values used to initialize this character in the default character map (character number 131). The blue-colored pixels here represent solid blue ([RRRGGGBB] = [00000011] = 0x3).

unsigned char pixels_blueBlack[64] = {
3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 0, 0, 0, 0};

Default Character Map

The User I/O Board controller is initialized with a default character map. This map includes both characters (alphanumeric and punctuation) and blocks of various colors. The characters are located in the map at the correct offset that standard ASCII values can be used to access them.

The character representations are based on this very handy LCD font guide. Each character fills 5x7 of the 8x8 pixels in each block. The border pixels allow characters to be legibly displayed side-by-side.

Here is the character map as displayed on the LCD itself:

The supported ASCII characters are listed in the table below.

Supported ASCII Characters

Hex Dec Character
032 040 SP (Space)
033 041 ! (exclamation point)
034 042 " (double quote)
035 043 # (number sign)
036 044 $ (dollar sign)
037 045 % (percent)
038 046 & (ampersand)
039 047 ' (single quote)
040 050 ( (open parenthesis)
041 051 ) (closing parenthesis)
042 052 * (asterisk)
043 053 + (plus)
044 054 , (comma)
045 055 - (dash)
046 056 . (dot)
047 057 / (forward slash)
048 060 0
049 061 1
050 062 2
051 063 3
052 064 4
053 065 5
054 066 6
055 067 7
056 070 8
057 071 9
058 072 : (colon)
059 073 ; (semi-colon)
060 074 < (less than)
061 075 = (equal sign)
062 076 > (greater than)
063 077 ? (question mark)
064 100 @ (AT symbol)
065 101 A
066 102 B
067 103 C
068 104 D
069 105 E
070 106 F
071 107 G
072 110 H
073 111 I
074 112 J
075 113 K
076 114 L
077 115 M
078 116 N
079 117 O
080 120 P
081 121 Q
082 122 R
083 123 S
084 124 T
085 125 U
086 126 V
087 127 W
088 130 X
089 131 Y
090 132 Z
091 133 [ (opening bracket)
092 134 \ (back slash)
093 135 ] (closing bracket)
094 136 (caret)
095 137 _ (underscore)
096 140 ` (back tick)
097 141 a
098 142 b
099 143 c
100 144 d
101 145 e
102 146 f
103 147 g
104 150 h
105 151 i
106 152 j
107 153 k
108 154 l
109 155 m
110 156 n
111 157 o
112 160 p
113 161 q
114 162 r
115 163 s
116 164 t
117 165 u
118 166 v
119 167 w
120 170 x
121 171 y
122 172 z
123 173 { (opening brace)
124 174 | (vertical bar)
125 175 } (closing brace)
126 176 ~ (tilde)