Library for Princeton PT6318 VFD controller Initial version for KUH8300.

Committer:
wim
Date:
Sun Jun 19 13:27:07 2016 +0000
Revision:
1:a7a518dbca96
Parent:
0:e5741b4e6a1a
Library for Princeton PT6318 VFD controller; Initial version for KUH8300.

Who changed what in which revision?

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