This module provides a simple API to the Maxim MAX7456 on-screen display chip

Committer:
AjK
Date:
Tue Nov 16 10:47:25 2010 +0000
Revision:
0:d7cd54ad4c3d
1.7

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AjK 0:d7cd54ad4c3d 1 /****************************************************************************
AjK 0:d7cd54ad4c3d 2 * Copyright 2010 Andy Kirkham, Stellar Technologies Ltd
AjK 0:d7cd54ad4c3d 3 *
AjK 0:d7cd54ad4c3d 4 * This file is part of the Satellite Observers Workbench (SOWB).
AjK 0:d7cd54ad4c3d 5 *
AjK 0:d7cd54ad4c3d 6 * SOWB is free software: you can redistribute it and/or modify
AjK 0:d7cd54ad4c3d 7 * it under the terms of the GNU General Public License as published by
AjK 0:d7cd54ad4c3d 8 * the Free Software Foundation, either version 3 of the License, or
AjK 0:d7cd54ad4c3d 9 * (at your option) any later version.
AjK 0:d7cd54ad4c3d 10 *
AjK 0:d7cd54ad4c3d 11 * SOWB is distributed in the hope that it will be useful,
AjK 0:d7cd54ad4c3d 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
AjK 0:d7cd54ad4c3d 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
AjK 0:d7cd54ad4c3d 14 * GNU General Public License for more details.
AjK 0:d7cd54ad4c3d 15 *
AjK 0:d7cd54ad4c3d 16 * You should have received a copy of the GNU General Public License
AjK 0:d7cd54ad4c3d 17 * along with SOWB. If not, see <http://www.gnu.org/licenses/>.
AjK 0:d7cd54ad4c3d 18 *
AjK 0:d7cd54ad4c3d 19 * $Id: main.cpp 5 2010-07-12 20:51:11Z ajk $
AjK 0:d7cd54ad4c3d 20 *
AjK 0:d7cd54ad4c3d 21 ***************************************************************************/
AjK 0:d7cd54ad4c3d 22
AjK 0:d7cd54ad4c3d 23 typedef struct _max7456_custom_char {
AjK 0:d7cd54ad4c3d 24 unsigned char ascii;
AjK 0:d7cd54ad4c3d 25 const unsigned char *map;
AjK 0:d7cd54ad4c3d 26 } MAX7456_CUSTOM_CHAR;
AjK 0:d7cd54ad4c3d 27
AjK 0:d7cd54ad4c3d 28 /* Why doesn't the MAX7456 have a + symbol? wtf! */
AjK 0:d7cd54ad4c3d 29 const unsigned char ascii_4d[54] = {
AjK 0:d7cd54ad4c3d 30 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 31 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 32 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 33 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 34 0x55, 0x00, 0x55,
AjK 0:d7cd54ad4c3d 35 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 36 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 37 0x00, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 38 0x4A, 0xAA, 0xA1,
AjK 0:d7cd54ad4c3d 39 0x4A, 0xAA, 0xA1,
AjK 0:d7cd54ad4c3d 40 0x00, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 41 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 42 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 43 0x55, 0x00, 0x55,
AjK 0:d7cd54ad4c3d 44 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 45 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 46 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 47 0x55, 0x55, 0x55 };
AjK 0:d7cd54ad4c3d 48
AjK 0:d7cd54ad4c3d 49 const unsigned char crosshair1_left[54] = {
AjK 0:d7cd54ad4c3d 50 0x55, 0x55, 0x56, // 0
AjK 0:d7cd54ad4c3d 51 0x55, 0x55, 0x56, // 1
AjK 0:d7cd54ad4c3d 52 0x55, 0x55, 0x56, // 2
AjK 0:d7cd54ad4c3d 53 0x55, 0x55, 0x56, // 3
AjK 0:d7cd54ad4c3d 54 0x55, 0x55, 0x56, // 4
AjK 0:d7cd54ad4c3d 55 0x55, 0x55, 0x56, // 5
AjK 0:d7cd54ad4c3d 56 0x55, 0x55, 0x55, // 6
AjK 0:d7cd54ad4c3d 57 0x55, 0x55, 0x55, // 7
AjK 0:d7cd54ad4c3d 58 0x55, 0xAA, 0x95, // 8
AjK 0:d7cd54ad4c3d 59 0x55, 0xAA, 0x95, // 9 - 8
AjK 0:d7cd54ad4c3d 60 0x55, 0x55, 0x55, // 10 - 7
AjK 0:d7cd54ad4c3d 61 0x55, 0x55, 0x55, // 11 - 6
AjK 0:d7cd54ad4c3d 62 0x55, 0x55, 0x56, // 12 - 5
AjK 0:d7cd54ad4c3d 63 0x55, 0x55, 0x56, // 13 - 4
AjK 0:d7cd54ad4c3d 64 0x55, 0x55, 0x56, // 14 - 3
AjK 0:d7cd54ad4c3d 65 0x55, 0x55, 0x56, // 15 - 2
AjK 0:d7cd54ad4c3d 66 0x55, 0x55, 0x56, // 16 - 1
AjK 0:d7cd54ad4c3d 67 0x55, 0x55, 0x56 };
AjK 0:d7cd54ad4c3d 68
AjK 0:d7cd54ad4c3d 69 const unsigned char crosshair1_right[54] = {
AjK 0:d7cd54ad4c3d 70 0x95, 0x55, 0x55, // 0
AjK 0:d7cd54ad4c3d 71 0x95, 0x55, 0x55, // 1
AjK 0:d7cd54ad4c3d 72 0x95, 0x55, 0x55, // 2
AjK 0:d7cd54ad4c3d 73 0x95, 0x55, 0x55, // 3
AjK 0:d7cd54ad4c3d 74 0x95, 0x55, 0x55, // 4
AjK 0:d7cd54ad4c3d 75 0x95, 0x55, 0x55, // 5
AjK 0:d7cd54ad4c3d 76 0x55, 0x55, 0x55, // 6
AjK 0:d7cd54ad4c3d 77 0x55, 0x55, 0x55, // 7
AjK 0:d7cd54ad4c3d 78 0x56, 0xAA, 0x55, // 8
AjK 0:d7cd54ad4c3d 79 0x56, 0xAA, 0x55, // 9 - 8
AjK 0:d7cd54ad4c3d 80 0x55, 0x55, 0x55, // 10 - 7
AjK 0:d7cd54ad4c3d 81 0x55, 0x55, 0x55, // 11 - 6
AjK 0:d7cd54ad4c3d 82 0x95, 0x55, 0x55, // 12 - 5
AjK 0:d7cd54ad4c3d 83 0x95, 0x55, 0x55, // 13 - 4
AjK 0:d7cd54ad4c3d 84 0x95, 0x55, 0x55, // 14 - 3
AjK 0:d7cd54ad4c3d 85 0x95, 0x55, 0x55, // 15 - 2
AjK 0:d7cd54ad4c3d 86 0x95, 0x55, 0x55, // 16 - 1
AjK 0:d7cd54ad4c3d 87 0x95, 0x55, 0x55 };
AjK 0:d7cd54ad4c3d 88
AjK 0:d7cd54ad4c3d 89 const unsigned char crosshair_centre[54] = {
AjK 0:d7cd54ad4c3d 90 0x55, 0x28, 0x55, // 0
AjK 0:d7cd54ad4c3d 91 0x55, 0x28, 0x55, // 1
AjK 0:d7cd54ad4c3d 92 0x55, 0x28, 0x55, // 2
AjK 0:d7cd54ad4c3d 93 0x55, 0x28, 0x55, // 3
AjK 0:d7cd54ad4c3d 94 0x55, 0x28, 0x55, // 4
AjK 0:d7cd54ad4c3d 95 0x55, 0x00, 0x55, // 5
AjK 0:d7cd54ad4c3d 96 0x55, 0x55, 0x55, // 6
AjK 0:d7cd54ad4c3d 97 0x01, 0x55, 0x40, // 7
AjK 0:d7cd54ad4c3d 98 0xA1, 0x69, 0x4A, // 8
AjK 0:d7cd54ad4c3d 99 0xA1, 0x69, 0x4A, // 9
AjK 0:d7cd54ad4c3d 100 0x01, 0x55, 0x40, // 10
AjK 0:d7cd54ad4c3d 101 0x55, 0x55, 0x55, // 11
AjK 0:d7cd54ad4c3d 102 0x55, 0x00, 0x55, // 12
AjK 0:d7cd54ad4c3d 103 0x55, 0x28, 0x55, // 13
AjK 0:d7cd54ad4c3d 104 0x55, 0x28, 0x55, // 14
AjK 0:d7cd54ad4c3d 105 0x55, 0x28, 0x55, // 15
AjK 0:d7cd54ad4c3d 106 0x55, 0x28, 0x55, // 16
AjK 0:d7cd54ad4c3d 107 0x55, 0x28, 0x55 };
AjK 0:d7cd54ad4c3d 108
AjK 0:d7cd54ad4c3d 109
AjK 0:d7cd54ad4c3d 110 const unsigned char ascii_b0[54] = {
AjK 0:d7cd54ad4c3d 111 0x55, 0x55, 0x55, // 0
AjK 0:d7cd54ad4c3d 112 0x55, 0x55, 0x55, // 1
AjK 0:d7cd54ad4c3d 113 0x50, 0x01, 0x55, // 2
AjK 0:d7cd54ad4c3d 114 0x42, 0xA0, 0x55, // 3
AjK 0:d7cd54ad4c3d 115 0x0A, 0xA8, 0x15, // 4
AjK 0:d7cd54ad4c3d 116 0x28, 0x0A, 0x15, // 5
AjK 0:d7cd54ad4c3d 117 0x28, 0x0A, 0x15, // 6
AjK 0:d7cd54ad4c3d 118 0x28, 0x0A, 0x15,
AjK 0:d7cd54ad4c3d 119 0x0A, 0xA8, 0x15,
AjK 0:d7cd54ad4c3d 120 0x42, 0xA0, 0x55,
AjK 0:d7cd54ad4c3d 121 0x50, 0x01, 0x55,
AjK 0:d7cd54ad4c3d 122 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 123 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 124 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 125 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 126 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 127 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 128 0x55, 0x55, 0x55 };
AjK 0:d7cd54ad4c3d 129
AjK 0:d7cd54ad4c3d 130 const unsigned char ascii_b3[54] = {
AjK 0:d7cd54ad4c3d 131 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 132 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 133 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 134 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 135 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 136 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 137 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 138 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 139 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 140 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 141 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 142 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 143 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 144 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 145 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 146 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 147 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 148 0x55, 0x28, 0x55 };
AjK 0:d7cd54ad4c3d 149
AjK 0:d7cd54ad4c3d 150 const unsigned char ascii_b4[54] = {
AjK 0:d7cd54ad4c3d 151 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 152 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 153 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 154 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 155 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 156 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 157 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 158 0x00, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 159 0xAA, 0xA8, 0x55,
AjK 0:d7cd54ad4c3d 160 0xAA, 0xA8, 0x55,
AjK 0:d7cd54ad4c3d 161 0x00, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 162 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 163 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 164 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 165 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 166 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 167 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 168 0x55, 0x28, 0x55 };
AjK 0:d7cd54ad4c3d 169
AjK 0:d7cd54ad4c3d 170 const unsigned char ascii_bf[54] = {
AjK 0:d7cd54ad4c3d 171 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 172 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 173 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 174 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 175 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 176 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 177 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 178 0x00, 0x00, 0x55,
AjK 0:d7cd54ad4c3d 179 0xAA, 0xA8, 0x55,
AjK 0:d7cd54ad4c3d 180 0xAA, 0xA8, 0x55,
AjK 0:d7cd54ad4c3d 181 0x00, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 182 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 183 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 184 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 185 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 186 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 187 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 188 0x55, 0x28, 0x55 };
AjK 0:d7cd54ad4c3d 189
AjK 0:d7cd54ad4c3d 190 const unsigned char ascii_c0[54] = {
AjK 0:d7cd54ad4c3d 191 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 192 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 193 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 194 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 195 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 196 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 197 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 198 0x55, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 199 0x55, 0x2A, 0xAA,
AjK 0:d7cd54ad4c3d 200 0x55, 0x2A, 0xAA,
AjK 0:d7cd54ad4c3d 201 0x55, 0x00, 0x00,
AjK 0:d7cd54ad4c3d 202 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 203 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 204 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 205 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 206 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 207 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 208 0x55, 0x55, 0x55 };
AjK 0:d7cd54ad4c3d 209
AjK 0:d7cd54ad4c3d 210 const unsigned char ascii_c1[54] = {
AjK 0:d7cd54ad4c3d 211 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 212 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 213 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 214 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 215 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 216 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 217 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 218 0x00, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 219 0xAA, 0xAA, 0xAA,
AjK 0:d7cd54ad4c3d 220 0xAA, 0xAA, 0xAA,
AjK 0:d7cd54ad4c3d 221 0x00, 0x00, 0x00,
AjK 0:d7cd54ad4c3d 222 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 223 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 224 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 225 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 226 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 227 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 228 0x55, 0x55, 0x55 };
AjK 0:d7cd54ad4c3d 229
AjK 0:d7cd54ad4c3d 230 const unsigned char ascii_c2[54] = {
AjK 0:d7cd54ad4c3d 231 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 232 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 233 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 234 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 235 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 236 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 237 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 238 0x00, 0x00, 0x00,
AjK 0:d7cd54ad4c3d 239 0xAA, 0xAA, 0xAA,
AjK 0:d7cd54ad4c3d 240 0xAA, 0xAA, 0xAA,
AjK 0:d7cd54ad4c3d 241 0x00, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 242 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 243 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 244 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 245 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 246 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 247 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 248 0x55, 0x28, 0x55 };
AjK 0:d7cd54ad4c3d 249
AjK 0:d7cd54ad4c3d 250 const unsigned char ascii_c3[54] = {
AjK 0:d7cd54ad4c3d 251 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 252 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 253 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 254 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 255 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 256 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 257 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 258 0x55, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 259 0x55, 0x2A, 0xAA,
AjK 0:d7cd54ad4c3d 260 0x55, 0x2A, 0xAA,
AjK 0:d7cd54ad4c3d 261 0x55, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 262 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 263 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 264 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 265 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 266 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 267 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 268 0x55, 0x28, 0x55 };
AjK 0:d7cd54ad4c3d 269
AjK 0:d7cd54ad4c3d 270 const unsigned char ascii_c4[54] = {
AjK 0:d7cd54ad4c3d 271 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 272 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 273 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 274 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 275 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 276 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 277 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 278 0x00, 0x00, 0x00,
AjK 0:d7cd54ad4c3d 279 0xAA, 0xAA, 0xAA,
AjK 0:d7cd54ad4c3d 280 0xAA, 0xAA, 0xAA,
AjK 0:d7cd54ad4c3d 281 0x00, 0x00, 0x00,
AjK 0:d7cd54ad4c3d 282 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 283 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 284 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 285 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 286 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 287 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 288 0x55, 0x55, 0x55 };
AjK 0:d7cd54ad4c3d 289
AjK 0:d7cd54ad4c3d 290 const unsigned char ascii_c5[54] = {
AjK 0:d7cd54ad4c3d 291 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 292 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 293 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 294 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 295 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 296 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 297 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 298 0x00, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 299 0xAA, 0xAA, 0xAA,
AjK 0:d7cd54ad4c3d 300 0xAA, 0xAA, 0xAA,
AjK 0:d7cd54ad4c3d 301 0x00, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 302 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 303 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 304 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 305 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 306 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 307 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 308 0x55, 0x28, 0x55 };
AjK 0:d7cd54ad4c3d 309
AjK 0:d7cd54ad4c3d 310 const unsigned char ascii_d9[54] = {
AjK 0:d7cd54ad4c3d 311 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 312 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 313 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 314 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 315 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 316 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 317 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 318 0x00, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 319 0xAA, 0xA8, 0x55,
AjK 0:d7cd54ad4c3d 320 0xAA, 0xA8, 0x55,
AjK 0:d7cd54ad4c3d 321 0x00, 0x00, 0x55,
AjK 0:d7cd54ad4c3d 322 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 323 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 324 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 325 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 326 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 327 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 328 0x55, 0x55, 0x55 };
AjK 0:d7cd54ad4c3d 329
AjK 0:d7cd54ad4c3d 330 const unsigned char ascii_da[54] = {
AjK 0:d7cd54ad4c3d 331 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 332 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 333 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 334 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 335 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 336 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 337 0x55, 0x55, 0x55,
AjK 0:d7cd54ad4c3d 338 0x55, 0x00, 0x00,
AjK 0:d7cd54ad4c3d 339 0x55, 0x2A, 0xAA,
AjK 0:d7cd54ad4c3d 340 0x55, 0x2A, 0xAA,
AjK 0:d7cd54ad4c3d 341 0x55, 0x28, 0x00,
AjK 0:d7cd54ad4c3d 342 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 343 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 344 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 345 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 346 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 347 0x55, 0x28, 0x55,
AjK 0:d7cd54ad4c3d 348 0x55, 0x28, 0x55 };
AjK 0:d7cd54ad4c3d 349
AjK 0:d7cd54ad4c3d 350 /* For the curious, during testing I managed to screw up the
AjK 0:d7cd54ad4c3d 351 characher at CM index2, ('2'). So I needed to reprogram
AjK 0:d7cd54ad4c3d 352 index2 with the correct character, doh! Anyway, since I
AjK 0:d7cd54ad4c3d 353 went to the trouble I'll leave it in the code. I managed
AjK 0:d7cd54ad4c3d 354 to find a default CM map at:-
AjK 0:d7cd54ad4c3d 355 http://www.maxim-ic.com/tools/evkit/index.cfm?EVKit=558
AjK 0:d7cd54ad4c3d 356 If you download this then be aware that the DEFAULTCM.MCM file
AjK 0:d7cd54ad4c3d 357 defines each charmap as 64bytes, the 10 additional bytes need
AjK 0:d7cd54ad4c3d 358 to be stripped off as "not used". */
AjK 0:d7cd54ad4c3d 359 #ifdef FIX_CM2_SCREW_UP
AjK 0:d7cd54ad4c3d 360 const unsigned char ascii_02[54] = {
AjK 0:d7cd54ad4c3d 361 0x55, 0x55, 0x55, // 01010101 01010101 01010101
AjK 0:d7cd54ad4c3d 362 0x55, 0x55, 0x55, // 01010101 01010101 01010101
AjK 0:d7cd54ad4c3d 363 0x54, 0x00, 0x15, // 01010100 00000000 00010101
AjK 0:d7cd54ad4c3d 364 0x52, 0xAA, 0x85, // 01010010 10101010 10000101
AjK 0:d7cd54ad4c3d 365 0x4A, 0xAA, 0xA1, // 01001010 10101010 10100001
AjK 0:d7cd54ad4c3d 366 0x2A, 0x80, 0xA8, // 00101010 10000000 10101000
AjK 0:d7cd54ad4c3d 367 0x2A, 0x15, 0x28, // 00101010 00010101 00101000
AjK 0:d7cd54ad4c3d 368 0x40, 0x55, 0x28, // 01000000 01010101 00101000
AjK 0:d7cd54ad4c3d 369 0x55, 0x54, 0xA8, // 01010101 01010100 10101000
AjK 0:d7cd54ad4c3d 370 0x55, 0x52, 0xA1, // 01010101 01010010 10100001
AjK 0:d7cd54ad4c3d 371 0x55, 0x4A, 0x85, // 01010101 01001010 10000101
AjK 0:d7cd54ad4c3d 372 0x55, 0x2A, 0x15, // 01010101 00101010 00010101
AjK 0:d7cd54ad4c3d 373 0x54, 0xA8, 0x55, // 01010100 10101000 01010101
AjK 0:d7cd54ad4c3d 374 0x52, 0xA1, 0x55, // 01010010 10100001 01010101
AjK 0:d7cd54ad4c3d 375 0x4A, 0x80, 0x01, // 01001010 10000000 00000001
AjK 0:d7cd54ad4c3d 376 0x2A, 0xAA, 0xA8, // 00101010 10101010 10101000
AjK 0:d7cd54ad4c3d 377 0x2A, 0xAA, 0xA8, // 00101010 10101010 10101000
AjK 0:d7cd54ad4c3d 378 0x40, 0x00, 0x01 // 01000000 00000000 00000001
AjK 0:d7cd54ad4c3d 379 };
AjK 0:d7cd54ad4c3d 380 #endif
AjK 0:d7cd54ad4c3d 381
AjK 0:d7cd54ad4c3d 382 /* Create an array of structures that link the data
AjK 0:d7cd54ad4c3d 383 characters to ASCII characters. The last entry
AjK 0:d7cd54ad4c3d 384 must always be null so we can detect the end of
AjK 0:d7cd54ad4c3d 385 the array. */
AjK 0:d7cd54ad4c3d 386 MAX7456_CUSTOM_CHAR custom_chars[] = {
AjK 0:d7cd54ad4c3d 387 { 0xE0, crosshair1_left },
AjK 0:d7cd54ad4c3d 388 { 0xE1, crosshair1_right },
AjK 0:d7cd54ad4c3d 389 { 0xE2, crosshair_centre },
AjK 0:d7cd54ad4c3d 390 { 0x4D, ascii_4d },
AjK 0:d7cd54ad4c3d 391 { 0xB0, ascii_b0 },
AjK 0:d7cd54ad4c3d 392 { 0xB3, ascii_b3 },
AjK 0:d7cd54ad4c3d 393 { 0xB4, ascii_b4 },
AjK 0:d7cd54ad4c3d 394 { 0xBF, ascii_bf },
AjK 0:d7cd54ad4c3d 395 { 0xC0, ascii_c0 },
AjK 0:d7cd54ad4c3d 396 { 0xC1, ascii_c1 },
AjK 0:d7cd54ad4c3d 397 { 0xC2, ascii_c2 },
AjK 0:d7cd54ad4c3d 398 { 0xC3, ascii_c3 },
AjK 0:d7cd54ad4c3d 399 { 0xC4, ascii_c4 },
AjK 0:d7cd54ad4c3d 400 { 0xC5, ascii_c5 },
AjK 0:d7cd54ad4c3d 401 { 0xD9, ascii_d9 },
AjK 0:d7cd54ad4c3d 402 { 0xDA, ascii_da },
AjK 0:d7cd54ad4c3d 403 #ifdef FIX_CM2_SCREW_UP
AjK 0:d7cd54ad4c3d 404 { 0x02, ascii_02 },
AjK 0:d7cd54ad4c3d 405 #endif
AjK 0:d7cd54ad4c3d 406 { 0x00, 0 }
AjK 0:d7cd54ad4c3d 407 };
AjK 0:d7cd54ad4c3d 408
AjK 0:d7cd54ad4c3d 409