Code to interface mbed to a Nokia 3310 LCD using the Nokia 3310 LCD shield from nuelectronics. Includes joystick interface and demo.
N3310Fonts.h
00001 /* 00002 * N3310LCD. A program to interface mbed with the nuelectronics 00003 * Nokia 3310 LCD shield from www.nuelectronics.com. Ported from 00004 * the nuelectronics Arduino code. 00005 * 00006 * Copyright (C) <2009> Petras Saduikis <petras@petras.co.uk> 00007 * 00008 * This file is part of N3310LCD. 00009 * 00010 * N3310LCD is free software: you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation, either version 3 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * N3310LCD is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU General Public License 00021 * along with N3310LCD. If not, see <http://www.gnu.org/licenses/>. 00022 */ 00023 00024 #ifndef SNATCH59_N3310FONTS_H 00025 #define SNATCH59_N3310FONTS_H 00026 00027 // 6 x 8 font 00028 // 1 pixel space at left and bottom 00029 // index = ASCII - 32 00030 00031 unsigned char font6_8[][6] = 00032 { 00033 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp 00034 { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 }, // ! 00035 { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 }, // " 00036 { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // # 00037 { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $ 00038 { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 }, // % 00039 { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 }, // & 00040 { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 }, // ' 00041 { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 }, // ( 00042 { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 }, // ) 00043 { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 }, // * 00044 { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 }, // + 00045 { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 }, // , 00046 { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 }, // - 00047 { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 }, // . 00048 { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 }, // / 00049 { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0 00050 { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1 00051 { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2 00052 { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3 00053 { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4 00054 { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5 00055 { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6 00056 { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7 00057 { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8 00058 { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9 00059 { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 }, // : 00060 { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 }, // ; 00061 { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 }, // < 00062 { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 }, // = 00063 { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 }, // > 00064 { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 }, // ? 00065 { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E }, // @ 00066 { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C }, // A 00067 { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B 00068 { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C 00069 { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D 00070 { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E 00071 { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F 00072 { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G 00073 { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H 00074 { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I 00075 { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J 00076 { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K 00077 { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L 00078 { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M 00079 { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N 00080 { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O 00081 { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P 00082 { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q 00083 { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R 00084 { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 }, // S 00085 { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T 00086 { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U 00087 { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V 00088 { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W 00089 { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 }, // X 00090 { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y 00091 { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z 00092 { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [ 00093 { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55 00094 { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ] 00095 { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^ 00096 { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 }, // _ 00097 { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 }, // ' 00098 { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 }, // a 00099 { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b 00100 { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 }, // c 00101 { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F }, // d 00102 { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 }, // e 00103 { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f 00104 { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C }, // g 00105 { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h 00106 { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i 00107 { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 }, // j 00108 { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k 00109 { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l 00110 { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m 00111 { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n 00112 { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 }, // o 00113 { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 }, // p 00114 { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC }, // q 00115 { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r 00116 { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 }, // s 00117 { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t 00118 { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u 00119 { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v 00120 { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w 00121 { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 }, // x 00122 { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C }, // y 00123 { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 }, // z 00124 { 0x00,0x00, 0x06, 0x09, 0x09, 0x06 } // horiz lines 00125 }; 00126 00127 00128 //******* VERY LARGE FONTS ********** 00129 //used here for displaying numbers 0 - 9 and '+', '-', '.' 00130 00131 unsigned char big_number[13][3][16] = 00132 { 00133 0,128,192,224,224,96,224,224, //'0' 00134 192,128,0,0,0,0,0,0 00135 , 00136 112,255,255,1,0,0,0,0, 00137 255,255,254,0,0,0,0,0 00138 , 00139 0,15,31,60,56,48,56,56, 00140 31,15,3,0,0,0,0,0 00141 , 00142 00143 0,0,0,0,128,224,224,0, //'1' 00144 0,0,0,0,0,0,0,0 00145 , 00146 0,0,3,3,3,255,255,0, 00147 0,0,0,0,0,0,0,0 00148 , 00149 0,0,56,56,56,63,63,56, 00150 56,56,0,0,0,0,0,0 00151 , 00152 00153 0,192,192,224,96,96,224,224, //'2' 00154 192,128,0,0,0,0,0,0 00155 , 00156 0,1,0,0,128,192,224,249, 00157 63,31,0,0,0,0,0,0 00158 , 00159 0,60,62,63,63,59,57,56, 00160 56,56,56,0,0,0,0,0 00161 , 00162 00163 0,192,224,224,96,96,224,224, //'3' 00164 192,192,0,0,0,0,0,0 00165 , 00166 0,1,0,0,48,48,56,125, 00167 239,207,0,0,0,0,0,0 00168 , 00169 0,28,56,56,48,48,56,60, 00170 31,15,1,0,0,0,0,0 00171 , 00172 00173 0,0,0,0,0,128,192,224, //'4' 00174 224,0,0,0,0,0,0,0 00175 , 00176 224,240,248,222,207,199,193,255, 00177 255,192,192,0,0,0,0,0 00178 , 00179 0,0,0,0,0,0,0,63, 00180 63,0,0,0,0,0,0,0 00181 , 00182 00183 0,224,224,224,224,224,224,224, //'5' 00184 224,224,224,0,0,0,0,0 00185 , 00186 0,63,63,63,56,56,48,112, 00187 240,224,0,0,0,0,0,0 00188 , 00189 0,28,56,56,48,48,56,60, 00190 31,15,1,0,0,0,0,0 00191 , 00192 00193 0,0,128,192,192,224,96,96, //'6' 00194 224,224,0,0,0,0,0,0 00195 , 00196 224,254,255,55,57,24,24,56, 00197 240,240,192,0,0,0,0,0 00198 , 00199 0,15,31,28,56,48,48,56, 00200 31,15,7,0,0,0,0,0 00201 , 00202 00203 0,224,224,224,224,224,224,224, //'7' 00204 224,224,224,0,0,0,0,0 00205 , 00206 0,0,0,0,128,224,248,126, 00207 31,7,1,0,0,0,0,0 00208 , 00209 0,0,56,62,31,7,1,0, 00210 0,0,0,0,0,0,0,0 00211 , 00212 00213 0,128,192,224,224,96,96,224, //'8' 00214 192,192,0,0,0,0,0,0 00215 , 00216 0,207,255,127,56,48,112,112, 00217 255,239,199,0,0,0,0,0 00218 , 00219 3,15,31,60,56,48,48,56, 00220 31,31,15,0,0,0,0,0 00221 , 00222 00223 0,128,192,224,224,96,224,224, //'9' 00224 192,128,0,0,0,0,0,0 00225 , 00226 12,63,127,241,224,192,192,225, 00227 255,255,254,0,0,0,0,0 00228 , 00229 0,0,56,48,48,56,56,30, 00230 15,7,0,0,0,0,0,0 00231 , 00232 00233 00234 0,0,0,0,0,0,0,0, //'.' 00235 0,0,0,0,0,0,0,0 00236 , 00237 0,0,0,0,0,0,0,0, 00238 0,0,0,0,0,0,0,0 00239 , 00240 60,60,60,0,0,0,0,0, 00241 0,0,0,0,0,0,0,0 00242 , 00243 00244 0,0,0,0,0,0,0,0, //'+' 00245 0,0,0,0,0,0,0,0 00246 , 00247 0,0,64,64,64,64,64,254, 00248 254,64,64,64,64,64,0,0 00249 , 00250 0,0,0,0,0,0,0,15, 00251 15,0,0,0,0,0,0,0 00252 , 00253 00254 0,0,0,0,0,0,0,0, //'-' 00255 0,0,0,0,0,0,0,0 00256 , 00257 0,64,64,64,64,64,64,0, 00258 0,0,0,0,0,0,0,0 00259 , 00260 0,0,0,0,0,0,0,0, 00261 0,0,0,0,0,0,0,0 00262 }; 00263 00264 #endif
Generated on Thu Jul 14 2022 15:11:34 by 1.7.2