PT6315 VFD driver. Supports DVDR3510.

Dependents:   mbed_PT6315

Committer:
wim
Date:
Wed Jan 20 19:24:17 2016 +0000
Revision:
0:d93c23711ca8
PT6315 VFD driver library. Supports DVDR3510. First release.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wim 0:d93c23711ca8 1 /* mbed VFD Font Library, for Princeton PT6315 VFD controller as used in DVDR3510
wim 0:d93c23711ca8 2 * Copyright (c) 2016, v01: WH, Initial version for DVDR3510
wim 0:d93c23711ca8 3 *
wim 0:d93c23711ca8 4 * Permission is hereby granted, free of charge, to any person obtaining a copy
wim 0:d93c23711ca8 5 * of this software and associated documentation files (the "Software"), to deal
wim 0:d93c23711ca8 6 * in the Software without restriction, including without limitation the rights
wim 0:d93c23711ca8 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
wim 0:d93c23711ca8 8 * copies of the Software, and to permit persons to whom the Software is
wim 0:d93c23711ca8 9 * furnished to do so, subject to the following conditions:
wim 0:d93c23711ca8 10 *
wim 0:d93c23711ca8 11 * The above copyright notice and this permission notice shall be included in
wim 0:d93c23711ca8 12 * all copies or substantial portions of the Software.
wim 0:d93c23711ca8 13 *
wim 0:d93c23711ca8 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
wim 0:d93c23711ca8 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
wim 0:d93c23711ca8 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
wim 0:d93c23711ca8 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
wim 0:d93c23711ca8 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
wim 0:d93c23711ca8 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
wim 0:d93c23711ca8 20 * THE SOFTWARE.
wim 0:d93c23711ca8 21 */
wim 0:d93c23711ca8 22 #ifndef MBED_FONT_16SEG_H
wim 0:d93c23711ca8 23 #define MBED_FONT_16SEG_H
wim 0:d93c23711ca8 24
wim 0:d93c23711ca8 25 // Select one of the testboards for Princeton PT6315 VFD controller
wim 0:d93c23711ca8 26 #include "PT6315_Config.h"
wim 0:d93c23711ca8 27
wim 0:d93c23711ca8 28 #if (DVDR3510_TEST == 1)
wim 0:d93c23711ca8 29 //#if (1)
wim 0:d93c23711ca8 30 // Segment bit positions for 14 or 16 Segment display using the DVDR3510 mapping for PT6315
wim 0:d93c23711ca8 31 // Modify this table for different 'bit-to-segment' mappings. The ASCII character defines and the FONT_16S const table below
wim 0:d93c23711ca8 32 // will be adapted automatically according to the bit-to-segment mapping. Obviously this will only work when the segment
wim 0:d93c23711ca8 33 // mapping is identical for every digit position. This will be the case unless the hardware designer really hates software developers.
wim 0:d93c23711ca8 34 //
wim 0:d93c23711ca8 35 // A1 A2
wim 0:d93c23711ca8 36 // ---- ----
wim 0:d93c23711ca8 37 // |H\ J| /K|
wim 0:d93c23711ca8 38 // F | \ | / | B
wim 0:d93c23711ca8 39 // |G1 \|/ G2|
wim 0:d93c23711ca8 40 // --- + ---
wim 0:d93c23711ca8 41 // | /|\ |
wim 0:d93c23711ca8 42 // E | / | \ | C
wim 0:d93c23711ca8 43 // |N/ M| \L|
wim 0:d93c23711ca8 44 // ---- ---- * DP
wim 0:d93c23711ca8 45 // D1 D2
wim 0:d93c23711ca8 46 //
wim 0:d93c23711ca8 47 #define S16_A1 0x0001 // Assuming 2 part A segment
wim 0:d93c23711ca8 48 #define S16_A2 0x0001
wim 0:d93c23711ca8 49 #define S16_J 0x0002 // J, M linked
wim 0:d93c23711ca8 50 #define S16_M 0x0002
wim 0:d93c23711ca8 51 #define S16_H 0x0004
wim 0:d93c23711ca8 52 #define S16_K 0x0008
wim 0:d93c23711ca8 53 #define S16_B 0x0010
wim 0:d93c23711ca8 54 #define S16_F 0x0020
wim 0:d93c23711ca8 55 #define S16_G2 0x0040 // 2 part G segment
wim 0:d93c23711ca8 56 #define S16_G1 0x0080
wim 0:d93c23711ca8 57 #define S16_C 0x0100
wim 0:d93c23711ca8 58 #define S16_E 0x0200
wim 0:d93c23711ca8 59 #define S16_N 0x0400
wim 0:d93c23711ca8 60 #define S16_L 0x0800
wim 0:d93c23711ca8 61 #define S16_D1 0x1000 // Assuming 2 part D segment
wim 0:d93c23711ca8 62 #define S16_D2 0x1000
wim 0:d93c23711ca8 63 #define S16_S 0x2000 // NA
wim 0:d93c23711ca8 64
wim 0:d93c23711ca8 65 //Icons All Grids
wim 0:d93c23711ca8 66 //#define S16_DP 0x8000 // Assuming single DP segment
wim 0:d93c23711ca8 67
wim 0:d93c23711ca8 68 //Icons Grid 1
wim 0:d93c23711ca8 69 #define S16_RCV 0x010000
wim 0:d93c23711ca8 70 #define S16_ICON_GR1 (S16_RCV)
wim 0:d93c23711ca8 71
wim 0:d93c23711ca8 72 //Icons Grid 2
wim 0:d93c23711ca8 73 #define S16_ICON_GR2 (0x000000)
wim 0:d93c23711ca8 74
wim 0:d93c23711ca8 75 //Icons Grid 3
wim 0:d93c23711ca8 76 #define S16_ICON_GR3 (0x000000)
wim 0:d93c23711ca8 77
wim 0:d93c23711ca8 78 //Icons Grid 4
wim 0:d93c23711ca8 79 #define S16_ICON_GR4 (0x000000)
wim 0:d93c23711ca8 80
wim 0:d93c23711ca8 81 //Icons Grid 5
wim 0:d93c23711ca8 82 #define S16_ICON_GR5 (0x000000)
wim 0:d93c23711ca8 83
wim 0:d93c23711ca8 84 //Icons Grid 6
wim 0:d93c23711ca8 85 #define S16_ICON_GR6 (0x000000)
wim 0:d93c23711ca8 86
wim 0:d93c23711ca8 87 //Icons Grid 7
wim 0:d93c23711ca8 88 #define S16_ICON_GR7 (0x000000)
wim 0:d93c23711ca8 89
wim 0:d93c23711ca8 90 //Icons Grid 8
wim 0:d93c23711ca8 91 #define S16_SAT 0x010000
wim 0:d93c23711ca8 92 #define S16_ICON_GR8 (S16_SAT)
wim 0:d93c23711ca8 93
wim 0:d93c23711ca8 94 //Icons Grid 9
wim 0:d93c23711ca8 95 #define S16_DRT 0x004000
wim 0:d93c23711ca8 96 #define S16_TV 0x010000
wim 0:d93c23711ca8 97 #define S16_ICON_GR9 (S16_DRT | S16_TV)
wim 0:d93c23711ca8 98
wim 0:d93c23711ca8 99 //Icons Grid 10
wim 0:d93c23711ca8 100 #define S16_COL4 0x004000
wim 0:d93c23711ca8 101 #define S16_TMR 0x010000
wim 0:d93c23711ca8 102 #define S16_ICON_GR10 (S16_COL4 | S16_TMR)
wim 0:d93c23711ca8 103
wim 0:d93c23711ca8 104 //Icons Grid 11
wim 0:d93c23711ca8 105 #define S16_COL6 0x004000
wim 0:d93c23711ca8 106 #define S16_DP6 0x008000
wim 0:d93c23711ca8 107 #define S16_PRS 0x010000
wim 0:d93c23711ca8 108 #define S16_ICON_GR11 (S16_COL6 | S16_DP6 | S16_PRS)
wim 0:d93c23711ca8 109
wim 0:d93c23711ca8 110
wim 0:d93c23711ca8 111 //Mask for blending out and restoring Icons
wim 0:d93c23711ca8 112 extern const char MASK_ICON_GRID[][3];
wim 0:d93c23711ca8 113
wim 0:d93c23711ca8 114 //One mask pattern will be sufficient assuming that all digits use the same mapping.
wim 0:d93c23711ca8 115 //#define S16_ICON_MSK (S16_COL3)
wim 0:d93c23711ca8 116
wim 0:d93c23711ca8 117 #endif
wim 0:d93c23711ca8 118
wim 0:d93c23711ca8 119
wim 0:d93c23711ca8 120 // ASCII Font definitions for segments in each character
wim 0:d93c23711ca8 121 //
wim 0:d93c23711ca8 122 //32 0x20
wim 0:d93c23711ca8 123 #define C16_SPC (0x0000) //Space
wim 0:d93c23711ca8 124 #define C16_EXC (S16_B | S16_C) //!
wim 0:d93c23711ca8 125 #define C16_QTE (S16_B | S16_F) //"
wim 0:d93c23711ca8 126 #define C16_HSH (S16_B | S16_C | S16_D1 | S16_D2 | S16_G1 | S16_G2 | S16_J | S16_M) //#
wim 0:d93c23711ca8 127 #define C16_DLR (S16_A1 | S16_A2 | S16_C | S16_D1 | S16_D2 | S16_F | S16_G1 | S16_G2 | S16_J | S16_M | S16_S) //$
wim 0:d93c23711ca8 128 #define C16_PCT (S16_C | S16_F | S16_K | S16_N | S16_S) //%
wim 0:d93c23711ca8 129 //#define C16_AMP (S16_A1 | S16_C | S16_D1 | S16_D2 | S16_E | S16_G1 | S16_J | S16_H | S16_L) // Not correct when J and M are linked
wim 0:d93c23711ca8 130 #define C16_AMP (S16_A1 | S16_A2 | S16_C | S16_D1 | S16_D2 | S16_H | S16_K | S16_L | S16_N | S16_S) //&
wim 0:d93c23711ca8 131 #define C16_ACC (S16_B) //'
wim 0:d93c23711ca8 132 #define C16_LBR (S16_K | S16_L) //(
wim 0:d93c23711ca8 133 #define C16_RBR (S16_H | S16_N) //)
wim 0:d93c23711ca8 134 #define C16_MLT (S16_G1 | S16_G2 | S16_J | S16_M | S16_K | S16_L | S16_H | S16_N | S16_S) //*
wim 0:d93c23711ca8 135 #define C16_PLS (S16_G1 | S16_G2 | S16_J | S16_M | S16_S) //+
wim 0:d93c23711ca8 136 #define C16_CMA (S16_C) //,
wim 0:d93c23711ca8 137 #define C16_MIN (S16_G1 | S16_G2 | S16_S) //-
wim 0:d93c23711ca8 138 #define C16_DOT (S16_C) //.
wim 0:d93c23711ca8 139 #define C16_RS (S16_K | S16_N | S16_S) // /
wim 0:d93c23711ca8 140 //48 0x30 digits
wim 0:d93c23711ca8 141 #define C16_0 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F)
wim 0:d93c23711ca8 142 #define C16_1 (S16_B | S16_C)
wim 0:d93c23711ca8 143 #define C16_2 (S16_A1 | S16_A2 | S16_B | S16_D1 | S16_D2 | S16_E | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 144 #define C16_3 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_G2 | S16_S)
wim 0:d93c23711ca8 145 #define C16_4 (S16_B | S16_C | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 146 #define C16_5 (S16_A1 | S16_A2 | S16_C | S16_D1 | S16_D2 | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 147 #define C16_6 (S16_A1 | S16_A2 | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 148 #define C16_7 (S16_A1 | S16_A2 | S16_B | S16_C)
wim 0:d93c23711ca8 149 #define C16_8 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 150 #define C16_9 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 151 //58 0x3A
wim 0:d93c23711ca8 152 #define C16_COL (S16_D1 | S16_D2 | S16_G1 | S16_G2 | S16_S) // :
wim 0:d93c23711ca8 153 #define C16_SCL (S16_D1 | S16_D2 | S16_G1 | S16_G2 | S16_S) // ;
wim 0:d93c23711ca8 154 #define C16_LT (S16_K | S16_L | S16_S) // <
wim 0:d93c23711ca8 155 #define C16_EQ (S16_D1 | S16_D2 | S16_G1 | S16_G2 | S16_S) // =
wim 0:d93c23711ca8 156 #define C16_GT (S16_H | S16_N | S16_S) // >
wim 0:d93c23711ca8 157 //#define C16_QM (S16_A1 | S16_A2 | S16_B | S16_G2 | S16_M) // Not correct when J and M are linked
wim 0:d93c23711ca8 158 #define C16_QM (S16_A1 | S16_A2 | S16_B | S16_G2 | S16_N | S16_S) // ?
wim 0:d93c23711ca8 159 //64 0x40
wim 0:d93c23711ca8 160 //#define C16_AT (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_G1 | S16_M | S16_S) // Not correct when J and M are linked
wim 0:d93c23711ca8 161 #define C16_AT (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_G1 | S16_S) // @
wim 0:d93c23711ca8 162 #define C16_A (S16_A1 | S16_A2 | S16_B | S16_C | S16_E | S16_F | S16_G1 | S16_G2 | S16_S) // Upper case alphabet
wim 0:d93c23711ca8 163 #define C16_B (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_J | S16_M | S16_G2 | S16_S)
wim 0:d93c23711ca8 164 #define C16_C (S16_A1 | S16_A2 | S16_D1 | S16_D2 | S16_E | S16_F)
wim 0:d93c23711ca8 165 #define C16_D (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_J | S16_M | S16_S)
wim 0:d93c23711ca8 166 #define C16_E (S16_A1 | S16_A2 | S16_D1 | S16_D2 | S16_E | S16_F | S16_G1 | S16_S)
wim 0:d93c23711ca8 167 #define C16_F (S16_A1 | S16_A2 | S16_E | S16_F | S16_G1 | S16_S)
wim 0:d93c23711ca8 168 #define C16_G (S16_A1 | S16_A2 | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_G2 | S16_S)
wim 0:d93c23711ca8 169 #define C16_H (S16_B | S16_C | S16_E | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 170 #define C16_I (S16_A1 | S16_A2 | S16_D1 | S16_D2 | S16_J | S16_M | S16_S)
wim 0:d93c23711ca8 171 #define C16_J (S16_B | S16_C | S16_D1 | S16_D2 | S16_E)
wim 0:d93c23711ca8 172 #define C16_K (S16_E | S16_F | S16_G1 | S16_K | S16_L | S16_S)
wim 0:d93c23711ca8 173 #define C16_L (S16_D1 | S16_D2 | S16_E | S16_F)
wim 0:d93c23711ca8 174 #define C16_M (S16_B | S16_C | S16_E | S16_F | S16_H | S16_K | S16_S)
wim 0:d93c23711ca8 175 #define C16_N (S16_B | S16_C | S16_E | S16_F | S16_H | S16_L | S16_S)
wim 0:d93c23711ca8 176 #define C16_O (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F)
wim 0:d93c23711ca8 177 #define C16_P (S16_A1 | S16_A2 | S16_B | S16_E | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 178 #define C16_Q (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_L)
wim 0:d93c23711ca8 179 #define C16_R (S16_A1 | S16_A2 | S16_B | S16_E | S16_F | S16_G1 | S16_G2 | S16_L | S16_S)
wim 0:d93c23711ca8 180 #define C16_S (S16_A1 | S16_A2 | S16_C | S16_D1 | S16_D2 | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 181 #define C16_T (S16_A1 | S16_A2 | S16_J | S16_M | S16_S)
wim 0:d93c23711ca8 182 #define C16_U (S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F)
wim 0:d93c23711ca8 183 #define C16_V (S16_E | S16_F | S16_N | S16_K | S16_S)
wim 0:d93c23711ca8 184 #define C16_W (S16_B | S16_C | S16_E | S16_F | S16_L | S16_N | S16_S)
wim 0:d93c23711ca8 185 #define C16_X (S16_H | S16_K | S16_L | S16_N | S16_S)
wim 0:d93c23711ca8 186 //#define C16_Y (S16_H | S16_K | S16_M | S16_S) // Not correct when J and M are linked
wim 0:d93c23711ca8 187 #define C16_Y (S16_B | S16_C | S16_D1 | S16_D2 | S16_F | S16_G1 | S16_G2 | S16_S)
wim 0:d93c23711ca8 188 #define C16_Z (S16_A1 | S16_A2 | S16_D1 | S16_D2 | S16_K | S16_N | S16_S)
wim 0:d93c23711ca8 189 //91 0x5B
wim 0:d93c23711ca8 190 #define C16_SBL (S16_A1 | S16_D1 | S16_E | S16_F) // [
wim 0:d93c23711ca8 191 #define C16_LS (S16_H | S16_L | S16_S) // left slash
wim 0:d93c23711ca8 192 #define C16_SBR (S16_A2 | S16_B | S16_C | S16_D2) // ]
wim 0:d93c23711ca8 193 #define C16_PWR (S16_L | S16_N | S16_S) // ^
wim 0:d93c23711ca8 194 #define C16_UDS (S16_D1 | S16_D2) // _
wim 0:d93c23711ca8 195 #define C16_DSH (S16_H) // `
wim 0:d93c23711ca8 196 //97 0x61
wim 0:d93c23711ca8 197 // a...z No defines provided. Just use the Upper case characters again
wim 0:d93c23711ca8 198 //122
wim 0:d93c23711ca8 199
wim 0:d93c23711ca8 200 //123 0x7B
wim 0:d93c23711ca8 201 #define C16_CBL (S16_G1 | S16_J | S16_M | S16_S) // {
wim 0:d93c23711ca8 202 #define C16_OR (S16_J | S16_M | S16_S) // |
wim 0:d93c23711ca8 203 #define C16_CBR (S16_G2 | S16_J | S16_M | S16_S) // }
wim 0:d93c23711ca8 204 #define C16_TLD (S16_B | S16_E | S16_G1 | S16_G2 | S16_S) // ~
wim 0:d93c23711ca8 205 #define C16_DEL (0x0000)
wim 0:d93c23711ca8 206
wim 0:d93c23711ca8 207 //User Defined Characters (some examples)
wim 0:d93c23711ca8 208 #define UDC16_SANDHR (S16_A1 | S16_A2 | S16_D1 | S16_D2 | S16_H | S16_K | S16_L | S16_N | S16_S) //Sandhour
wim 0:d93c23711ca8 209 #define UDC16_DGR (S16_A | S16_B | S16_F | S16_G) // degrees
wim 0:d93c23711ca8 210
wim 0:d93c23711ca8 211 #if(0)
wim 0:d93c23711ca8 212 #define UDC16_WHEEL0 (S16_G1 | S16_G2 | S16_S) // -
wim 0:d93c23711ca8 213 #define UDC16_WHEEL1 (S16_H | S16_L | S16_S) /* \ */
wim 0:d93c23711ca8 214 #define UDC16_WHEEL2 (S16_J | S16_M | S16_S) // |
wim 0:d93c23711ca8 215 #define UDC16_WHEEL3 (S16_K | S16_N | S16_S) // /
wim 0:d93c23711ca8 216 #define UDC16_WHEEL4 (S16_G1 | S16_G2 | S16_S) // -
wim 0:d93c23711ca8 217 #define UDC16_WHEEL5 (S16_H | S16_L | S16_S) /* \ */
wim 0:d93c23711ca8 218 #define UDC16_WHEEL6 (S16_J | S16_M | S16_S) // |
wim 0:d93c23711ca8 219 #define UDC16_WHEEL7 (S16_K | S16_N | S16_S) // /
wim 0:d93c23711ca8 220 #else
wim 0:d93c23711ca8 221 #define UDC16_WHEEL0 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_G1 | S16_G2 | S16_S) // -
wim 0:d93c23711ca8 222 #define UDC16_WHEEL1 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_H | S16_L | S16_S) /* \ */
wim 0:d93c23711ca8 223 #define UDC16_WHEEL2 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_J | S16_M | S16_S) // |
wim 0:d93c23711ca8 224 #define UDC16_WHEEL3 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_K | S16_N | S16_S) // /
wim 0:d93c23711ca8 225 #define UDC16_WHEEL4 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_G1 | S16_G2 | S16_S) // -
wim 0:d93c23711ca8 226 #define UDC16_WHEEL5 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_H | S16_L | S16_S) /* \ */
wim 0:d93c23711ca8 227 #define UDC16_WHEEL6 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_J | S16_M | S16_S) // |
wim 0:d93c23711ca8 228 #define UDC16_WHEEL7 (S16_A1 | S16_A2 | S16_B | S16_C | S16_D1 | S16_D2 | S16_E | S16_F | S16_K | S16_N | S16_S) // /
wim 0:d93c23711ca8 229 #endif
wim 0:d93c23711ca8 230
wim 0:d93c23711ca8 231 // Font data selection for transmission to PT6311 memory
wim 0:d93c23711ca8 232 #define LO(x) ( x & 0xFF)
wim 0:d93c23711ca8 233 #define MD(x) ((x >> 8) & 0xFF)
wim 0:d93c23711ca8 234 #define HI(x) ((x >> 16) & 0xFF)
wim 0:d93c23711ca8 235
wim 0:d93c23711ca8 236 // ASCII Font definition table
wim 0:d93c23711ca8 237 //
wim 0:d93c23711ca8 238 #define FONT_16S_START 0x20
wim 0:d93c23711ca8 239 #define FONT_16S_END 0x7F
wim 0:d93c23711ca8 240 //#define FONT_16S16_LR_CHARS (FONT_16S16_END - FONT_16S16_START + 1)
wim 0:d93c23711ca8 241 extern const short FONT_16S[];
wim 0:d93c23711ca8 242
wim 0:d93c23711ca8 243
wim 0:d93c23711ca8 244 // Wheel animation definition table
wim 0:d93c23711ca8 245 extern const int WHEEL_ANI[];
wim 0:d93c23711ca8 246 #endif