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).
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};
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) |