stm: Expose LCD font API in ao_lcd_font.h
[fw/altos] / src / stm / ao_lcd_font.h
index 08adc9ab8c89f4fa07b86288216f052dbdd3db8c..89c563cdb3c1b357f5e3ccfd380cdef4a14f8326 100644 (file)
-       [0] = 0x0000,
 /*
-CHAR 32 ' '
-              
-              
-              
-              
-              
-              
-              
-*/
+ * Copyright © 2019 Keith Packard <keithp@keithp.com>
+ *
+ * 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.
+ */
 
-       [1] = 0x0102,
-/*
-CHAR 33 '!'
-              
-       |      
-       |      
-              
-       |      
-       |      
-              
-*/
-
-       [2] = 0x000a,
-/*
-CHAR 34 '"'
-              
-       |  |   
-       |  |   
-              
-              
-              
-              
-*/
-
-       [3] = 0x05e8,
-/*
-CHAR 35 '#'
-              
-          |  |
-          |  |
-        -- -- 
-       |  |   
-       |  |   
-              
-*/
-
-       [4] = 0x34cb,
-/*
-CHAR 36 '$'
-        ----- 
-       |  |   
-       |  |   
-        -- -- 
-          |  |
-          |  |
-        ----- 
-*/
-
-       [5] = 0x1212,
-/*
-CHAR 37 '%'
-              
-       |    / 
-       |   /  
-              
-         /   |
-        /    |
-              
-*/
-
-       [6] = 0x2955,
-/*
-CHAR 38 '&'
-        ----- 
-        \   / 
-         \ /  
-        --    
-       |   \  
-       |    \ 
-        ----- 
-*/
-
-       [7] = 0x0008,
-/*
-CHAR 39 '''
-              
-          |   
-          |   
-              
-              
-              
-              
-*/
-
-       [8] = 0x2103,
-/*
-CHAR 40 '('
-        ----- 
-       |      
-       |      
-              
-       |      
-       |      
-        ----- 
-*/
-
-       [9] = 0x3021,
-/*
-CHAR 41 ')'
-        ----- 
-             |
-             |
-              
-             |
-             |
-        ----- 
-*/
-
-       [10] = 0x0e1c,
-/*
-CHAR 42 '*'
-              
-        \ | / 
-         \|/  
-              
-         /|\  
-        / | \ 
-              
-*/
-
-       [11] = 0x04c8,
-/*
-CHAR 43 '+'
-              
-          |   
-          |   
-        -- -- 
-          |   
-          |   
-              
-*/
-
-       [12] = 0x0200,
-/*
-CHAR 44 ','
-              
-              
-              
-              
-         /    
-        /     
-              
-*/
-
-       [13] = 0x00c0,
-/*
-CHAR 45 '-'
-              
-              
-              
-        -- -- 
-              
-              
-              
-*/
-
-       [14] = 0x0800,
-/*
-CHAR 46 '.'
-              
-              
-              
-              
-           \  
-            \ 
-              
-*/
-
-       [15] = 0x0210,
-/*
-CHAR 47 '/'
-              
-            / 
-           /  
-              
-         /    
-        /     
-              
-*/
-
-       [16] = 0x3333,
-/*
-CHAR 48 '0'
-        ----- 
-       |    /|
-       |   / |
-              
-       | /   |
-       |/    |
-        ----- 
-*/
-
-       [17] = 0x1030,
-/*
-CHAR 49 '1'
-              
-            /|
-           / |
-              
-             |
-             |
-              
-*/
-
-       [18] = 0x21e1,
-/*
-CHAR 50 '2'
-        ----- 
-             |
-             |
-        -- -- 
-       |      
-       |      
-        ----- 
-*/
-
-       [19] = 0x30a1,
-/*
-CHAR 51 '3'
-        ----- 
-             |
-             |
-           -- 
-             |
-             |
-        ----- 
-*/
-
-       [20] = 0x10e2,
-/*
-CHAR 52 '4'
-              
-       |     |
-       |     |
-        -- -- 
-             |
-             |
-              
-*/
-
-       [21] = 0x30c3,
-/*
-CHAR 53 '5'
-        ----- 
-       |      
-       |      
-        -- -- 
-             |
-             |
-        ----- 
-*/
-
-       [22] = 0x31c3,
-/*
-CHAR 54 '6'
-        ----- 
-       |      
-       |      
-        -- -- 
-       |     |
-       |     |
-        ----- 
-*/
-
-       [23] = 0x0411,
-/*
-CHAR 55 '7'
-        ----- 
-            / 
-           /  
-              
-          |   
-          |   
-              
-*/
-
-       [24] = 0x31e3,
-/*
-CHAR 56 '8'
-        ----- 
-       |     |
-       |     |
-        -- -- 
-       |     |
-       |     |
-        ----- 
-*/
-
-       [25] = 0x10e3,
-/*
-CHAR 57 '9'
-        ----- 
-       |     |
-       |     |
-        -- -- 
-             |
-             |
-              
-*/
-
-       [26] = 0x0408,
-/*
-CHAR 58 ':'
-              
-          |   
-          |   
-              
-          |   
-          |   
-              
-*/
-
-       [27] = 0x0208,
-/*
-CHAR 59 ';'
-              
-          |   
-          |   
-              
-         /    
-        /     
-              
-*/
-
-       [28] = 0x0810,
-/*
-CHAR 60 '<'
-              
-            / 
-           /  
-              
-           \  
-            \ 
-              
-*/
-
-       [29] = 0x20c0,
-/*
-CHAR 61 '='
-              
-              
-              
-        -- -- 
-              
-              
-        ----- 
-*/
-
-       [30] = 0x0204,
-/*
-CHAR 62 '>'
-              
-        \     
-         \    
-              
-         /    
-        /     
-              
-*/
-
-       [31] = 0x0413,
-/*
-CHAR 63 '?'
-        ----- 
-       |    / 
-       |   /  
-              
-          |   
-          |   
-              
-*/
-
-       [32] = 0x39b3,
-/*
-CHAR 64 '@'
-        ----- 
-       |    /|
-       |   / |
-           -- 
-       |   \ |
-       |    \|
-        ----- 
-*/
-
-       [33] = 0x11e3,
-/*
-CHAR 65 'A'
-        ----- 
-       |     |
-       |     |
-        -- -- 
-       |     |
-       |     |
-              
-*/
-
-       [34] = 0x34a9,
-/*
-CHAR 66 'B'
-        ----- 
-          |  |
-          |  |
-           -- 
-          |  |
-          |  |
-        ----- 
-*/
-
-       [35] = 0x2103,
-/*
-CHAR 67 'C'
-        ----- 
-       |      
-       |      
-              
-       |      
-       |      
-        ----- 
-*/
-
-       [36] = 0x3429,
-/*
-CHAR 68 'D'
-        ----- 
-          |  |
-          |  |
-              
-          |  |
-          |  |
-        ----- 
-*/
-
-       [37] = 0x2143,
-/*
-CHAR 69 'E'
-        ----- 
-       |      
-       |      
-        --    
-       |      
-       |      
-        ----- 
-*/
-
-       [38] = 0x0143,
-/*
-CHAR 70 'F'
-        ----- 
-       |      
-       |      
-        --    
-       |      
-       |      
-              
-*/
-
-       [39] = 0x3183,
-/*
-CHAR 71 'G'
-        ----- 
-       |      
-       |      
-           -- 
-       |     |
-       |     |
-        ----- 
-*/
-
-       [40] = 0x11e2,
-/*
-CHAR 72 'H'
-              
-       |     |
-       |     |
-        -- -- 
-       |     |
-       |     |
-              
-*/
-
-       [41] = 0x2409,
-/*
-CHAR 73 'I'
-        ----- 
-          |   
-          |   
-              
-          |   
-          |   
-        ----- 
-*/
-
-       [42] = 0x3120,
-/*
-CHAR 74 'J'
-              
-             |
-             |
-              
-       |     |
-       |     |
-        ----- 
-*/
-
-       [43] = 0x0952,
-/*
-CHAR 75 'K'
-              
-       |    / 
-       |   /  
-        --    
-       |   \  
-       |    \ 
-              
-*/
-
-       [44] = 0x2102,
-/*
-CHAR 76 'L'
-              
-       |      
-       |      
-              
-       |      
-       |      
-        ----- 
-*/
-
-       [45] = 0x1136,
-/*
-CHAR 77 'M'
-              
-       |\   /|
-       | \ / |
-              
-       |     |
-       |     |
-              
-*/
-
-       [46] = 0x1926,
-/*
-CHAR 78 'N'
-              
-       |\    |
-       | \   |
-              
-       |   \ |
-       |    \|
-              
-*/
-
-       [47] = 0x3123,
-/*
-CHAR 79 'O'
-        ----- 
-       |     |
-       |     |
-              
-       |     |
-       |     |
-        ----- 
-*/
+#ifndef _AO_LCD_FONT_H_
+#define _AO_LCD_FONT_H_
 
-       [48] = 0x01e3,
-/*
-CHAR 80 'P'
-        ----- 
-       |     |
-       |     |
-        -- -- 
-       |      
-       |      
-              
-*/
-
-       [49] = 0x3923,
-/*
-CHAR 81 'Q'
-        ----- 
-       |     |
-       |     |
-              
-       |   \ |
-       |    \|
-        ----- 
-*/
-
-       [50] = 0x09e3,
-/*
-CHAR 82 'R'
-        ----- 
-       |     |
-       |     |
-        -- -- 
-       |   \  
-       |    \ 
-              
-*/
-
-       [51] = 0x3085,
-/*
-CHAR 83 'S'
-        ----- 
-        \     
-         \    
-           -- 
-             |
-             |
-        ----- 
-*/
-
-       [52] = 0x0409,
-/*
-CHAR 84 'T'
-        ----- 
-          |   
-          |   
-              
-          |   
-          |   
-              
-*/
-
-       [53] = 0x3122,
-/*
-CHAR 85 'U'
-              
-       |     |
-       |     |
-              
-       |     |
-       |     |
-        ----- 
-*/
-
-       [54] = 0x0312,
-/*
-CHAR 86 'V'
-              
-       |    / 
-       |   /  
-              
-       | /    
-       |/     
-              
-*/
-
-       [55] = 0x1b22,
-/*
-CHAR 87 'W'
-              
-       |     |
-       |     |
-              
-       | / \ |
-       |/   \|
-              
-*/
-
-       [56] = 0x0a14,
-/*
-CHAR 88 'X'
-              
-        \   / 
-         \ /  
-              
-         / \  
-        /   \ 
-              
-*/
-
-       [57] = 0x0414,
-/*
-CHAR 89 'Y'
-              
-        \   / 
-         \ /  
-              
-          |   
-          |   
-              
-*/
-
-       [58] = 0x2211,
-/*
-CHAR 90 'Z'
-        ----- 
-            / 
-           /  
-              
-         /    
-        /     
-        ----- 
-*/
+void
+ao_lcd_font_init(void);
 
-       [59] = 0x2103,
-/*
-CHAR 91 '['
-        ----- 
-       |      
-       |      
-              
-       |      
-       |      
-        ----- 
-*/
-
-       [60] = 0x0804,
-/*
-CHAR 92 '\'
-              
-        \     
-         \    
-              
-           \  
-            \ 
-              
-*/
+void
+ao_lcd_font_string(char *s);
 
-       [61] = 0x3021,
-/*
-CHAR 93 ']'
-        ----- 
-             |
-             |
-              
-             |
-             |
-        ----- 
-*/
-
-       [62] = 0x0023,
-/*
-CHAR 94 '^'
-        ----- 
-       |     |
-       |     |
-              
-              
-              
-              
-*/
-
-       [63] = 0x2000,
-/*
-CHAR 95 '_'
-              
-              
-              
-              
-              
-              
-        ----- 
-*/
-
-       [64] = 0x0004,
-/*
-CHAR 96 '`'
-              
-        \     
-         \    
-              
-              
-              
-              
-*/
-
-       [65] = 0x2540,
-/*
-CHAR 97 'a'
-              
-              
-              
-        --    
-       |  |   
-       |  |   
-        ----- 
-*/
-
-       [66] = 0x2942,
-/*
-CHAR 98 'b'
-              
-       |      
-       |      
-        --    
-       |   \  
-       |    \ 
-        ----- 
-*/
-
-       [67] = 0x21c0,
-/*
-CHAR 99 'c'
-              
-              
-              
-        -- -- 
-       |      
-       |      
-        ----- 
-*/
-
-       [68] = 0x32a0,
-/*
-CHAR 100 'd'
-              
-             |
-             |
-           -- 
-         /   |
-        /    |
-        ----- 
-*/
-
-       [69] = 0x2340,
-/*
-CHAR 101 'e'
-              
-              
-              
-        --    
-       | /    
-       |/     
-        ----- 
-*/
-
-       [70] = 0x0143,
-/*
-CHAR 102 'f'
-        ----- 
-       |      
-       |      
-        --    
-       |      
-       |      
-              
-*/
-
-       [71] = 0x10a5,
-/*
-CHAR 103 'g'
-        ----- 
-        \    |
-         \   |
-           -- 
-             |
-             |
-              
-*/
-
-       [72] = 0x11c2,
-/*
-CHAR 104 'h'
-              
-       |      
-       |      
-        -- -- 
-       |     |
-       |     |
-              
-*/
-
-       [73] = 0x0400,
-/*
-CHAR 105 'i'
-              
-              
-              
-              
-          |   
-          |   
-              
-*/
-
-       [74] = 0x3000,
-/*
-CHAR 106 'j'
-              
-              
-              
-              
-             |
-             |
-        ----- 
-*/
-
-       [75] = 0x0c88,
-/*
-CHAR 107 'k'
-              
-          |   
-          |   
-           -- 
-          |\  
-          | \ 
-              
-*/
-
-       [76] = 0x0408,
-/*
-CHAR 108 'l'
-              
-          |   
-          |   
-              
-          |   
-          |   
-              
-*/
-
-       [77] = 0x15c0,
-/*
-CHAR 109 'm'
-              
-              
-              
-        -- -- 
-       |  |  |
-       |  |  |
-              
-*/
-
-       [78] = 0x0940,
-/*
-CHAR 110 'n'
-              
-              
-              
-        --    
-       |   \  
-       |    \ 
-              
-*/
-
-       [79] = 0x31c0,
-/*
-CHAR 111 'o'
-              
-              
-              
-        -- -- 
-       |     |
-       |     |
-        ----- 
-*/
-
-       [80] = 0x0146,
-/*
-CHAR 112 'p'
-              
-       |\     
-       | \    
-        --    
-       |      
-       |      
-              
-*/
-
-       [81] = 0x10b0,
-/*
-CHAR 113 'q'
-              
-            /|
-           / |
-           -- 
-             |
-             |
-              
-*/
-
-       [82] = 0x0140,
-/*
-CHAR 114 'r'
-              
-              
-              
-        --    
-       |      
-       |      
-              
-*/
-
-       [83] = 0x2880,
-/*
-CHAR 115 's'
-              
-              
-              
-           -- 
-           \  
-            \ 
-        ----- 
-*/
-
-       [84] = 0x2142,
-/*
-CHAR 116 't'
-              
-       |      
-       |      
-        --    
-       |      
-       |      
-        ----- 
-*/
-
-       [85] = 0x3100,
-/*
-CHAR 117 'u'
-              
-              
-              
-              
-       |     |
-       |     |
-        ----- 
-*/
-
-       [86] = 0x0300,
-/*
-CHAR 118 'v'
-              
-              
-              
-              
-       | /    
-       |/     
-              
-*/
-
-       [87] = 0x1b00,
-/*
-CHAR 119 'w'
-              
-              
-              
-              
-       | / \ |
-       |/   \|
-              
-*/
-
-       [88] = 0x0a14,
-/*
-CHAR 120 'x'
-              
-        \   / 
-         \ /  
-              
-         / \  
-        /   \ 
-              
-*/
-
-       [89] = 0x3800,
-/*
-CHAR 121 'y'
-              
-              
-              
-              
-           \ |
-            \|
-        ----- 
-*/
-
-       [90] = 0x2240,
-/*
-CHAR 122 'z'
-              
-              
-              
-        --    
-         /    
-        /     
-        ----- 
-*/
-
-       [91] = 0x2245,
-/*
-CHAR 123 '{'
-        ----- 
-        \     
-         \    
-        --    
-         /    
-        /     
-        ----- 
-*/
-
-       [92] = 0x0408,
-/*
-CHAR 124 '|'
-              
-          |   
-          |   
-              
-          |   
-          |   
-              
-*/
-
-       [93] = 0x2891,
-/*
-CHAR 125 '}'
-        ----- 
-            / 
-           /  
-           -- 
-           \  
-            \ 
-        ----- 
-*/
-
-       [94] = 0x000e,
-/*
-CHAR 126 '~'
-              
-       |\ |   
-       | \|   
-              
-              
-              
-              
-*/
-
-       [95] = 0x3fff,
-/*
-CHAR 127 'DEL'
-        ----- 
-       |\ | /|
-       | \|/ |
-        -- -- 
-       | /|\ |
-       |/ | \|
-        ----- 
-*/
+void
+ao_lcd_font_char(uint8_t pos, char c, uint16_t flags);
 
+#endif /* _AO_LCD_FONT_H_ */