/* 15 Segment Defines * * Generated by char_compiler.py * on Tue Dec 24 00:47:33 2002 * * Copyright (c) 2002, 2003 Bruce Kroeze * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * --------------------------------- * * 15 Segments Lettering * a * ------- * [\ i: /] * f[ \ : / ]b * [ n\:/j ] * g--- ---h * [ m/:\k ] * e[ / : \ ]c * [/ l: \] * ------- o * d * --------------------------------- */ // SEGMENT LETTERS // Segment: A Hex val: 0x0001 #DEFINE SEG15A 0b0000000000000001 // Segment: B Hex val: 0x0002 #DEFINE SEG15B 0b0000000000000010 // Segment: C Hex val: 0x0004 #DEFINE SEG15C 0b0000000000000100 // Segment: D Hex val: 0x0008 #DEFINE SEG15D 0b0000000000001000 // Segment: E Hex val: 0x0010 #DEFINE SEG15E 0b0000000000010000 // Segment: F Hex val: 0x0020 #DEFINE SEG15F 0b0000000000100000 // Segment: G Hex val: 0x0040 #DEFINE SEG15G 0b0000000001000000 // Segment: H Hex val: 0x0080 #DEFINE SEG15H 0b0000000010000000 // Segment: I Hex val: 0x0100 #DEFINE SEG15I 0b0000000100000000 // Segment: J Hex val: 0x0200 #DEFINE SEG15J 0b0000001000000000 // Segment: K Hex val: 0x0400 #DEFINE SEG15K 0b0000010000000000 // Segment: L Hex val: 0x0800 #DEFINE SEG15L 0b0000100000000000 // Segment: M Hex val: 0x1000 #DEFINE SEG15M 0b0001000000000000 // Segment: N Hex val: 0x2000 #DEFINE SEG15N 0b0010000000000000 // Segment: O Hex val: 0x4000 #DEFINE SEG15O 0b0100000000000000 // CHARACTER SHAPES /* Character: SPACE * * * * * * Hex val: 0x0000 */ #DEFINE SEG15_SPACE 0b0000000000000000 /* Character: EXCLAMATION * * ] * * ] * . * * Hex val: 0x4006 */ #DEFINE SEG15_EXCLAMATION 0b0100000000000110 /* Character: QUOTE * * [ | * * * * * Hex val: 0x0120 */ #DEFINE SEG15_QUOTE 0b0000000100100000 /* Character: ALL * --- * [\|/] * --- * [/|\] * --- * * Hex val: 0x3FFF */ #DEFINE SEG15_ALL 0b0011111111111111 /* Character: DOLLAR * --- * [ | * --- * | ] * --- * * Hex val: 0x09ED */ #DEFINE SEG15_DOLLAR 0b0000100111101101 /* Character: PERCENT * --- * [ / * * / ] * --- * * Hex val: 0x122D */ #DEFINE SEG15_PERCENT 0b0001001000101101 /* Character: AMPERSAND * --- * \ ] * --- * [ \ * --- * * Hex val: 0x24DB */ #DEFINE SEG15_AMPERSAND 0b0010010011011011 /* Character: SINGLEQUOTE * * | * * * * Hex val: 0x0100 */ #DEFINE SEG15_SINGLEQUOTE 0b0000000100000000 /* Character: L_PAREN * --- * [ * * [ * * * Hex val: 0x0031 */ #DEFINE SEG15_L_PAREN 0b0000000000110001 /* Character: R_PAREN * --- * ] * * ] * * * Hex val: 0x0007 */ #DEFINE SEG15_R_PAREN 0b0000000000000111 /* Character: ASTERISK * * \|/ * --- * /|\ * * * Hex val: 0x3FC0 */ #DEFINE SEG15_ASTERISK 0b0011111111000000 /* Character: PLUS * * | * --- * | * * * Hex val: 0x09C0 */ #DEFINE SEG15_PLUS 0b0000100111000000 /* Character: COMMA * * * * / * * * Hex val: 0x1000 */ #DEFINE SEG15_COMMA 0b0001000000000000 /* Character: MINUS * * * --- * * * * Hex val: 0x00C0 */ #DEFINE SEG15_MINUS 0b0000000011000000 /* Character: PERIOD * * * * * . * * Hex val: 0x4000 */ #DEFINE SEG15_PERIOD 0b0100000000000000 /* Character: SLASH * * / * * / * * * Hex val: 0x1200 */ #DEFINE SEG15_SLASH 0b0001001000000000 /* Character: 0 * --- * [ /] * * [/ ] * --- * * Hex val: 0x123F */ #DEFINE SEG15_0 0b0001001000111111 /* Character: 1 * * | * * | * * * Hex val: 0x0900 */ #DEFINE SEG15_1 0b0000100100000000 /* Character: 2 * --- * ] * --- * [ * --- * * Hex val: 0x00DB */ #DEFINE SEG15_2 0b0000000011011011 /* Character: 3 * --- * ] * - * ] * --- * * Hex val: 0x008F */ #DEFINE SEG15_3 0b0000000010001111 /* Character: 4 * * [ ] * --- * ] * * * Hex val: 0x00E6 */ #DEFINE SEG15_4 0b0000000011100110 /* Character: 5 * --- * [ * - * \ * --- * * Hex val: 0x0469 */ #DEFINE SEG15_5 0b0000010001101001 /* Character: 6 * --- * [ * --- * [ ] * --- * * Hex val: 0x00FD */ #DEFINE SEG15_6 0b0000000011111101 /* Character: 7 * --- * / * * / * * * Hex val: 0x1201 */ #DEFINE SEG15_7 0b0001001000000001 /* Character: 8 * --- * [ ] * --- * [ ] * --- * * Hex val: 0x00FF */ #DEFINE SEG15_8 0b0000000011111111 /* Character: 9 * --- * [ ] * --- * ] * * * Hex val: 0x00E7 */ #DEFINE SEG15_9 0b0000000011100111 /* Character: UPARROW * * * * /|\ * * Hex val: 0x1C00 */ #DEFINE SEG15_UPARROW 0b0001110000000000 /* Character: DOWNARROW * * \|/ * * * * * Hex val: 0x2300 */ #DEFINE SEG15_DOWNARROW 0b0010001100000000 /* Character: LESS * * / * * \ * * * Hex val: 0x0600 */ #DEFINE SEG15_LESS 0b0000011000000000 /* Character: EQUAL * * * --- * * --- * * Hex val: 0x00C8 */ #DEFINE SEG15_EQUAL 0b0000000011001000 /* Character: GREATER * * \ * * / * * * Hex val: 0x3000 */ #DEFINE SEG15_GREATER 0b0011000000000000 /* Character: QUESTION * --- * [ ] * - * | * * * Hex val: 0x08A3 */ #DEFINE SEG15_QUESTION 0b0000100010100011 /* Character: AT * --- * [ | ] * - * [ * --- * * Hex val: 0x01BB */ #DEFINE SEG15_AT 0b0000000110111011 /* Character: A * --- * [ ] * --- * [ ] * * * Hex val: 0x00F7 */ #DEFINE SEG15_A 0b0000000011110111 /* Character: B * --- * [ ] * - * [ ] * --- * * Hex val: 0x00BF */ #DEFINE SEG15_B 0b0000000010111111 /* Character: C * --- * [ * * [ * --- * * Hex val: 0x0039 */ #DEFINE SEG15_C 0b0000000000111001 /* Character: D * * ] * --- * [ ] * --- * * Hex val: 0x00DE */ #DEFINE SEG15_D 0b0000000011011110 /* Character: E * --- * [ * - * [ * --- * * Hex val: 0x0079 */ #DEFINE SEG15_E 0b0000000001111001 /* Character: F * --- * [ * - * [ * * * Hex val: 0x0071 */ #DEFINE SEG15_F 0b0000000001110001 /* Character: G * --- * [ * - * [ ] * --- * * Hex val: 0x00BD */ #DEFINE SEG15_G 0b0000000010111101 /* Character: H * * [ ] * --- * [ ] * * * Hex val: 0x00F6 */ #DEFINE SEG15_H 0b0000000011110110 /* Character: I * --- * | * * | * --- * * Hex val: 0x0909 */ #DEFINE SEG15_I 0b0000100100001001 /* Character: J * * ] * * [ ] * --- * * Hex val: 0x001E */ #DEFINE SEG15_J 0b0000000000011110 /* Character: K * * [ / * - * [ \ * * * Hex val: 0x0670 */ #DEFINE SEG15_K 0b0000011001110000 /* Character: L * * [ * * [ * --- * * Hex val: 0x0038 */ #DEFINE SEG15_L 0b0000000000111000 /* Character: M * * [\ /] * * [ ] * * * Hex val: 0x2236 */ #DEFINE SEG15_M 0b0010001000110110 /* Character: N * * [\ ] * * [ \] * * * Hex val: 0x2436 */ #DEFINE SEG15_N 0b0010010000110110 /* Character: O * --- * [ ] * * [ ] * --- * * Hex val: 0x003F */ #DEFINE SEG15_O 0b0000000000111111 /* Character: P * --- * [ ] * --- * [ * * Hex val: 0x00F3 */ #DEFINE SEG15_P 0b0000000011110011 /* Character: Q * --- * [ ] * * [ \] * --- * * Hex val: 0x043F */ #DEFINE SEG15_Q 0b0000010000111111 /* Character: R * --- * [ ] * --- * [ \ * * * Hex val: 0x04F3 */ #DEFINE SEG15_R 0b0000010011110011 /* Character: S * --- * [ * --- * ] * --- * * Hex val: 0x00ED */ #DEFINE SEG15_S 0b0000000011101101 /* Character: T * --- * | * * | * * * Hex val: 0x0901 */ #DEFINE SEG15_T 0b0000100100000001 /* Character: U * * [ ] * * [ ] * --- * * Hex val: 0x003E */ #DEFINE SEG15_U 0b0000000000111110 /* Character: V * * [ / * * [/ * * * Hex val: 0x1230 */ #DEFINE SEG15_V 0b0001001000110000 /* Character: W * * [ ] * * [/ \] * * * Hex val: 0x1436 */ #DEFINE SEG15_W 0b0001010000110110 /* Character: X * * \ / * * / \ * * * Hex val: 0x3600 */ #DEFINE SEG15_X 0b0011011000000000 /* Character: Y * * \ / * * | * * * Hex val: 0x2A00 */ #DEFINE SEG15_Y 0b0010101000000000 /* Character: Z * --- * / * * / * --- * * Hex val: 0x1209 */ #DEFINE SEG15_Z 0b0001001000001001 /* Character: L_BRACKET * * [ * - * * * * Hex val: 0x0060 */ #DEFINE SEG15_L_BRACKET 0b0000000001100000 /* Character: BACKSLASH * * \ * * \ * * * Hex val: 0x2400 */ #DEFINE SEG15_BACKSLASH 0b0010010000000000 /* Character: R_BRACKET * * ] * - * * * * Hex val: 0x0082 */ #DEFINE SEG15_R_BRACKET 0b0000000010000010 /* Character: CARAT * * / \ * * * * * Hex val: 0x2200 */ #DEFINE SEG15_CARAT 0b0010001000000000 /* Character: UNDERSCORE * * * * * --- * * Hex val: 0x0008 */ #DEFINE SEG15_UNDERSCORE 0b0000000000001000 /* Character: TIC * * \ * * * * * Hex val: 0x2000 */ #DEFINE SEG15_TIC 0b0010000000000000 /* Character: L_BRACE * * / * - * \ * * * Hex val: 0x0640 */ #DEFINE SEG15_L_BRACE 0b0000011001000000 /* Character: PIPE * * | * * | * * * Hex val: 0x0900 */ #DEFINE SEG15_PIPE 0b0000100100000000 /* Character: R_BRACE * * \ * - * / * * * Hex val: 0x3080 */ #DEFINE SEG15_R_BRACE 0b0011000010000000 /* Character: TILDE * * / * --- * / * * * Hex val: 0x12C0 */ #DEFINE SEG15_TILDE 0b0001001011000000 const int16 SEG15_ASCII[] = {SEG15_SPACE, SEG15_EXCLAMATION, SEG15_QUOTE, SEG15_ALL, SEG15_DOLLAR, SEG15_PERCENT, SEG15_AMPERSAND, SEG15_SINGLEQUOTE, SEG15_L_PAREN, SEG15_R_PAREN, SEG15_ASTERISK, SEG15_PLUS, SEG15_COMMA, SEG15_MINUS, SEG15_PERIOD, SEG15_SLASH, SEG15_0, SEG15_1, SEG15_2, SEG15_3, SEG15_4, SEG15_5, SEG15_6, SEG15_7, SEG15_8, SEG15_9, SEG15_UPARROW, SEG15_DOWNARROW, SEG15_LESS, SEG15_EQUAL, SEG15_GREATER, SEG15_QUESTION, SEG15_AT, SEG15_A, SEG15_B, SEG15_C, SEG15_D, SEG15_E, SEG15_F, SEG15_G, SEG15_H, SEG15_I, SEG15_J, SEG15_K, SEG15_L, SEG15_M, SEG15_N, SEG15_O, SEG15_P, SEG15_Q, SEG15_R, SEG15_S, SEG15_T, SEG15_U, SEG15_V, SEG15_W, SEG15_X, SEG15_Y, SEG15_Z, SEG15_L_BRACKET, SEG15_BACKSLASH, SEG15_R_BRACKET, SEG15_CARAT, SEG15_UNDERSCORE, SEG15_TIC, SEG15_A, SEG15_B, SEG15_C, SEG15_D, SEG15_E, SEG15_F, SEG15_G, SEG15_H, SEG15_I, SEG15_J, SEG15_K, SEG15_L, SEG15_M, SEG15_N, SEG15_O, SEG15_P, SEG15_Q, SEG15_R, SEG15_S, SEG15_T, SEG15_U, SEG15_V, SEG15_W, SEG15_X, SEG15_Y, SEG15_Z, SEG15_L_BRACE, SEG15_PIPE, SEG15_R_BRACE, SEG15_TILDE}; // Get the 16 bit value of the segments to light // for character "ch" int16 get_15seg(char ch) { if (ch > 31 && ch < 127) { ch -= 32; return SEG15_ASCII[ch]; } else { return SEG15_SPACE; } }