1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2007 by Jens Arnold
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
22 /* target dependent - to be adjusted for other charcell targets */
23 #define HW_PATTERN_SIZE 7 /* number of bytes per pattern */
24 #define MAX_HW_PATTERNS 8 /* max. number of user-definable hw patterns */
27 unsigned char hw_char
;
28 unsigned char subst_char
;
37 /* map unicode characters to hardware or extended lcd characters */
41 /* 0x0000..0x7fff: fixed extended characters
42 * 0x8000..0xffff: variable extended characters
43 * Dontcare if priority == 0 */
44 unsigned char priority
;
45 unsigned char hw_char
; /* direct or substitute */
48 /* track usage of user-definable characters */
52 unsigned char priority
;
53 unsigned char pattern
[HW_PATTERN_SIZE
];
56 extern int lcd_pattern_count
; /* actual number of user-definable hw patterns */
58 extern unsigned char lcd_charbuffer
[LCD_HEIGHT
][LCD_WIDTH
];
59 extern struct pattern_info lcd_patterns
[MAX_HW_PATTERNS
];
60 extern struct cursor_info lcd_cursor
;
62 extern const struct xchar_info
*xchar_info
;
63 extern int xchar_info_size
; /* number of entries */
64 extern const unsigned char xfont_fixed
[][HW_PATTERN_SIZE
];
66 void lcd_charset_init(void);