Code to interface mbed to a Nokia 3310 LCD using the Nokia 3310 LCD shield from nuelectronics. Includes joystick interface and demo.

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers N3310Fonts.h Source File

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