Revision 0:6468a28a7b7d, committed 2011-04-17
- Comitter:
- Wimpie
- Date:
- Sun Apr 17 18:03:24 2011 +0000
- Child:
- 1:ce391193b822
- Commit message:
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PCD8544LCD.cpp Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,602 @@
+/* mbed PCD8544 - Graphic Library for driving monochrome displays based on
+ * the PCD8544 48 x 84 pixels matrix LCD controller/driver
+ * used in Nokia 3310, 3315, 3330, 3350, 3410, 3210, 5110, 5120, 5130, 5160, 6110, 6150
+ *
+ * Copyright (c) 2011, Wim De Roeve
+ * partial port of the code found on http://serdisplib.sourceforge.net/ser/pcd8544.html#links
+ * and by Petras Saduikis <petras@petras.co.uk>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the updaSoftware, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "PCD8544LCD.h"
+
+#include "fonts/font_3x5.h"
+#include "fonts/font_5x7.h"
+#include "fonts/font_6x8.h"
+#include "fonts/font_8x8.h"
+#include "fonts/font_8x12.h"
+#include "fonts/font_16x20.h"
+#include "fonts/font_16x24.h"
+
+#include "DebugTrace.h"
+#include "sstream"
+
+DebugTrace pc_PCD8544(ON, TO_SERIAL);
+
+/*
+ PCD8544 from Philips Semiconductors is
+ 48 x 84 pixels monochrome matrix LCD controller/driver
+
+ generic for LPH7366, LPH7677, and LPH7779; no backlight
+
+ model name (of display) type used in cellphones
+ LPH 7366 2 Nokia 5110, 5120, 5130, 5160, 6110, 6150
+ LPH 7677 1 Nokia 3210
+ LPH 7779 1 Nokia 3310, 3315, 3330, 3350, 3410
+
+
+ +-------------------------+
+ | 1 2 3 4 5 6 7 8 |
+ | # # # # # # # # |
+ | ===#=#=#=#=#=#=#=#=== | Red 1 .. VDD - chip power supply +3.3V
+ +--=====================--+ Green 2 .. SCLK - serial clock line of LCD
+ | | Yellow 3 .. SI - serial data input of LCD
+ | | Gray 4 .. D/C - command/data switch
+ | rear view | Blue 5 .. /CS - active low chip select
+ | connector is visible | Black 6 .. GND - for VDD
+ | | 7 .. Vout - output of display-internal dc/dc converter
+ | LPH7779 | White 8 .. /RES - active low reset
+ | |
+ +-------------------------+
+
+*/
+
+PCD8544LCD::PCD8544LCD (PinName mosi, PinName miso, PinName sck,
+ PinName cs, PinName data_cmd, PinName reset):
+ _spi(mosi, miso, sck),
+ _cs(cs),
+ _dc(data_cmd),
+ _reset(reset) {
+
+ _cs = HIGH;
+ _reset = HIGH;
+
+ init();
+}
+
+void PCD8544LCD::init() {
+
+ _spi.format(8,0);
+ _spi.frequency(1000000);
+
+ /* reset lcd
+
+ After reset, the LCD driver has the following state:
+ - Power-down mode (bit PD = 1)
+ - Horizontal addressing (bit V = 0)
+ - normal instruction set (bit H = 0)
+ - Display blank (bit E = D = 0)
+ - Address counter X6 to X0 = 0; Y2 to Y0 = 0
+ - Temperature control mode (TC1 TC0 = 0)
+ - Bias system (BS2 to BS0 = 0)
+ - VLCD is equal to 0, the HV generator is switched off
+ (VOP6 to VOP0 = 0)
+ - After power-on, the RAM contents are undefined.
+ */
+
+ wait_ms(1);
+ _reset = LOW; // reset
+ wait_ms(1);
+ _reset = HIGH;
+
+ writeCmd(EXTENDEDSET); // folowing commands are extended ones
+ writeCmd(0xc8); // Set Voltage 0x80+value: set contrast
+ writeCmd(0x06); // set temp coefficient
+ writeCmd(0x13); // set BIAS mode 1:48
+ writeCmd(STANDARDSET); // STANDARDSET: following commands are standard ones
+
+ writeCmd(NORMAL_MODE);
+
+ _LoMark = LCD_CACHE_SIZE; // Reset watermark pointers.
+ _HiMark = 0;
+
+ cls();
+}
+
+void PCD8544LCD::writeCmd(BYTE data) {
+ _cs = LOW;
+ _dc = LOW;
+ _spi.write(data);
+ _cs = HIGH;
+}
+
+void PCD8544LCD::writeData(BYTE data) {
+ _cs = LOW;
+ _dc = HIGH;
+ _spi.write(data);
+ _cs = HIGH;
+}
+
+void PCD8544LCD::close() {
+ writeCmd(DISPLAYOFF);
+ _cs = HIGH;
+ _reset = HIGH;
+}
+
+// GRAPHICAL functions
+
+void PCD8544LCD::cls() {
+ for (int i = 0; i < LCD_CACHE_SIZE ; i++) {
+ _LcdCache[i]=0x00;
+ }
+ _LoMark = 0;
+ _HiMark = LCD_CACHE_SIZE - 1;
+ update();
+}
+
+void PCD8544LCD::update() {
+
+ if ( _LoMark < 0 )
+ _LoMark = 0;
+ else if ( _LoMark >= LCD_CACHE_SIZE )
+ _LoMark = LCD_CACHE_SIZE - 1;
+ if ( _HiMark < 0 )
+ _HiMark = 0;
+ else if ( _HiMark >= LCD_CACHE_SIZE )
+ _HiMark = LCD_CACHE_SIZE - 1;
+
+ writeCmd(SET_ADDRES_X | (_LoMark % LCD_X_RES));
+ writeCmd(SET_ADDRES_Y | (_LoMark / LCD_X_RES));
+
+ for (int i = _LoMark; i <= _HiMark; i++ ) {
+ writeData( _LcdCache[i]);
+ }
+ _LoMark = LCD_CACHE_SIZE - 1;
+ _HiMark = 0;
+}
+
+
+
+void PCD8544LCD::locate(BYTE x0, BYTE y0) {
+ _LcdCacheIdx = x0*LCD_BANKS + y0 * LCD_X_RES;
+}
+
+// Bitmap
+
+void PCD8544LCD::drawBitmap(BYTE x0, BYTE y0, BYTE* bitmap, BYTE bmpXSize, BYTE bmpYSize,BYTE fupdate) {
+ BYTE row;
+
+ if (0 == bmpYSize % 8)
+ row = bmpYSize/8;
+ else
+ row = bmpYSize/8 + 1;
+
+ _LoMark= 0;
+ _HiMark= LCD_CACHE_SIZE - 1;
+
+ for (BYTE n = 0; n < row; n++) {
+ locate(x0, y0);
+
+ for (BYTE i = 0; i < bmpXSize; i++) {
+ _LcdCache[_LcdCacheIdx+ i]=bitmap[i + (n * bmpXSize)];
+ }
+ y0++;
+ }
+ if (fupdate==TRUE)
+ update();
+}
+
+void PCD8544LCD::writeString(BYTE x0, BYTE y0, char* string, eFonts font,eDisplayMode mode,BYTE fupdate) {
+ locate(x0, y0);
+ chooseFont(font);
+
+ while (*string) {
+ writeChar(x0,y0,*string++,font, mode, FALSE);
+ x0+=_font_width; // width +1;
+ }
+ if (fupdate==TRUE)
+ update();
+}
+
+void PCD8544LCD::chooseFont(eFonts font) {
+
+ switch (font) {
+
+ case VERYSMALLFONT: {
+ _font_width = FONT3x5_WIDTH;
+ _font_height = FONT3x5_HEIGHT;
+ _font_start = FONT3x5_START;
+ _font_end = FONT3x5_END;
+
+ _pFont = (unsigned char*) font_3x5;
+
+ break;
+ }
+ case TINYFONT: {
+ _font_width = FONT5x7_WIDTH;
+ _font_height = FONT5x7_HEIGHT;
+ _font_start = FONT5x7_START;
+ _font_end = FONT5x7_END;
+
+ _pFont = (unsigned char*) font_5x7;
+
+ break;
+ }
+
+ case SMALLFONT: {
+ _font_width = FONT6x8_WIDTH;
+ _font_height = FONT6x8_HEIGHT;
+ _font_start = FONT6x8_START;
+ _font_end = FONT6x8_END;
+
+ _pFont = (unsigned char*) font_6x8;
+
+ break;
+ }
+ case NORMALFONT: {
+ _font_width = FONT8x8_WIDTH;
+ _font_height = FONT8x8_HEIGHT;
+ _font_start = FONT8x8_START;
+ _font_end = FONT8x8_END;
+
+ _pFont = (unsigned char*) font_8x8;
+
+ break;
+ }
+ case BIGFONT: {
+ _font_width = FONT8x12_WIDTH;
+ _font_height = FONT8x12_HEIGHT;
+ _font_start = FONT8x12_START;
+ _font_end = FONT8x12_END;
+
+ _pFont = (unsigned char*) font_8x12;
+
+ break;
+ }
+
+ case TIMENUMBERFONT: {
+ _font_width = FONT16x20_WIDTH;
+ _font_height = FONT16x20_HEIGHT;
+ _font_start = FONT16x20_START;
+ _font_end = FONT16x20_END;
+
+ _pFont = (unsigned char*) font_16x20;
+
+ break;
+ }
+
+ case BIGNUMBERFONT: {
+ _font_width = FONT16x24_WIDTH;
+ _font_height = FONT16x24_HEIGHT;
+ _font_start = FONT16x24_START;
+ _font_end = FONT16x24_END;
+
+ _pFont = (unsigned char*) font_16x24;
+
+ break;
+ }
+ }
+}
+
+void PCD8544LCD::writeChar(BYTE x0, BYTE y0, BYTE ch, eFonts font, eDisplayMode mode,BYTE fupdate) {
+ BYTE sendByte;
+
+ chooseFont(font);
+
+ if ((ch <= _font_start) || (ch > _font_end))
+ ch=_font_start;
+
+ ch -= _font_start;
+
+ for (int i = 0; i < _font_width; i++ ) {
+
+ sendByte = *(_pFont + ch*_font_width +i);
+ sendByte = ((mode == NORMAL)? sendByte:(sendByte ^ 0xff));
+
+ for (int j=0 ; j<_font_height; j++) {
+ if ((sendByte & 0x01) == 0x01) {
+ drawpixel(x0,y0+j,PIXEL_ON,FALSE);
+ } else {
+ drawpixel(x0,y0+j,PIXEL_OFF,FALSE);
+ }
+ sendByte=sendByte>>1;
+ }
+ x0++;
+ }
+ if (fupdate==TRUE)
+ update();
+}
+
+
+void PCD8544LCD::drawpixel(BYTE x0, BYTE y0, ePixelMode mode,BYTE fupdate) {
+ uint16_t index;
+ BYTE offset;
+ BYTE data;
+
+ if ( x0 > LCD_X_RES-1 ) return;
+ if ( y0 > LCD_Y_RES-1 ) return;
+
+ index = ((y0 / 8) * LCD_X_RES) + x0;
+ offset = y0 - ((y0 / 8) * 8);
+
+ data = _LcdCache[index];
+
+ if ( mode == PIXEL_OFF ) {
+ data &= (~(0x01 << offset));
+ } else if ( mode == PIXEL_ON ) {
+ data |= (0x01 << offset);
+ } else if ( mode == PIXEL_XOR ) {
+ data ^= (0x01 << offset);
+ }
+ _LcdCache[index] = data;
+
+ if ( index < _LoMark ) {
+ _LoMark = index;
+ }
+ if ( index > _HiMark ) {
+ _HiMark = index;
+ }
+ if (fupdate==TRUE)
+ update();
+}
+
+void PCD8544LCD::drawline(BYTE x0, BYTE y0, BYTE x1, BYTE y1, ePixelMode mode,BYTE fupdate) {
+ int dx, dy, stepx, stepy, fraction;
+
+ dy = y1 - y0;
+ dx = x1 - x0;
+ if ( dy < 0 ) {
+ dy = -dy;
+ stepy = -1;
+ } else {
+ stepy = 1;
+ }
+ if ( dx < 0 ) {
+ dx = -dx;
+ stepx = -1;
+ } else {
+ stepx = 1;
+ }
+ dx <<= 1;
+ dy <<= 1;
+
+ drawpixel( x0, y0, mode , FALSE);
+ if ( dx > dy ) {
+ fraction = dy - (dx >> 1);
+ while ( x0 != x1 ) {
+ if ( fraction >= 0 ) {
+ y0 += stepy;
+ fraction -= dx;
+ }
+ x0 += stepx;
+ fraction += dy;
+ drawpixel( x0, y0, mode , FALSE);
+ }
+ } else {
+ fraction = dx - (dy >> 1);
+ while ( y0 != y1 ) {
+ if ( fraction >= 0 ) {
+ x0 += stepx;
+ fraction -= dy;
+ }
+ y0 += stepy;
+ fraction += dx;
+ drawpixel( x0, y0, mode , FALSE);
+ }
+ }
+ if (fupdate==TRUE)
+ update();
+}
+
+void PCD8544LCD::drawrectangle(BYTE x0, BYTE y0, BYTE x1, BYTE y1, eFillMode fill, ePixelMode mode,BYTE fupdate) {
+ if (fill==1) {
+ BYTE i, xmin, xmax, ymin, ymax;
+ if (x0 < x1) { // Find x min and max
+ xmin = x0;
+ xmax = x1;
+ } else {
+ xmin = x1;
+ xmax = x0;
+ }
+ if (y0 < y1) { // Find the y min and max
+ ymin = y0;
+ ymax = y1;
+ } else {
+ ymin = y1;
+ ymax = y0;
+ }
+ for (; xmin <= xmax; ++xmin) {
+ for (i=ymin; i<=ymax; ++i) {
+ drawpixel(xmin, i, mode, FALSE);
+ }
+ }
+ } else {
+ drawline(x0, y0, x1, y0, mode, FALSE); // Draw the 4 sides
+ drawline(x0, y1, x1, y1, mode, FALSE);
+ drawline(x0, y0, x0, y1, mode, FALSE);
+ drawline(x1, y0, x1, y1, mode, FALSE);
+ }
+ if (fupdate==TRUE)
+ update();
+}
+
+void PCD8544LCD::drawprogressbar(BYTE x0, BYTE y0, BYTE w, BYTE h, BYTE percentage,BYTE fupdate) {
+ drawrectangle(x0,y0,x0+w,y0+h,FILL_OFF,PIXEL_ON, FALSE);
+ drawrectangle(x0+2,y0+2,x0+w-2,y0+h-2,FILL_ON,PIXEL_OFF, FALSE);
+ drawrectangle(x0+2,y0+2,x0+2+(percentage*(w-4)/100),y0+h-2,FILL_ON,PIXEL_ON, FALSE);
+ if (fupdate==TRUE)
+ update();
+}
+
+void PCD8544LCD::drawchart(BYTE x0, BYTE y0, BYTE w, BYTE h, BYTE unitx, BYTE unity,
+ eRasterMode rmode,signed char * val, int start, int count) {
+ BYTE miny,endy,maxy;
+
+ drawrectangle(x0,y0-h,x0+w,y0,FILL_OFF,PIXEL_ON,FALSE);
+
+ for (int i=0;i<h;i++) {
+ if ((i % unity) == 0) {
+ drawpixel(x0-2,y0-i,PIXEL_ON,FALSE);
+ drawpixel(x0+w+2,y0-i,PIXEL_ON,FALSE);
+
+ if (rmode==RASTER_ON) {
+ for (int r=0;r<w;r++) {
+ if ((r % 2) ==0)
+ drawpixel(x0+r,y0-i,PIXEL_ON,FALSE);
+ }
+ }
+ }
+ if ((i % 2) == 0) {
+ drawpixel(x0-1,y0-i,PIXEL_ON,FALSE);
+ drawpixel(x0+w+1,y0-i,PIXEL_ON,FALSE);
+ }
+ }
+
+ for (int i=0;i<w;i++) {
+ if ((i % unitx) == 0) {
+ drawpixel(x0+i,y0-1,PIXEL_ON,FALSE);
+
+ if (rmode==RASTER_ON) {
+ for (int r=0;r<h;r++) {
+ if ((r % 2) ==0)
+ drawpixel(x0+i,y0-r,PIXEL_ON,FALSE);
+ }
+ }
+ }
+ if ((i % 2) == 0) {
+ drawpixel(x0+i,y0+1,PIXEL_ON,FALSE);
+ }
+ }
+/*
+ // clear axis area
+ drawrectangle(x0-9,y0-1,x0-3,y0-h,FILL_ON,PIXEL_OFF,FALSE);
+ drawrectangle(x0-4,y0+3,x0+w+2,y0+7,FILL_ON,PIXEL_OFF,FALSE);
+ */
+ //write labels Axis X
+
+ //draw data values
+ //axisy halen uit minimum ans maximum value van timeframe
+
+
+ endy = ((val[start+count] / unity))*unity;
+ maxy=0;
+ miny =10;
+
+ for ( int i=start; i<start+count-1;i++) {
+ if (maxy < ((val[start+count] / unity)+1)*unity)
+ maxy=(((val[start+count] / unity)+1)*unity);
+ if (miny > ((val[start+count] / unity))*unity)
+ miny=((val[start+count] / unity)*unity);
+ }
+
+ // TODO check this
+ // if ((maxy-miny)>h) // problems screen is not high enough
+ miny =10; //(h- (maxy-endy));
+
+ signed char v1,v2;
+
+ if (count>w)
+ count=w;
+
+ for (int i=0; i<count-1;i++) {
+ v1 = val[i+start]*0.5;
+
+
+ /*if ((v1-miny)<=0)
+ v1=miny;
+
+ if ((v1-miny)>=h)
+ v1=v1*0.5;*/
+
+ //pc_PCD8544.traceOut("v1=%i ",v1);
+
+ v2 = val[i+start+1]*0.5;
+
+ //pc_PCD8544.traceOut("v2=%i",v2);
+/*
+ if ((v2-miny)<=0)
+ v2=miny;
+
+ if ((v2-miny)>=h)
+ v2=h;*/
+
+ //drawpixel(x0+i,y0-v1,PIXEL_ON,FALSE);
+
+ drawline(x0+i,y0-v1,x0+i+1,y0-v2,PIXEL_ON,FALSE);
+ }
+
+ /*
+
+ BYTE V;
+ char s[2];
+
+ for (int i=0;i<unitx;i++){
+ V=axisx+i*axisunitx;
+
+ std::string s;
+ std::stringstream out;
+ out << V;
+ s = out.str();
+
+ if (B>10)
+ writeString(x0-4,0,"Hallo Pieter-Jan",TINYFONT,NORMAL,TRUE);
+ }
+ }*/
+
+ update();
+}
+
+/*
+void PCD8544LCD::writeCharBig(BYTE x, BYTE y, BYTE ch, eDisplayMode mode) {
+ BYTE sendByte;
+
+ unsigned char* pFont = (unsigned char *) font_bignumber;
+
+ if ('.' == ch)
+ ch = 10;
+ else if ('+' == ch)
+ ch = 11;
+ else if ('-' == ch)
+ ch = 12;
+ else
+ ch = ch & 0x0f;
+
+ for (BYTE i = 0; i < 3; i++) {
+ locate(x, y + i);
+
+ for (BYTE j = 0; j < 16; j++) {
+ sendByte = *(pFont + ch*48 + i*16 + j);
+ writeData((mode == NORMAL)? sendByte : (sendByte^0xff));
+ }
+ }
+}
+
+
+void PCD8544LCD::writeStringBig(BYTE x0, BYTE y0, char* string, eDisplayMode mode, BYTE fupdate) {
+ while (*string) {
+ writeCharBig(x0, y0, *string , mode);
+
+ if ('.' == *string++)
+ x0 += 5;
+ else
+ x0 += 12;
+ }
+}
+*/
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/PCD8544LCD.h Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,185 @@
+/* mbed PCD8544 - Graphic Library for driving monochrome displays based on PCD8544
+ * used in Nokia 3310, 3315, 3330, 3350, 3410, 3210, 5110, 5120, 5130, 5160, 6110, 6150
+ *
+ * Copyright (c) 2011, Wim De Roeve
+ * partial port of the code found on http://serdisplib.sourceforge.net/ser/pcd8544.html#links
+ * and by Petras Saduikis <petras@petras.co.uk>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+#ifndef PCD8544LCD_H
+#define PCD8544LCD_H
+
+#include "mbed.h"
+
+/* Number of pixels on the LCD */
+#define LCD_X_RES 84
+#define LCD_Y_RES 48
+#define LCD_BANKS (LCD_Y_RES / 8)
+
+#define LCD_CACHE_SIZE ((LCD_X_RES * LCD_Y_RES) / 8)
+
+#define MAX_ADR_X (LCD_X_RES)-1
+#define MAX_ADR_Y LCD_BANKS-1
+
+#define HIGH 1
+#define LOW 0
+#define TRUE 1
+#define FALSE 0
+
+/* Display control command */
+#define EXTENDEDSET 0x21
+#define STANDARDSET 0x20
+#define DISPLAYOFF 0x08 // switch off display
+#define ALL_SEG_ON 0x09 // switch on display and set to all pixels on
+#define NORMAL_MODE 0x0C // NOREVERSE
+#define INVERSE_MODE 0x0D // REVERSE
+
+#define SET_ADDRES_X 0x80
+#define SET_ADDRES_Y 0x40
+
+
+typedef uint8_t BYTE;
+
+typedef enum {
+ PIXEL_OFF = 0,
+ PIXEL_ON = 1,
+ PIXEL_XOR = 2
+}ePixelMode;
+
+typedef enum {
+ FILL_OFF = 0,
+ FILL_ON = 1
+}eFillMode;
+
+typedef enum {
+ RASTER_OFF = 0,
+ RASTER_ON = 1
+}eRasterMode;
+
+typedef enum {
+ VERYSMALLFONT = 0, //3x5
+ TINYFONT = 1, //5x7
+ SMALLFONT = 2, //6x8
+ NORMALFONT = 3, //8x8
+ BIGFONT = 4, //8x12�
+ TIMENUMBERFONT= 5, //16x20
+ BIGNUMBERFONT= 6
+}eFonts;
+
+
+enum eDisplayMode {NORMAL, HIGHLIGHT};
+
+class PCD8544LCD {
+
+ /* PCD8544 from Philips Semiconductors is
+ 48 x 84 pixels monochrome matrix LCD controller/driver
+
+ The PCD8544 has a 504 byte memory with NO read function.
+ Each bit is a pixel
+ You can only write 1 byte at a time in vertical or horizontal mode.
+ There is no read functionality with the controller.
+ Caching a copy of the LCD-memory is the only solution if we want
+ to set one pixel at a time.
+
+ */
+public:
+ PCD8544LCD(PinName mosi, PinName miso, PinName sclk,
+ PinName cs, PinName dc, PinName reset);
+
+ /** init()
+ *
+ * Initialise the device.
+ * @param PinName SPI mosi
+ * @param PinName SPI miso
+ * @param PinName SPI sclk
+ * @param PinName DigitalOut cs
+ * @param PinName DigitalOut dc
+ * @param PinName DigitalOut reset
+ */
+
+ void init();
+
+ /** cls()
+ * clears the cached copy of the screen
+ * and the screen itself
+ */
+ void cls();
+
+ /** update()
+ * copies the cached memory to the screen
+ * use this to update the screen after
+ * - drawBitmap
+ */
+ void update();
+
+ /** close()
+ * screen display OFF
+ */
+ void close();
+
+ /** locate(x,y)
+ * sets the cursor on position x,y
+ */
+ void locate (BYTE x0, BYTE y0);
+
+ void chooseFont(eFonts font);
+
+ void writeString (BYTE x0, BYTE y0, char* string, eFonts font, eDisplayMode mode, BYTE update);
+ void writeChar (BYTE x0, BYTE y0, BYTE ch, eFonts font,eDisplayMode mode, BYTE update);
+
+ /** drawBitmap(x,y,bitmap,xsize,ysize)
+ * draw a monochrome bitmap on position x,y
+ * with size xsize,ysize
+ */
+ void drawBitmap (BYTE x0, BYTE y0, BYTE* bitmap, BYTE bmpXSize, BYTE bmpYSize, BYTE update);
+
+ void drawpixel (BYTE x0, BYTE y0, ePixelMode pmode, BYTE update);
+ void drawline (BYTE x0, BYTE y0, BYTE x1,BYTE y1, ePixelMode pmode, BYTE update);
+ void drawcircle (BYTE x0, BYTE y0, BYTE radius, ePixelMode pmode, BYTE update);
+ void drawrectangle (BYTE x0, BYTE y0, BYTE x1,BYTE y1, eFillMode fill, ePixelMode pmode, BYTE update);
+ void drawprogressbar(BYTE x0, BYTE y0, BYTE w, BYTE h, BYTE percentage, BYTE update);
+ void drawchart (BYTE x0, BYTE y0, BYTE w, BYTE h, BYTE unitx, BYTE unity,
+ eRasterMode rmode,signed char * val, int start, int count);
+
+private:
+
+ SPI _spi;
+ DigitalOut _cs; // chip select
+ DigitalOut _dc; // data / command
+ DigitalOut _reset; // reset
+
+ void writeCmd(BYTE data);
+ void writeData(BYTE data);
+
+ BYTE _LcdCache[ LCD_CACHE_SIZE ]; // local LCD buffer
+
+ int _LcdCacheIdx;
+ int _LoMark;
+ int _HiMark;
+
+ BYTE _font_width;
+ BYTE _font_height;
+ BYTE _font_start;
+ BYTE _font_end;
+ unsigned char* _pFont;
+
+};
+
+#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_16x20.cpp Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,29 @@
+#include "font_16x20.h"
+
+
+//0x20 - 0x3A
+const unsigned char font_16x20[] =
+{
+ 0xf4,0xbf,0xf8,0x7f,0x1c,0xe0,0xec,0xdf,0x1c,0xe0,0x1c,0xe0,0x0c,0xc0,0x1c,0xe0,0x00,0x00,0x04,0x80,
+ 0x0c,0xc0,0x04,0x80,0x1c,0xe0,0x1c,0xe0,0x1c,0xe0,0x1c,0xe0,0xec,0xdf,0x1c,0xe0,0xf8,0x7f,0xf4,0xbf, // 0x30
+ 0x04,0x00,0x00,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0x00,0x00,0x04,0x00,
+ 0x0c,0x00,0x04,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0x00,0x00,0x04,0x00, // 0x31
+ 0xf4,0x3f,0xf8,0x7f,0x1c,0x00,0xec,0x1f,0x1c,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0xf8,0x7f,0xf4,0x3f,
+ 0x00,0xc0,0xf0,0xbf,0x00,0xe0,0x00,0xe0,0x00,0xe0,0x00,0xe0,0xe0,0xdf,0x00,0xe0,0xf8,0x7f,0xf0,0xbf, // 0x32
+ 0xf4,0x3f,0xf8,0x7f,0x1c,0x00,0xec,0x1f,0x1c,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0xf8,0x7f,0xf4,0x3f,
+ 0x0c,0x00,0xf4,0x3f,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0xec,0x1f,0x1c,0x00,0xf8,0x7f,0xf4,0x3f, // 0x33
+ 0x04,0x80,0x00,0x00,0x1c,0xe0,0x0c,0xc0,0x1c,0xe0,0x1c,0xe0,0x0c,0xc0,0x1c,0xe0,0xf8,0x7f,0xf4,0xbf,
+ 0x0c,0x00,0xf4,0x3f,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0x00,0x00,0x04,0x00, // 0x34
+ 0xf0,0xbf,0xf8,0x7f,0x00,0xe0,0xe0,0xdf,0x00,0xe0,0x00,0xe0,0x00,0xc0,0x00,0xe0,0xf8,0x7f,0xf0,0xbf,
+ 0x0c,0x00,0xf4,0x3f,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0xec,0x1f,0x1c,0x00,0xf8,0x7f,0xf4,0x3f, // 0x35
+ 0xf0,0xbf,0xf8,0x7f,0x00,0xe0,0xe0,0xdf,0x00,0xe0,0x00,0xe0,0x00,0xc0,0x00,0xe0,0xf8,0x7f,0xf0,0xbf,
+ 0x0c,0xc0,0xf4,0xbf,0x1c,0xe0,0x1c,0xe0,0x1c,0xe0,0x1c,0xe0,0xec,0xdf,0x1c,0xe0,0xf8,0x7f,0xf4,0xbf, // 0x36
+ 0xf4,0x3f,0xf8,0x7f,0x1c,0x00,0xec,0x1f,0x1c,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0x00,0x00,0x04,0x00,
+ 0x0c,0x00,0x04,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0x00,0x00,0x04,0x00, // 0x37
+ 0xf4,0xbf,0xf8,0x7f,0x1c,0xe0,0xec,0xdf,0x1c,0xe0,0x1c,0xe0,0x0c,0xc0,0x1c,0xe0,0xf8,0x7f,0xf4,0xbf,
+ 0x0c,0xc0,0xf4,0xbf,0x1c,0xe0,0x1c,0xe0,0x1c,0xe0,0x1c,0xe0,0xec,0xdf,0x1c,0xe0,0xf8,0x7f,0xf4,0xbf, // 0x38
+ 0xf4,0xbf,0xf8,0x7f,0x1c,0xe0,0xec,0xdf,0x1c,0xe0,0x1c,0xe0,0x0c,0xc0,0x1c,0xe0,0xf8,0x7f,0xf4,0xbf,
+ 0x0c,0x00,0xf4,0x3f,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x0c,0x00,0x1c,0x00,0x00,0x00,0x04,0x00, // 0x39
+ 0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x80,0x0f,0x00,0x07,0x00,0x02,0x00,0x07,0x00,0x00,0x00,0x00,
+ 0x00,0x02,0x00,0x00,0x80,0x0f,0x00,0x07,0x00,0x02,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // 0x3a
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_16x20.h Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,16 @@
+#ifndef _FONT_16x20_H_
+#define _FONT_16x20_H_
+
+
+//----- DEFINES -----
+#define FONT16x20_START 0x30
+#define FONT16x20_END 0x3A
+#define FONT16x20_WIDTH 16
+#define FONT16x20_HEIGHT 20
+
+
+//----- GLOBALS -----
+extern const unsigned char font_16x20[];
+
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_16x24.h Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,145 @@
+#ifndef _FONT_16x24_H_
+#define _FONT_16x24_H_
+
+//----- DEFINES -----
+#define FONT16x24_START 0x30
+#define FONT16x24_END 0x3A
+#define FONT16x24_WIDTH 16
+#define FONT16x24_HEIGHT 24
+
+//used here for displaying numbers 0 - 9 and '+', '-', '.'
+
+unsigned char font_16x24[13][3][16] =
+{
+ 0,128,192,224,224,96,224,224, //'0'
+ 192,128,0,0,0,0,0,0
+ ,
+ 112,255,255,1,0,0,0,0,
+ 255,255,254,0,0,0,0,0
+ ,
+ 0,15,31,60,56,48,56,56,
+ 31,15,3,0,0,0,0,0
+ ,
+
+ 0,0,0,0,128,224,224,0, //'1'
+ 0,0,0,0,0,0,0,0
+ ,
+ 0,0,3,3,3,255,255,0,
+ 0,0,0,0,0,0,0,0
+ ,
+ 0,0,56,56,56,63,63,56,
+ 56,56,0,0,0,0,0,0
+ ,
+
+ 0,192,192,224,96,96,224,224, //'2'
+ 192,128,0,0,0,0,0,0
+ ,
+ 0,1,0,0,128,192,224,249,
+ 63,31,0,0,0,0,0,0
+ ,
+ 0,60,62,63,63,59,57,56,
+ 56,56,56,0,0,0,0,0
+ ,
+
+ 0,192,224,224,96,96,224,224, //'3'
+ 192,192,0,0,0,0,0,0
+ ,
+ 0,1,0,0,48,48,56,125,
+ 239,207,0,0,0,0,0,0
+ ,
+ 0,28,56,56,48,48,56,60,
+ 31,15,1,0,0,0,0,0
+ ,
+
+ 0,0,0,0,0,128,192,224, //'4'
+ 224,0,0,0,0,0,0,0
+ ,
+ 224,240,248,222,207,199,193,255,
+ 255,192,192,0,0,0,0,0
+ ,
+ 0,0,0,0,0,0,0,63,
+ 63,0,0,0,0,0,0,0
+ ,
+
+ 0,224,224,224,224,224,224,224, //'5'
+ 224,224,224,0,0,0,0,0
+ ,
+ 0,63,63,63,56,56,48,112,
+ 240,224,0,0,0,0,0,0
+ ,
+ 0,28,56,56,48,48,56,60,
+ 31,15,1,0,0,0,0,0
+ ,
+
+ 0,0,128,192,192,224,96,96, //'6'
+ 224,224,0,0,0,0,0,0
+ ,
+ 224,254,255,55,57,24,24,56,
+ 240,240,192,0,0,0,0,0
+ ,
+ 0,15,31,28,56,48,48,56,
+ 31,15,7,0,0,0,0,0
+ ,
+
+ 0,224,224,224,224,224,224,224, //'7'
+ 224,224,224,0,0,0,0,0
+ ,
+ 0,0,0,0,128,224,248,126,
+ 31,7,1,0,0,0,0,0
+ ,
+ 0,0,56,62,31,7,1,0,
+ 0,0,0,0,0,0,0,0
+ ,
+
+ 0,128,192,224,224,96,96,224, //'8'
+ 192,192,0,0,0,0,0,0
+ ,
+ 0,207,255,127,56,48,112,112,
+ 255,239,199,0,0,0,0,0
+ ,
+ 3,15,31,60,56,48,48,56,
+ 31,31,15,0,0,0,0,0
+ ,
+
+ 0,128,192,224,224,96,224,224, //'9'
+ 192,128,0,0,0,0,0,0
+ ,
+ 12,63,127,241,224,192,192,225,
+ 255,255,254,0,0,0,0,0
+ ,
+ 0,0,56,48,48,56,56,30,
+ 15,7,0,0,0,0,0,0
+ ,
+
+
+ 0,0,0,0,0,0,0,0, //'.'
+ 0,0,0,0,0,0,0,0
+ ,
+ 0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0
+ ,
+ 60,60,60,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0
+ ,
+
+ 0,0,0,0,0,0,0,0, //'+'
+ 0,0,0,0,0,0,0,0
+ ,
+ 0,0,64,64,64,64,64,254,
+ 254,64,64,64,64,64,0,0
+ ,
+ 0,0,0,0,0,0,0,15,
+ 15,0,0,0,0,0,0,0
+ ,
+
+ 0,0,0,0,0,0,0,0, //'-'
+ 0,0,0,0,0,0,0,0
+ ,
+ 0,64,64,64,64,64,64,0,
+ 0,0,0,0,0,0,0,0
+ ,
+ 0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0
+};
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_3x5.h Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,20 @@
+/* *******************************************
+ * Only numbers in a 3x5 dot format
+ ********************************************* */
+#define FONT3x5_START 0x30
+#define FONT3x5_END 0x39
+#define FONT3x5_WIDTH 3
+#define FONT3x5_HEIGHT 5
+
+static const char font_3x5[] = {
+ 0x1F, 0x11, 0x1F, // 0 //0x30
+ 0x00, 0x1F, 0x00, // 1 //0x31
+ 0x1D, 0x15, 0x17, // 2 //0x32
+ 0x15, 0x15, 0x1F, // 3//0x33
+ 0x07, 0x04, 0x1F, // 4//0x34
+ 0x17, 0x15, 0x1D, // 5//0x35
+ 0x1F, 0x14, 0x1C, // 6//0x36
+ 0x01, 0x01, 0x1F, // 7//0x37
+ 0x1F, 0x15, 0x1F, // 8//0x38
+ 0x07, 0x05, 0x1F, // 9//0x39
+};
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_5x7.h Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,100 @@
+#define FONT5x7_START 0x20
+#define FONT5x7_END 0x7A
+#define FONT5x7_WIDTH 5
+#define FONT5x7_HEIGHT 7
+
+
+static const char font_5x7[][5] =
+{
+ { 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
+ { 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
+ { 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
+ { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // #
+ { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $
+ { 0xc4, 0xc8, 0x10, 0x26, 0x46 }, // %
+ { 0x36, 0x49, 0x55, 0x22, 0x50 }, // &
+ { 0x00, 0x05, 0x03, 0x00, 0x00 }, // '
+ { 0x00, 0x1c, 0x22, 0x41, 0x00 }, // (
+ { 0x00, 0x41, 0x22, 0x1c, 0x00 }, // )
+ { 0x14, 0x08, 0x3E, 0x08, 0x14 }, // *
+ { 0x08, 0x08, 0x3E, 0x08, 0x08 }, // +
+ { 0x00, 0x00, 0x50, 0x30, 0x00 }, // ,
+ { 0x10, 0x10, 0x10, 0x10, 0x10 }, // -
+ { 0x00, 0x60, 0x60, 0x00, 0x00 }, // .
+ { 0x20, 0x10, 0x08, 0x04, 0x02 }, // /
+ { 0x3E, 0x51, 0x49, 0x45, 0x3E }, // 0
+ { 0x00, 0x42, 0x7F, 0x40, 0x00 }, // 1
+ { 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2
+ { 0x21, 0x41, 0x45, 0x4B, 0x31 }, // 3
+ { 0x18, 0x14, 0x12, 0x7F, 0x10 }, // 4
+ { 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5
+ { 0x3C, 0x4A, 0x49, 0x49, 0x30 }, // 6
+ { 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7
+ { 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8
+ { 0x06, 0x49, 0x49, 0x29, 0x1E }, // 9
+ { 0x00, 0x36, 0x36, 0x00, 0x00 }, // :
+ { 0x00, 0x56, 0x36, 0x00, 0x00 }, // ;
+ { 0x08, 0x14, 0x22, 0x41, 0x00 }, // <
+ { 0x14, 0x14, 0x14, 0x14, 0x14 }, // =
+ { 0x00, 0x41, 0x22, 0x14, 0x08 }, // >
+ { 0x02, 0x01, 0x51, 0x09, 0x06 }, // ?
+ { 0x32, 0x49, 0x59, 0x51, 0x3E }, // @
+ { 0x7E, 0x11, 0x11, 0x11, 0x7E }, // A
+ { 0x7F, 0x49, 0x49, 0x49, 0x36 }, // B
+ { 0x3E, 0x41, 0x41, 0x41, 0x22 }, // C
+ { 0x7F, 0x41, 0x41, 0x22, 0x1C }, // D
+ { 0x7F, 0x49, 0x49, 0x49, 0x41 }, // E
+ { 0x7F, 0x09, 0x09, 0x09, 0x01 }, // F
+ { 0x3E, 0x41, 0x49, 0x49, 0x7A }, // G
+ { 0x7F, 0x08, 0x08, 0x08, 0x7F }, // H
+ { 0x00, 0x41, 0x7F, 0x41, 0x00 }, // I
+ { 0x20, 0x40, 0x41, 0x3F, 0x01 }, // J
+ { 0x7F, 0x08, 0x14, 0x22, 0x41 }, // K
+ { 0x7F, 0x40, 0x40, 0x40, 0x40 }, // L
+ { 0x7F, 0x02, 0x0C, 0x02, 0x7F }, // M
+ { 0x7F, 0x04, 0x08, 0x10, 0x7F }, // N
+ { 0x3E, 0x41, 0x41, 0x41, 0x3E }, // O
+ { 0x7F, 0x09, 0x09, 0x09, 0x06 }, // P
+ { 0x3E, 0x41, 0x51, 0x21, 0x5E }, // Q
+ { 0x7F, 0x09, 0x19, 0x29, 0x46 }, // R
+ { 0x46, 0x49, 0x49, 0x49, 0x31 }, // S
+ { 0x01, 0x01, 0x7F, 0x01, 0x01 }, // T
+ { 0x3F, 0x40, 0x40, 0x40, 0x3F }, // U
+ { 0x1F, 0x20, 0x40, 0x20, 0x1F }, // V
+ { 0x3F, 0x40, 0x38, 0x40, 0x3F }, // W
+ { 0x63, 0x14, 0x08, 0x14, 0x63 }, // X
+ { 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y
+ { 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z
+ { 0x00, 0x7F, 0x41, 0x41, 0x00 }, // [
+ { 0x55, 0x2A, 0x55, 0x2A, 0x55 }, // 55
+ { 0x00, 0x41, 0x41, 0x7F, 0x00 }, // ]
+ { 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^
+ { 0x40, 0x40, 0x40, 0x40, 0x40 }, // _
+ { 0x00, 0x01, 0x02, 0x04, 0x00 }, // '
+ { 0x20, 0x54, 0x54, 0x54, 0x78 }, // a
+ { 0x7F, 0x48, 0x44, 0x44, 0x38 }, // b
+ { 0x38, 0x44, 0x44, 0x44, 0x20 }, // c
+ { 0x38, 0x44, 0x44, 0x48, 0x7F }, // d
+ { 0x38, 0x54, 0x54, 0x54, 0x18 }, // e
+ { 0x08, 0x7E, 0x09, 0x01, 0x02 }, // f
+ { 0x0C, 0x52, 0x52, 0x52, 0x3E }, // g
+ { 0x7F, 0x08, 0x04, 0x04, 0x78 }, // h
+ { 0x00, 0x44, 0x7D, 0x40, 0x00 }, // i
+ { 0x20, 0x40, 0x44, 0x3D, 0x00 }, // j
+ { 0x7F, 0x10, 0x28, 0x44, 0x00 }, // k
+ { 0x00, 0x41, 0x7F, 0x40, 0x00 }, // l
+ { 0x7C, 0x04, 0x18, 0x04, 0x78 }, // m
+ { 0x7C, 0x08, 0x04, 0x04, 0x78 }, // n
+ { 0x38, 0x44, 0x44, 0x44, 0x38 }, // o
+ { 0x7C, 0x14, 0x14, 0x14, 0x08 }, // p
+ { 0x08, 0x14, 0x14, 0x18, 0x7C }, // q
+ { 0x7C, 0x08, 0x04, 0x04, 0x08 }, // r
+ { 0x48, 0x54, 0x54, 0x54, 0x20 }, // s
+ { 0x04, 0x3F, 0x44, 0x40, 0x20 }, // t
+ { 0x3C, 0x40, 0x40, 0x20, 0x7C }, // u
+ { 0x1C, 0x20, 0x40, 0x20, 0x1C }, // v
+ { 0x3C, 0x40, 0x30, 0x40, 0x3C }, // w
+ { 0x44, 0x28, 0x10, 0x28, 0x44 }, // x
+ { 0x0C, 0x50, 0x50, 0x50, 0x3C }, // y
+ { 0x44, 0x64, 0x54, 0x4C, 0x44 } // z
+};
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_6x8.cpp Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,99 @@
+#include "font_6x8.h"
+const unsigned char font_6x8[576] = {
+0x00,0x00,0x00,0x00,0x00,0x00, // Symbol 20
+0x00,0x00,0x00,0x5F,0x00,0x00, // Symbol 21
+0x00,0x00,0x03,0x00,0x03,0x00, // Symbol 22
+0x22,0x7F,0x22,0x22,0x7F,0x22, // Symbol 23
+0x00,0x24,0x2A,0x6B,0x2A,0x12, // Symbol 24
+0x00,0x23,0x13,0x08,0x64,0x62, // Symbol 25
+0x00,0x3A,0x45,0x45,0x3A,0x28, // Symbol 26
+0x00,0x00,0x00,0x02,0x01,0x00, // Symbol 27
+0x00,0x00,0x3E,0x41,0x00,0x00, // Symbol 28
+0x00,0x00,0x41,0x3E,0x00,0x00, // Symbol 29
+0x00,0x2A,0x1C,0x1C,0x2A,0x00, // Symbol 2A
+0x00,0x08,0x08,0x3E,0x08,0x08, // Symbol 2B
+0x00,0x00,0x80,0x40,0x00,0x00, // Symbol 2C
+0x00,0x08,0x08,0x08,0x08,0x00, // Symbol 2D
+0x00,0x00,0x00,0x40,0x00,0x00, // Symbol 2E
+0x00,0x20,0x10,0x08,0x04,0x02, // Symbol 2F
+0x00,0x3E,0x51,0x49,0x45,0x3E, // Symbol 30
+0x00,0x00,0x42,0x7F,0x40,0x00, // Symbol 31
+0x00,0x62,0x51,0x51,0x51,0x4E, // Symbol 32
+0x00,0x21,0x41,0x45,0x45,0x3B, // Symbol 33
+0x00,0x18,0x16,0x11,0x7F,0x10, // Symbol 34
+0x00,0x27,0x45,0x45,0x45,0x39, // Symbol 35
+0x00,0x3E,0x49,0x49,0x49,0x32, // Symbol 36
+0x00,0x01,0x61,0x11,0x09,0x07, // Symbol 37
+0x00,0x36,0x49,0x49,0x49,0x36, // Symbol 38
+0x00,0x26,0x49,0x49,0x49,0x3E, // Symbol 39
+0x00,0x00,0x00,0x12,0x00,0x00, // Symbol 3A
+0x00,0x00,0x20,0x12,0x00,0x00, // Symbol 3B
+0x00,0x08,0x14,0x22,0x41,0x00, // Symbol 3C
+0x00,0x14,0x14,0x14,0x14,0x14, // Symbol 3D
+0x00,0x41,0x22,0x14,0x08,0x00, // Symbol 3E
+0x00,0x06,0x01,0x51,0x09,0x06, // Symbol 3F
+0x00,0x3E,0x41,0x4D,0x4D,0x2E, // Symbol 40
+0x00,0x78,0x16,0x11,0x16,0x78, // Symbol 41
+0x00,0x7F,0x49,0x49,0x49,0x36, // Symbol 42
+0x00,0x3E,0x41,0x41,0x41,0x22, // Symbol 43
+0x00,0x7F,0x41,0x41,0x41,0x3E, // Symbol 44
+0x00,0x7F,0x49,0x49,0x49,0x41, // Symbol 45
+0x00,0x7F,0x09,0x09,0x09,0x01, // Symbol 46
+0x00,0x3E,0x41,0x41,0x51,0x32, // Symbol 47
+0x00,0x7F,0x08,0x08,0x08,0x7F, // Symbol 48
+0x00,0x00,0x41,0x7F,0x41,0x00, // Symbol 49
+0x00,0x30,0x40,0x41,0x41,0x3F, // Symbol 4A
+0x00,0x7F,0x08,0x08,0x14,0x63, // Symbol 4B
+0x00,0x7F,0x40,0x40,0x40,0x60, // Symbol 4C
+0x00,0x7F,0x04,0x18,0x04,0x7F, // Symbol 4D
+0x00,0x7F,0x04,0x08,0x10,0x7F, // Symbol 4E
+0x00,0x3E,0x41,0x41,0x41,0x3E, // Symbol 4F
+0x00,0x7F,0x09,0x09,0x09,0x06, // Symbol 50
+0x00,0x3E,0x41,0x61,0x21,0x5E, // Symbol 51
+0x00,0x7F,0x09,0x09,0x19,0x66, // Symbol 52
+0x00,0x26,0x49,0x49,0x49,0x32, // Symbol 53
+0x00,0x01,0x01,0x7F,0x01,0x01, // Symbol 54
+0x00,0x3F,0x40,0x40,0x40,0x3F, // Symbol 55
+0x00,0x07,0x18,0x60,0x18,0x07, // Symbol 56
+0x00,0x1F,0x60,0x18,0x60,0x1F, // Symbol 57
+0x00,0x63,0x14,0x08,0x14,0x63, // Symbol 58
+0x00,0x03,0x04,0x78,0x04,0x03, // Symbol 59
+0x00,0x61,0x51,0x49,0x45,0x43, // Symbol 5A
+0x00,0x00,0x7F,0x41,0x00,0x00, // Symbol 5B
+0x00,0x02,0x04,0x08,0x10,0x20, // Symbol 5C
+0x00,0x00,0x41,0x7F,0x00,0x00, // Symbol 5D
+0x00,0x00,0x00,0x00,0x00,0x00, // Symbol 5E
+0x40,0x40,0x40,0x40,0x40,0x40, // Symbol 5F
+0x00,0x00,0x00,0x01,0x02,0x00, // Symbol 60
+0x00,0x20,0x54,0x54,0x54,0x78, // Symbol 61
+0x00,0x7E,0x48,0x48,0x48,0x30, // Symbol 62
+0x00,0x38,0x44,0x44,0x44,0x28, // Symbol 63
+0x00,0x30,0x48,0x48,0x48,0x7E, // Symbol 64
+0x00,0x38,0x54,0x54,0x54,0x18, // Symbol 65
+0x00,0x10,0x7C,0x12,0x02,0x04, // Symbol 66
+0x00,0x0C,0x52,0x52,0x3C,0x02, // Symbol 67
+0x00,0x7E,0x08,0x08,0x08,0x70, // Symbol 68
+0x00,0x00,0x00,0x74,0x00,0x00, // Symbol 69
+0x00,0x40,0x80,0x80,0x74,0x00, // Symbol 6A
+0x00,0x7E,0x10,0x10,0x10,0x6C, // Symbol 6B
+0x00,0x00,0x02,0x7E,0x00,0x00, // Symbol 6C
+0x00,0x7C,0x04,0x78,0x04,0x78, // Symbol 6D
+0x00,0x7C,0x04,0x04,0x04,0x78, // Symbol 6E
+0x00,0x38,0x44,0x44,0x44,0x38, // Symbol 6F
+0x00,0xFC,0x24,0x24,0x24,0x18, // Symbol 70
+0x00,0x18,0x24,0x24,0x24,0xFC, // Symbol 71
+0x00,0x7C,0x08,0x04,0x04,0x08, // Symbol 72
+0x00,0x48,0x54,0x54,0x54,0x20, // Symbol 73
+0x00,0x08,0x3E,0x48,0x40,0x00, // Symbol 74
+0x00,0x3C,0x40,0x40,0x40,0x3C, // Symbol 75
+0x00,0x1C,0x20,0x40,0x20,0x1C, // Symbol 76
+0x00,0x3C,0x40,0x30,0x40,0x3C, // Symbol 77
+0x00,0x44,0x28,0x10,0x28,0x44, // Symbol 78
+0x00,0x1C,0x20,0xA0,0xA0,0x7C, // Symbol 79
+0x00,0x44,0x64,0x54,0x4C,0x44, // Symbol 7A
+0x00,0x08,0x36,0x41,0x00,0x00, // Symbol 7B
+0x00,0x00,0x00,0x7F,0x00,0x00, // Symbol 7C
+0x00,0x00,0x41,0x36,0x08,0x00, // Symbol 7D
+0x02,0x01,0x01,0x02,0x02,0x01, // Symbol 7E
+0x00,0x7F,0x7F,0x7F,0x7F,0x7F // Symbol 7F
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_6x8.h Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,16 @@
+#ifndef _FONT_6X8_H_
+#define _FONT_6X8_H_
+
+
+//----- DEFINES -----
+#define FONT6x8_START 0x20
+#define FONT6x8_END 0x7A
+#define FONT6x8_WIDTH 6
+#define FONT6x8_HEIGHT 8
+
+
+//----- GLOBALS -----
+extern const unsigned char font_6x8[];
+
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_8x12.cpp Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,231 @@
+#include "font_8x12.h"
+
+
+//0x20 - 0xFF
+const unsigned char font_8x12[] =
+{
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x20
+ 0x78,0x78,0x30,0x00,0x00,0x30,0x30,0x78,0x00,0x00,0x30,0x30, // 0x21
+ 0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x00, // 0x22
+ 0xfe,0x6c,0x6c,0x00,0xfe,0x6c,0x6c,0x6c,0x00,0x00,0x6c,0x6c, // 0x23
+ 0xc0,0x7c,0x30,0x30,0x0c,0x0c,0x78,0xc0,0x00,0x30,0x30,0xf8, // 0x24
+ 0xc4,0x00,0x00,0x00,0x60,0x30,0x18,0xcc,0x00,0x00,0x8c,0xcc, // 0x25
+ 0xd8,0xd8,0x70,0x00,0xcc,0xde,0xfa,0x70,0x00,0x00,0x76,0xdc, // 0x26
+ 0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00, // 0x27
+ 0x30,0x18,0x0c,0x00,0x30,0x60,0x60,0x60,0x00,0x00,0x0c,0x18, // 0x28
+ 0x18,0x30,0x60,0x00,0x18,0x0c,0x0c,0x0c,0x00,0x00,0x60,0x30, // 0x29
+ 0x66,0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x00,0x00,0x00,0x00, // 0x2a
+ 0x18,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x00,0x00,0x00,0x00, // 0x2b
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x38,0x38, // 0x2c
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00, // 0x2d
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38, // 0x2e
+ 0x06,0x02,0x00,0x00,0x60,0x30,0x18,0x0c,0x00,0x00,0x80,0xc0, // 0x2f
+ 0xce,0xc6,0x7c,0x00,0xe6,0xf6,0xd6,0xde,0x00,0x00,0x7c,0xc6, // 0x30
+ 0xf0,0x30,0x10,0x00,0x30,0x30,0x30,0x30,0x00,0x00,0xfc,0x30, // 0x31
+ 0xcc,0xcc,0x78,0x00,0x60,0x30,0x18,0x0c,0x00,0x00,0xfc,0xcc, // 0x32
+ 0x0c,0xcc,0x78,0x00,0x0c,0x0c,0x38,0x0c,0x00,0x00,0x78,0xcc, // 0x33
+ 0x3c,0x1c,0x0c,0x00,0x0c,0xfe,0xcc,0x6c,0x00,0x00,0x1e,0x0c, // 0x34
+ 0xc0,0xc0,0xfc,0x00,0x0c,0x0c,0xf8,0xc0,0x00,0x00,0x78,0xcc, // 0x35
+ 0xc0,0x60,0x38,0x00,0xcc,0xcc,0xf8,0xc0,0x00,0x00,0x78,0xcc, // 0x36
+ 0xc6,0xc6,0xfe,0x00,0x30,0x18,0x0c,0x06,0x00,0x00,0x30,0x30, // 0x37
+ 0xcc,0xcc,0x78,0x00,0xcc,0xcc,0x78,0xcc,0x00,0x00,0x78,0xcc, // 0x38
+ 0xcc,0xcc,0x78,0x00,0x18,0x18,0x7c,0xcc,0x00,0x00,0x70,0x30, // 0x39
+ 0x38,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x38, // 0x3a
+ 0x38,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x30,0x18,0x38, // 0x3b
+ 0x30,0x18,0x0c,0x00,0x30,0x60,0xc0,0x60,0x00,0x00,0x0c,0x18, // 0x3c
+ 0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x7e,0x00,0x00,0x00,0x00, // 0x3d
+ 0x18,0x30,0x60,0x00,0x18,0x0c,0x06,0x0c,0x00,0x00,0x60,0x30, // 0x3e
+ 0x0c,0xcc,0x78,0x00,0x00,0x30,0x30,0x18,0x00,0x00,0x30,0x30, // 0x3f
+ 0xc6,0xc6,0x7c,0x00,0xc0,0xde,0xde,0xde,0x00,0x00,0x7c,0xc0, // 0x40
+ 0xcc,0x78,0x30,0x00,0xcc,0xfc,0xcc,0xcc,0x00,0x00,0xcc,0xcc, // 0x41
+ 0x66,0x66,0xfc,0x00,0x66,0x66,0x7c,0x66,0x00,0x00,0xfc,0x66, // 0x42
+ 0xc6,0x66,0x3c,0x00,0xc6,0xc0,0xc0,0xc0,0x00,0x00,0x3c,0x66, // 0x43
+ 0x66,0x6c,0xf8,0x00,0x66,0x66,0x66,0x66,0x00,0x00,0xf8,0x6c, // 0x44
+ 0x60,0x62,0xfe,0x00,0x60,0x64,0x7c,0x64,0x00,0x00,0xfe,0x62, // 0x45
+ 0x62,0x66,0xfe,0x00,0x60,0x64,0x7c,0x64,0x00,0x00,0xf0,0x60, // 0x46
+ 0xc6,0x66,0x3c,0x00,0xc6,0xce,0xc0,0xc0,0x00,0x00,0x3e,0x66, // 0x47
+ 0xcc,0xcc,0xcc,0x00,0xcc,0xcc,0xfc,0xcc,0x00,0x00,0xcc,0xcc, // 0x48
+ 0x30,0x30,0x78,0x00,0x30,0x30,0x30,0x30,0x00,0x00,0x78,0x30, // 0x49
+ 0x0c,0x0c,0x1e,0x00,0xcc,0xcc,0x0c,0x0c,0x00,0x00,0x78,0xcc, // 0x4a
+ 0x6c,0x66,0xe6,0x00,0x6c,0x6c,0x78,0x6c,0x00,0x00,0xe6,0x66, // 0x4b
+ 0x60,0x60,0xf0,0x00,0x66,0x62,0x60,0x60,0x00,0x00,0xfe,0x66, // 0x4c
+ 0xfe,0xee,0xc6,0x00,0xc6,0xc6,0xd6,0xfe,0x00,0x00,0xc6,0xc6, // 0x4d
+ 0xe6,0xc6,0xc6,0x00,0xce,0xde,0xfe,0xf6,0x00,0x00,0xc6,0xc6, // 0x4e
+ 0xc6,0x6c,0x38,0x00,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x38,0x6c, // 0x4f
+ 0x66,0x66,0xfc,0x00,0x60,0x60,0x7c,0x66,0x00,0x00,0xf0,0x60, // 0x50
+ 0xc6,0x6c,0x38,0x00,0xde,0xce,0xc6,0xc6,0x00,0x1e,0x0c,0x7c, // 0x51
+ 0x66,0x66,0xfc,0x00,0x66,0x6c,0x7c,0x66,0x00,0x00,0xe6,0x66, // 0x52
+ 0xcc,0xcc,0x78,0x00,0xcc,0x18,0x70,0xc0,0x00,0x00,0x78,0xcc, // 0x53
+ 0x30,0xb4,0xfc,0x00,0x30,0x30,0x30,0x30,0x00,0x00,0x78,0x30, // 0x54
+ 0xcc,0xcc,0xcc,0x00,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0x55
+ 0xcc,0xcc,0xcc,0x00,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x30,0x78, // 0x56
+ 0xc6,0xc6,0xc6,0x00,0x6c,0xd6,0xd6,0xc6,0x00,0x00,0x6c,0x6c, // 0x57
+ 0xcc,0xcc,0xcc,0x00,0xcc,0x78,0x30,0x78,0x00,0x00,0xcc,0xcc, // 0x58
+ 0xcc,0xcc,0xcc,0x00,0x30,0x30,0x78,0xcc,0x00,0x00,0x78,0x30, // 0x59
+ 0x98,0xce,0xfe,0x00,0x62,0x60,0x30,0x18,0x00,0x00,0xfe,0xc6, // 0x5a
+ 0x30,0x30,0x3c,0x00,0x30,0x30,0x30,0x30,0x00,0x00,0x3c,0x30, // 0x5b
+ 0xc0,0x80,0x00,0x00,0x0c,0x18,0x30,0x60,0x00,0x00,0x02,0x06, // 0x5c
+ 0x0c,0x0c,0x3c,0x00,0x0c,0x0c,0x0c,0x0c,0x00,0x00,0x3c,0x0c, // 0x5d
+ 0xc6,0x6c,0x38,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x5e
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00, // 0x5f
+ 0x00,0x18,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x60
+ 0x00,0x00,0x00,0x00,0xcc,0x7c,0x0c,0x78,0x00,0x00,0x76,0xcc, // 0x61
+ 0x60,0x60,0xe0,0x00,0x66,0x66,0x66,0x7c,0x00,0x00,0xdc,0x66, // 0x62
+ 0x00,0x00,0x00,0x00,0xc0,0xc0,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x63
+ 0x0c,0x0c,0x1c,0x00,0xcc,0xcc,0xcc,0x7c,0x00,0x00,0x76,0xcc, // 0x64
+ 0x00,0x00,0x00,0x00,0xc0,0xfc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x65
+ 0x60,0x6c,0x38,0x00,0x60,0x60,0xf8,0x60,0x00,0x00,0xf0,0x60, // 0x66
+ 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0x76,0x78,0xcc,0x0c,0x7c, // 0x67
+ 0x60,0x60,0xe0,0x00,0x66,0x66,0x76,0x6c,0x00,0x00,0xe6,0x66, // 0x68
+ 0x00,0x18,0x18,0x00,0x18,0x18,0x18,0x78,0x00,0x00,0x7e,0x18, // 0x69
+ 0x00,0x0c,0x0c,0x00,0x0c,0x0c,0x0c,0x3c,0x78,0xcc,0xcc,0x0c, // 0x6a
+ 0x60,0x60,0xe0,0x00,0x6c,0x78,0x6c,0x66,0x00,0x00,0xe6,0x66, // 0x6b
+ 0x18,0x18,0x78,0x00,0x18,0x18,0x18,0x18,0x00,0x00,0x7e,0x18, // 0x6c
+ 0x00,0x00,0x00,0x00,0xd6,0xd6,0xd6,0xfc,0x00,0x00,0xc6,0xd6, // 0x6d
+ 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xf8,0x00,0x00,0xcc,0xcc, // 0x6e
+ 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x6f
+ 0x00,0x00,0x00,0x00,0x66,0x66,0x66,0xdc,0xf0,0x60,0x7c,0x66, // 0x70
+ 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0x76,0x1e,0x0c,0x7c,0xcc, // 0x71
+ 0x00,0x00,0x00,0x00,0x60,0x76,0x6e,0xec,0x00,0x00,0xf0,0x60, // 0x72
+ 0x00,0x00,0x00,0x00,0x18,0x60,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x73
+ 0x60,0x20,0x00,0x00,0x60,0x60,0x60,0xfc,0x00,0x00,0x38,0x6c, // 0x74
+ 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x76,0xcc, // 0x75
+ 0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x30,0x78, // 0x76
+ 0x00,0x00,0x00,0x00,0xd6,0xd6,0xc6,0xc6,0x00,0x00,0x6c,0x6c, // 0x77
+ 0x00,0x00,0x00,0x00,0x38,0x38,0x6c,0xc6,0x00,0x00,0xc6,0x6c, // 0x78
+ 0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0xf0,0x18,0x0c,0x3c, // 0x79
+ 0x00,0x00,0x00,0x00,0x60,0x18,0x8c,0xfc,0x00,0x00,0xfc,0xc4, // 0x7a
+ 0x30,0x30,0x1c,0x00,0x30,0x60,0xc0,0x60,0x00,0x00,0x1c,0x30, // 0x7b
+ 0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x18,0x00,0x00,0x18,0x18, // 0x7c
+ 0x30,0x30,0xe0,0x00,0x30,0x18,0x0c,0x18,0x00,0x00,0xe0,0x30, // 0x7d
+ 0xce,0xda,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x7e
+ 0x10,0x00,0x00,0x00,0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0xfe, // 0x7f
+ 0xcc,0xcc,0x78,0x00,0xcc,0xc0,0xc0,0xc0,0x60,0x30,0x78,0xcc, // 0x80
+ 0x00,0xcc,0xcc,0x00,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x76,0xcc, // 0x81
+ 0x00,0x30,0x18,0x0c,0xc0,0xfc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x82
+ 0x00,0xcc,0x78,0x30,0xcc,0x7c,0x0c,0x78,0x00,0x00,0x76,0xcc, // 0x83
+ 0x00,0xcc,0xcc,0x00,0xcc,0x7c,0x0c,0x78,0x00,0x00,0x76,0xcc, // 0x84
+ 0x00,0x30,0x60,0xc0,0xcc,0x7c,0x0c,0x78,0x00,0x00,0x76,0xcc, // 0x85
+ 0x38,0x6c,0x6c,0x38,0xcc,0x7c,0x0c,0xf8,0x00,0x00,0x76,0xcc, // 0x86
+ 0x00,0x00,0x00,0x00,0xc0,0xc0,0xcc,0x78,0x60,0x30,0x78,0xcc, // 0x87
+ 0x00,0xcc,0x78,0x30,0xc0,0xfc,0xcc,0x78,0x00,0x00,0x7c,0xc0, // 0x88
+ 0x00,0xcc,0xcc,0x00,0xc0,0xfc,0xcc,0x78,0x00,0x00,0x7c,0xc0, // 0x89
+ 0x00,0x30,0x60,0xc0,0xc0,0xfc,0xcc,0x78,0x00,0x00,0x7c,0xc0, // 0x8a
+ 0x00,0x6c,0x6c,0x00,0x18,0x18,0x18,0x78,0x00,0x00,0x7e,0x18, // 0x8b
+ 0x00,0x6c,0x38,0x10,0x18,0x18,0x18,0x78,0x00,0x00,0x7e,0x18, // 0x8c
+ 0x00,0x18,0x30,0x60,0x18,0x18,0x18,0x78,0x00,0x00,0x7e,0x18, // 0x8d
+ 0x30,0x00,0xcc,0x00,0xfc,0xcc,0xcc,0x78,0x00,0x00,0xcc,0xcc, // 0x8e
+ 0x78,0xcc,0xcc,0x78,0xfc,0xcc,0xcc,0x78,0x00,0x00,0xcc,0xcc, // 0x8f
+ 0xfc,0x00,0x18,0x0c,0xc0,0xf8,0xc0,0xc4,0x00,0x00,0xfc,0xc4, // 0x90
+ 0x00,0x00,0x00,0x00,0xd8,0x7f,0x1b,0xfe,0x00,0x00,0xef,0xd8, // 0x91
+ 0xd8,0x78,0x3e,0x00,0xd8,0xd8,0xfe,0xd8,0x00,0x00,0xde,0xd8, // 0x92
+ 0x00,0xcc,0x78,0x30,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x93
+ 0x00,0xcc,0xcc,0x00,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x94
+ 0x00,0x30,0x60,0xc0,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x95
+ 0x00,0xcc,0x78,0x30,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x76,0xcc, // 0x96
+ 0x00,0x30,0x60,0xc0,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x76,0xcc, // 0x97
+ 0x00,0x66,0x66,0x00,0x66,0x66,0x66,0x66,0xf0,0x18,0x0c,0x3c, // 0x98
+ 0x78,0x00,0xcc,0x00,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0x99
+ 0xcc,0xcc,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0x9a
+ 0x00,0x00,0x00,0x00,0xec,0xdc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0x9b
+ 0x60,0x60,0x66,0x3c,0x60,0x60,0xfc,0x60,0x00,0x00,0xfe,0xc0, // 0x9c
+ 0xce,0x6c,0x3a,0x00,0xe6,0xd6,0xd6,0xd6,0x00,0x00,0xb8,0x6c, // 0x9d
+ 0x00,0x00,0x00,0x00,0x38,0x6c,0xc6,0x00,0x00,0x00,0xc6,0x6c, // 0x9e
+ 0x18,0x18,0x1b,0x0e,0x18,0x18,0x18,0x7e,0x00,0x00,0x70,0xd8, // 0x9f
+ 0x00,0x30,0x18,0x0c,0xcc,0x7c,0x0c,0x78,0x00,0x00,0x76,0xcc, // 0xa0
+ 0x00,0x30,0x18,0x0c,0x18,0x18,0x18,0x78,0x00,0x00,0x7e,0x18, // 0xa1
+ 0x00,0x30,0x18,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0xa2
+ 0x00,0x30,0x18,0x0c,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x76,0xcc, // 0xa3
+ 0x00,0xdc,0x76,0x00,0xcc,0xcc,0xcc,0xf8,0x00,0x00,0xcc,0xcc, // 0xa4
+ 0xc6,0x00,0xdc,0x76,0xce,0xde,0xf6,0xe6,0x00,0x00,0xc6,0xc6, // 0xa5
+ 0xcc,0xcc,0x78,0x00,0x00,0xfe,0x00,0x7e,0x00,0x00,0x00,0x00, // 0xa6
+ 0xcc,0xcc,0x78,0x00,0x00,0xfe,0x00,0x78,0x00,0x00,0x00,0x00, // 0xa7
+ 0x00,0x30,0x30,0x00,0xc0,0xc0,0x60,0x30,0x00,0x00,0x78,0xcc, // 0xa8
+ 0xba,0x44,0x38,0x00,0xaa,0xb2,0xba,0xaa,0x00,0x00,0x38,0x44, // 0xa9
+ 0x00,0x00,0x00,0x00,0x0c,0x0c,0xfc,0x00,0x00,0x00,0x00,0x0c, // 0xaa
+ 0x6c,0xe6,0x62,0x00,0xc3,0x6e,0x30,0x78,0x00,0x1f,0x0c,0x86, // 0xab
+ 0x6c,0xe6,0x63,0x00,0xdb,0x6f,0x37,0x78,0x00,0x03,0x3f,0xb3, // 0xac
+ 0x00,0x30,0x30,0x00,0x78,0x78,0x30,0x30,0x00,0x00,0x30,0x78, // 0xad
+ 0x00,0x00,0x00,0x00,0xcc,0xcc,0x66,0x33,0x00,0x00,0x33,0x66, // 0xae
+ 0x00,0x00,0x00,0x00,0x33,0x33,0x66,0xcc,0x00,0x00,0xcc,0x66, // 0xaf
+ 0x24,0x49,0x92,0x24,0x92,0x24,0x49,0x92,0x49,0x92,0x24,0x49, // 0xb0
+ 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55, // 0xb1
+ 0x6d,0xb6,0xdb,0x6d,0xdb,0x6d,0xb6,0xdb,0xb6,0xdb,0x6d,0xb6, // 0xb2
+ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // 0xb3
+ 0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0x18,0x18,0x18,0x18, // 0xb4
+ 0x30,0x00,0x18,0x0c,0xfc,0xcc,0xcc,0x78,0x00,0x00,0xcc,0xcc, // 0xb5
+ 0x30,0x00,0xcc,0x78,0xfc,0xcc,0xcc,0x78,0x00,0x00,0xcc,0xcc, // 0xb6
+ 0x30,0x00,0x30,0x60,0xfc,0xcc,0xcc,0x78,0x00,0x00,0xcc,0xcc, // 0xb7
+ 0xba,0x44,0x38,0x00,0xba,0xa2,0xa2,0xa2,0x00,0x00,0x38,0x44, // 0xb8
+ 0x66,0x66,0x66,0x66,0xe6,0x06,0x06,0xe6,0x66,0x66,0x66,0x66, // 0xb9
+ 0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66, // 0xba
+ 0x00,0x00,0x00,0x00,0xe6,0x06,0x06,0xfe,0x66,0x66,0x66,0x66, // 0xbb
+ 0x66,0x66,0x66,0x66,0xfe,0x06,0x06,0xe6,0x00,0x00,0x00,0x00, // 0xbc
+ 0x78,0x30,0x30,0x00,0xcc,0xc0,0xc0,0xcc,0x00,0x30,0x30,0x78, // 0xbd
+ 0xcc,0xcc,0xcc,0xcc,0xfc,0x30,0xfc,0x78,0x00,0x00,0x30,0x30, // 0xbe
+ 0x00,0x00,0x00,0x00,0x18,0x18,0xf8,0x00,0x18,0x18,0x18,0x18, // 0xbf
+ 0x18,0x18,0x18,0x18,0x00,0x00,0x1f,0x18,0x00,0x00,0x00,0x00, // 0xc0
+ 0x18,0x18,0x18,0x18,0x00,0x00,0xff,0x18,0x00,0x00,0x00,0x00, // 0xc1
+ 0x00,0x00,0x00,0x00,0x18,0x18,0xff,0x00,0x18,0x18,0x18,0x18, // 0xc2
+ 0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x18,0x18,0x18,0x18, // 0xc3
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00, // 0xc4
+ 0x18,0x18,0x18,0x18,0x18,0x18,0xff,0x18,0x18,0x18,0x18,0x18, // 0xc5
+ 0x00,0xdc,0x76,0x00,0xcc,0x7c,0x0c,0x78,0x00,0x00,0x76,0xcc, // 0xc6
+ 0x30,0x00,0xdc,0x76,0xfc,0xcc,0xcc,0x78,0x00,0x00,0xcc,0xcc, // 0xc7
+ 0x66,0x66,0x66,0x66,0x7f,0x60,0x60,0x67,0x00,0x00,0x00,0x00, // 0xc8
+ 0x00,0x00,0x00,0x00,0x67,0x60,0x60,0x7f,0x66,0x66,0x66,0x66, // 0xc9
+ 0x66,0x66,0x66,0x66,0xff,0x00,0x00,0xe7,0x00,0x00,0x00,0x00, // 0xca
+ 0x00,0x00,0x00,0x00,0xe7,0x00,0x00,0xff,0x66,0x66,0x66,0x66, // 0xcb
+ 0x66,0x66,0x66,0x66,0x67,0x60,0x60,0x67,0x66,0x66,0x66,0x66, // 0xcc
+ 0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00, // 0xcd
+ 0x66,0x66,0x66,0x66,0xe7,0x00,0x00,0xe7,0x66,0x66,0x66,0x66, // 0xce
+ 0x00,0x00,0x00,0x00,0x6c,0x7c,0xc6,0x00,0x00,0x00,0xc6,0x7c, // 0xcf
+ 0x0c,0xd8,0x30,0xcc,0xc6,0xc6,0x7e,0x06,0x00,0x00,0x7c,0xc6, // 0xd0
+ 0x66,0x6c,0xf8,0x00,0x66,0x66,0xf6,0x66,0x00,0x00,0xf8,0x6c, // 0xd1
+ 0xfc,0x00,0xcc,0x78,0xc0,0xf8,0xc0,0xc4,0x00,0x00,0xfc,0xc4, // 0xd2
+ 0xfc,0x00,0xcc,0x00,0xc0,0xf8,0xc0,0xc4,0x00,0x00,0xfc,0xc4, // 0xd3
+ 0xfc,0x00,0x30,0x60,0xc0,0xf8,0xc0,0xc4,0x00,0x00,0xfc,0xc4, // 0xd4
+ 0x30,0x30,0xf0,0x00,0x00,0x00,0xfc,0x30,0x00,0x00,0x00,0x00, // 0xd5
+ 0x78,0x00,0x30,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x78,0x30, // 0xd6
+ 0x78,0x00,0xcc,0x78,0x30,0x30,0x30,0x30,0x00,0x00,0x78,0x30, // 0xd7
+ 0x78,0x00,0xcc,0x00,0x30,0x30,0x30,0x30,0x00,0x00,0x78,0x30, // 0xd8
+ 0x18,0x18,0x18,0x18,0x00,0x00,0xf8,0x18,0x00,0x00,0x00,0x00, // 0xd9
+ 0x00,0x00,0x00,0x00,0x18,0x18,0x1f,0x00,0x18,0x18,0x18,0x18, // 0xda
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, // 0xdb
+ 0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0xff,0xff,0xff,0xff, // 0xdc
+ 0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x18,0x00,0x00,0x18,0x18, // 0xdd
+ 0x78,0x00,0x30,0x60,0x30,0x30,0x30,0x30,0x00,0x00,0x78,0x30, // 0xde
+ 0xff,0xff,0xff,0xff,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00, // 0xdf
+ 0x78,0x00,0x30,0x18,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0xe0
+ 0xcc,0xcc,0x78,0x00,0xcc,0xcc,0xcc,0xd8,0x00,0x60,0xc0,0xf8, // 0xe1
+ 0x78,0x00,0xcc,0x78,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0xe2
+ 0x78,0x00,0x30,0x60,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0xe3
+ 0x00,0xdc,0x76,0x00,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x78,0xcc, // 0xe4
+ 0x78,0x00,0xdc,0x76,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0xe5
+ 0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0xc0,0x60,0x7b,0x66, // 0xe6
+ 0x60,0xe0,0x00,0x00,0x7c,0x66,0x66,0x7c,0x00,0x00,0xf0,0x60, // 0xe7
+ 0x7c,0x60,0xf0,0x00,0x7c,0x66,0x66,0x66,0x00,0x00,0xf0,0x60, // 0xe8
+ 0xcc,0x00,0x30,0x18,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0xe9
+ 0xcc,0x00,0xcc,0x78,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0xea
+ 0xcc,0x00,0x30,0x60,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0x78,0xcc, // 0xeb
+ 0x00,0x18,0x0c,0x06,0x66,0x66,0x66,0x66,0xf0,0x18,0x0c,0x3c, // 0xec
+ 0xcc,0x00,0x30,0x18,0x30,0x78,0xcc,0xcc,0x00,0x00,0x78,0x30, // 0xed
+ 0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0xee
+ 0x00,0x30,0x18,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0xef
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00, // 0xf0
+ 0x30,0x30,0x00,0x00,0x00,0x30,0x30,0xfc,0x00,0x00,0x00,0xfc, // 0xf1
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,0xf8, // 0xf2
+ 0x3c,0x66,0x33,0xe0,0xdb,0x6f,0x37,0xf8,0x00,0x03,0x3f,0xb3, // 0xf3
+ 0xdb,0xdb,0x7f,0x00,0x1b,0x1b,0x7b,0xdb,0x00,0x00,0x1b,0x1b, // 0xf4
+ 0x30,0x63,0x7e,0x00,0x3c,0x66,0x66,0x3c,0x00,0x7e,0xc6,0x0c, // 0xf5
+ 0x30,0x30,0x00,0x00,0x30,0x00,0xfc,0x00,0x00,0x00,0x00,0x30, // 0xf6
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x30,0x00,0x00, // 0xf7
+ 0x66,0x66,0x3c,0x00,0x00,0x00,0x3c,0x66,0x00,0x00,0x00,0x00, // 0xf8
+ 0x00,0x00,0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0xf9
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00, // 0xfa
+ 0x30,0x70,0x30,0x00,0x00,0x00,0x78,0x30,0x00,0x00,0x00,0x00, // 0xfb
+ 0x38,0x0c,0x78,0x00,0x00,0x00,0x78,0x0c,0x00,0x00,0x00,0x00, // 0xfc
+ 0x18,0x0c,0x78,0x00,0x00,0x00,0x7c,0x30,0x00,0x00,0x00,0x00, // 0xfd
+ 0xfc,0x00,0x00,0x00,0xfc,0xfc,0xfc,0xfc,0x00,0x00,0x00,0xfc, // 0xfe
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // 0xff
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_8x12.h Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,16 @@
+#ifndef _FONT_8X12_H_
+#define _FONT_8X12_H_
+
+
+//----- DEFINES -----
+#define FONT8x12_START 0x20
+#define FONT8x12_END 0x7A
+#define FONT8x12_WIDTH 8
+#define FONT8x12_HEIGHT 12
+
+
+//----- GLOBALS -----
+extern const unsigned char font_8x12[];
+
+
+#endif //_FONT_8X12_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_8x8.cpp Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,231 @@
+#include "font_8x8.h"
+
+
+//0x20 - 0xFF
+const unsigned char font_8x8[] =
+{
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x20
+ 0x30,0x78,0x78,0x30,0x00,0x30,0x00,0x30, // 0x21
+ 0x00,0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00, // 0x22
+ 0x6c,0xfe,0x6c,0x6c,0x00,0x6c,0x6c,0xfe, // 0x23
+ 0x78,0xc0,0x7c,0x30,0x00,0x30,0xf8,0x0c, // 0x24
+ 0x18,0xcc,0xc6,0x00,0x00,0xc6,0x66,0x30, // 0x25
+ 0x76,0x38,0x6c,0x38,0x00,0x76,0xcc,0xdc, // 0x26
+ 0x00,0xc0,0x60,0x60,0x00,0x00,0x00,0x00, // 0x27
+ 0x60,0x60,0x30,0x18,0x00,0x18,0x30,0x60, // 0x28
+ 0x18,0x18,0x30,0x60,0x00,0x60,0x30,0x18, // 0x29
+ 0xff,0x3c,0x66,0x00,0x00,0x00,0x66,0x3c, // 0x2a
+ 0xfc,0x30,0x30,0x00,0x00,0x00,0x30,0x30, // 0x2b
+ 0x00,0x00,0x00,0x00,0x60,0x30,0x70,0x00, // 0x2c
+ 0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0x2d
+ 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00, // 0x2e
+ 0x30,0x18,0x0c,0x06,0x00,0x80,0xc0,0x60, // 0x2f
+ 0xfc,0xdc,0xcc,0x78,0x00,0x78,0xcc,0xec, // 0x30
+ 0x30,0x30,0xf0,0x30,0x00,0xfc,0x30,0x30, // 0x31
+ 0x38,0x0c,0xcc,0x78,0x00,0xfc,0xcc,0x60, // 0x32
+ 0x38,0x0c,0xcc,0x78,0x00,0x78,0xcc,0x0c, // 0x33
+ 0xcc,0x6c,0x3c,0x1c,0x00,0x0c,0x0c,0xfe, // 0x34
+ 0x0c,0xf8,0xc0,0xfc,0x00,0x78,0xcc,0x0c, // 0x35
+ 0xf8,0xc0,0x60,0x38,0x00,0x78,0xcc,0xcc, // 0x36
+ 0x18,0x0c,0xcc,0xfc,0x00,0x60,0x60,0x30, // 0x37
+ 0x78,0xcc,0xcc,0x78,0x00,0x78,0xcc,0xcc, // 0x38
+ 0x7c,0xcc,0xcc,0x78,0x00,0x70,0x18,0x0c, // 0x39
+ 0x30,0x30,0x00,0x00,0x00,0x30,0x30,0x00, // 0x3a
+ 0x30,0x30,0x00,0x00,0x60,0x30,0x70,0x00, // 0x3b
+ 0xc0,0x60,0x30,0x18,0x00,0x18,0x30,0x60, // 0x3c
+ 0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0xfc, // 0x3d
+ 0x0c,0x18,0x30,0x60,0x00,0x60,0x30,0x18, // 0x3e
+ 0x18,0x0c,0xcc,0x78,0x00,0x30,0x00,0x30, // 0x3f
+ 0xde,0xde,0xc6,0x7c,0x00,0x78,0xc0,0xde, // 0x40
+ 0xcc,0xcc,0x78,0x30,0x00,0xcc,0xcc,0xfc, // 0x41
+ 0x7c,0x66,0x66,0xfc,0x00,0xfc,0x66,0x66, // 0x42
+ 0xc0,0xc0,0x66,0x3c,0x00,0x3c,0x66,0xc0, // 0x43
+ 0x66,0x66,0x6c,0xfc,0x00,0xfc,0x6c,0x66, // 0x44
+ 0x78,0x68,0x62,0xfe,0x00,0xfe,0x62,0x68, // 0x45
+ 0x78,0x68,0x62,0xfe,0x00,0xf0,0x60,0x68, // 0x46
+ 0xc0,0xc0,0x66,0x3c,0x00,0x3e,0x66,0xce, // 0x47
+ 0xfc,0xcc,0xcc,0xcc,0x00,0xcc,0xcc,0xcc, // 0x48
+ 0x30,0x30,0x30,0x78,0x00,0x78,0x30,0x30, // 0x49
+ 0x0c,0x0c,0x0c,0x1e,0x00,0x78,0xcc,0xcc, // 0x4a
+ 0x78,0x6c,0x66,0xe6,0x00,0xe6,0x66,0x6c, // 0x4b
+ 0x60,0x60,0x60,0xf0,0x00,0xfe,0x66,0x62, // 0x4c
+ 0xd6,0xfe,0xee,0xc6,0x00,0xc6,0xc6,0xc6, // 0x4d
+ 0xde,0xf6,0xe6,0xc6,0x00,0xc6,0xc6,0xce, // 0x4e
+ 0xc6,0xc6,0x6c,0x38,0x00,0x38,0x6c,0xc6, // 0x4f
+ 0x7c,0x66,0x66,0xfc,0x00,0xf0,0x60,0x60, // 0x50
+ 0xcc,0xcc,0xcc,0x78,0x00,0x1c,0x78,0xdc, // 0x51
+ 0x7c,0x66,0x66,0xfc,0x00,0xe6,0x6c,0x78, // 0x52
+ 0x38,0xe0,0xcc,0x78,0x00,0x78,0xcc,0x1c, // 0x53
+ 0x30,0x30,0xb4,0xfc,0x00,0x78,0x30,0x30, // 0x54
+ 0xcc,0xcc,0xcc,0xcc,0x00,0xfc,0xcc,0xcc, // 0x55
+ 0xcc,0xcc,0xcc,0xcc,0x00,0x30,0x78,0xcc, // 0x56
+ 0xd6,0xc6,0xc6,0xc6,0x00,0xc6,0xee,0xfe, // 0x57
+ 0x38,0x6c,0xc6,0xc6,0x00,0xc6,0xc6,0x6c, // 0x58
+ 0x78,0xcc,0xcc,0xcc,0x00,0x78,0x30,0x30, // 0x59
+ 0x30,0x98,0xcc,0xfe,0x00,0xfe,0xc6,0x62, // 0x5a
+ 0x60,0x60,0x60,0x78,0x00,0x78,0x60,0x60, // 0x5b
+ 0x18,0x30,0x60,0xc0,0x00,0x02,0x06,0x0c, // 0x5c
+ 0x18,0x18,0x18,0x78,0x00,0x78,0x18,0x18, // 0x5d
+ 0xc6,0x6c,0x38,0x10,0x00,0x00,0x00,0x00, // 0x5e
+ 0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00, // 0x5f
+ 0x00,0x18,0x30,0x30,0x00,0x00,0x00,0x00, // 0x60
+ 0x0c,0x78,0x00,0x00,0x00,0x76,0xcc,0x7c, // 0x61
+ 0x66,0x7c,0x60,0xe0,0x00,0xbc,0x66,0x66, // 0x62
+ 0xcc,0x78,0x00,0x00,0x00,0x78,0xcc,0xc0, // 0x63
+ 0x7c,0x0c,0x0c,0x1c,0x00,0x76,0xcc,0xcc, // 0x64
+ 0xcc,0x78,0x00,0x00,0x00,0x78,0xc0,0xfc, // 0x65
+ 0xf0,0x60,0x6c,0x38,0x00,0xf0,0x60,0x60, // 0x66
+ 0xcc,0x76,0x00,0x00,0xf8,0x0c,0x7c,0xcc, // 0x67
+ 0x76,0x6c,0x60,0xe0,0x00,0xe6,0x66,0x66, // 0x68
+ 0x30,0x70,0x00,0x30,0x00,0x78,0x30,0x30, // 0x69
+ 0x18,0x78,0x00,0x18,0x70,0xd8,0x18,0x18, // 0x6a
+ 0x6c,0x66,0x60,0xe0,0x00,0xe6,0x6c,0x78, // 0x6b
+ 0x30,0x30,0x30,0x70,0x00,0x78,0x30,0x30, // 0x6c
+ 0xfe,0xec,0x00,0x00,0x00,0xc6,0xc6,0xd6, // 0x6d
+ 0xcc,0xf8,0x00,0x00,0x00,0xcc,0xcc,0xcc, // 0x6e
+ 0xcc,0x78,0x00,0x00,0x00,0x78,0xcc,0xcc, // 0x6f
+ 0x66,0xdc,0x00,0x00,0xf0,0x60,0x7c,0x66, // 0x70
+ 0xcc,0x76,0x00,0x00,0x1e,0x0c,0x7c,0xcc, // 0x71
+ 0x6c,0xd8,0x00,0x00,0x00,0xf0,0x60,0x6c, // 0x72
+ 0xc0,0x7c,0x00,0x00,0x00,0xf8,0x0c,0x78, // 0x73
+ 0x30,0x7c,0x30,0x10,0x00,0x18,0x34,0x30, // 0x74
+ 0xcc,0xcc,0x00,0x00,0x00,0x76,0xcc,0xcc, // 0x75
+ 0xcc,0xcc,0x00,0x00,0x00,0x30,0x78,0xcc, // 0x76
+ 0xc6,0xc6,0x00,0x00,0x00,0x6c,0xfe,0xd6, // 0x77
+ 0x6c,0xc6,0x00,0x00,0x00,0xc6,0x6c,0x38, // 0x78
+ 0xcc,0xcc,0x00,0x00,0xf8,0x0c,0x7c,0xcc, // 0x79
+ 0x98,0xfc,0x00,0x00,0x00,0xfc,0x64,0x30, // 0x7a
+ 0xe0,0x30,0x30,0x1c,0x00,0x1c,0x30,0x30, // 0x7b
+ 0x00,0x18,0x18,0x18,0x00,0x18,0x18,0x18, // 0x7c
+ 0x1c,0x30,0x30,0xe0,0x00,0xe0,0x30,0x30, // 0x7d
+ 0x00,0x00,0xdc,0x76,0x00,0x00,0x00,0x00, // 0x7e
+ 0xc6,0x6c,0x38,0x10,0x00,0xfe,0xc6,0xc6, // 0x7f
+ 0xc0,0xc0,0xcc,0x78,0x60,0x30,0x78,0xcc, // 0x80
+ 0xcc,0x00,0xcc,0x00,0x00,0x7e,0xcc,0xcc, // 0x81
+ 0xcc,0x78,0x30,0x18,0x00,0x78,0xc0,0xfc, // 0x82
+ 0x06,0x3c,0xc3,0x7e,0x00,0x3f,0x66,0x3e, // 0x83
+ 0x0c,0x78,0x00,0xcc,0x00,0x7e,0xcc,0x7c, // 0x84
+ 0x0c,0x78,0x30,0x60,0x00,0x7e,0xcc,0x7c, // 0x85
+ 0x06,0x3c,0x66,0x3c,0x00,0x3f,0x66,0x3e, // 0x86
+ 0xc0,0xcc,0x78,0x00,0x60,0x30,0x78,0xcc, // 0x87
+ 0x66,0x3c,0xc3,0x7e,0x00,0x3c,0x60,0x7e, // 0x88
+ 0xcc,0x78,0x00,0xcc,0x00,0x78,0xc0,0xfc, // 0x89
+ 0xcc,0x78,0x30,0x60,0x00,0x78,0xc0,0xfc, // 0x8a
+ 0x30,0x70,0x00,0xcc,0x00,0x78,0x30,0x30, // 0x8b
+ 0x18,0x38,0xc6,0x7c,0x00,0x3c,0x18,0x18, // 0x8c
+ 0x30,0x70,0x30,0x60,0x00,0x78,0x30,0x30, // 0x8d
+ 0xcc,0x78,0x30,0xcc,0x00,0xcc,0xfc,0xcc, // 0x8e
+ 0x78,0x30,0x48,0x30,0x00,0xcc,0xfc,0xcc, // 0x8f
+ 0x60,0xfc,0x30,0x18,0x00,0xfc,0x60,0x78, // 0x90
+ 0x0c,0x7f,0x00,0x00,0x00,0x7f,0xcc,0x7f, // 0x91
+ 0xfe,0xcc,0x6c,0x3e,0x00,0xce,0xcc,0xcc, // 0x92
+ 0x78,0x00,0xcc,0x78,0x00,0x78,0xcc,0xcc, // 0x93
+ 0x78,0x00,0xcc,0x00,0x00,0x78,0xcc,0xcc, // 0x94
+ 0x78,0x00,0x30,0x60,0x00,0x78,0xcc,0xcc, // 0x95
+ 0xcc,0x00,0xcc,0x78,0x00,0x7e,0xcc,0xcc, // 0x96
+ 0xcc,0x00,0x30,0x60,0x00,0x7e,0xcc,0xcc, // 0x97
+ 0xcc,0x00,0xcc,0x00,0xf8,0x0c,0xfc,0xcc, // 0x98
+ 0xc6,0x7c,0x00,0xc6,0x00,0x7c,0xc6,0xc6, // 0x99
+ 0xcc,0xcc,0x00,0xcc,0x00,0x78,0xcc,0xcc, // 0x9a
+ 0xce,0x7c,0x00,0x00,0x00,0x7c,0xe6,0xd6, // 0x9b
+ 0xf0,0x64,0x6c,0x38,0x00,0xfc,0xe6,0x60, // 0x9c
+ 0xd6,0xce,0x6c,0x3a,0x00,0xb8,0x6c,0xe6, // 0x9d
+ 0x78,0xcc,0x00,0x00,0x00,0xcc,0x78,0x30, // 0x9e
+ 0x7e,0x18,0x1b,0x0e,0x70,0xd8,0x18,0x18, // 0x9f
+ 0x0c,0x78,0x30,0x18,0x00,0x7e,0xcc,0x7c, // 0xa0
+ 0x30,0x70,0x30,0x18,0x00,0x78,0x30,0x30, // 0xa1
+ 0x78,0x00,0x18,0x0c,0x00,0x78,0xcc,0xcc, // 0xa2
+ 0xcc,0x00,0x18,0x0c,0x00,0x7e,0xcc,0xcc, // 0xa3
+ 0xf8,0x00,0xdc,0x76,0x00,0xcc,0xcc,0xcc, // 0xa4
+ 0xec,0x00,0xdc,0x76,0x00,0xcc,0xdc,0xfc, // 0xa5
+ 0x3e,0x6c,0x6c,0x3c,0x00,0x00,0x7e,0x00, // 0xa6
+ 0x3c,0x66,0x66,0x3c,0x00,0x00,0x7e,0x00, // 0xa7
+ 0x60,0x30,0x00,0x30,0x00,0x78,0xcc,0xc0, // 0xa8
+ 0xb9,0xa5,0x5a,0x3c,0x00,0x3c,0x66,0xa9, // 0xa9
+ 0xfc,0x00,0x00,0x00,0x00,0x00,0x0c,0x0c, // 0xaa
+ 0x7e,0x78,0x6c,0xe6,0x1f,0x98,0xce,0x63, // 0xab
+ 0x73,0x78,0x6c,0xe6,0x03,0x9f,0xcd,0x67, // 0xac
+ 0x18,0x00,0x18,0x00,0x18,0x3c,0x3c,0x18, // 0xad
+ 0xcc,0x66,0x33,0x00,0x00,0x00,0x33,0x66, // 0xae
+ 0x33,0x66,0xcc,0x00,0x00,0x00,0xcc,0x66, // 0xaf
+ 0x88,0x22,0x88,0x22,0x88,0x22,0x88,0x22, // 0xb0
+ 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55, // 0xb1
+ 0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd, // 0xb2
+ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, // 0xb3
+ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8, // 0xb4
+ 0x78,0x30,0x18,0x0c,0x00,0xcc,0xfc,0xcc, // 0xb5
+ 0x78,0x30,0x84,0x78,0x00,0xcc,0xfc,0xcc, // 0xb6
+ 0x78,0x30,0x60,0xc0,0x00,0xcc,0xfc,0xcc, // 0xb7
+ 0xa1,0xb9,0x42,0x3c,0x00,0x3c,0x42,0xb9, // 0xb8
+ 0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0xf6, // 0xb9
+ 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, // 0xba
+ 0x06,0xfe,0x00,0x00,0x36,0x36,0x36,0xf6, // 0xbb
+ 0x06,0xf6,0x36,0x36,0x00,0x00,0x00,0xfe, // 0xbc
+ 0xc0,0x7e,0x18,0x18,0x18,0x18,0x7e,0xc0, // 0xbd
+ 0xfc,0x78,0xcc,0xcc,0x30,0x30,0xfc,0x30, // 0xbe
+ 0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xf8, // 0xbf
+ 0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x1f, // 0xc0
+ 0x18,0x18,0x18,0x18,0x00,0x00,0x00,0xff, // 0xc1
+ 0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xff, // 0xc2
+ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f, // 0xc3
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, // 0xc4
+ 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff, // 0xc5
+ 0x0c,0x78,0xdc,0x76,0x00,0x7e,0xcc,0x7c, // 0xc6
+ 0x78,0x30,0xdc,0x76,0x00,0xcc,0xfc,0xcc, // 0xc7
+ 0x30,0x37,0x36,0x36,0x00,0x00,0x00,0x3f, // 0xc8
+ 0x30,0x3f,0x00,0x00,0x36,0x36,0x36,0x37, // 0xc9
+ 0x00,0xf7,0x36,0x36,0x00,0x00,0x00,0xff, // 0xca
+ 0x00,0xff,0x00,0x00,0x36,0x36,0x36,0xf7, // 0xcb
+ 0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x37, // 0xcc
+ 0x00,0xff,0x00,0x00,0x00,0x00,0x00,0xff, // 0xcd
+ 0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0xf7, // 0xce
+ 0x6c,0xfe,0x82,0x00,0x00,0x82,0xfe,0x6c, // 0xcf
+ 0x0c,0xd8,0x70,0xd8,0x00,0x38,0x6c,0x3c, // 0xd0
+ 0xf6,0x66,0x6c,0xfc,0x00,0xfc,0x6c,0x66, // 0xd1
+ 0x60,0xfc,0x84,0x78,0x00,0xfc,0x60,0x78, // 0xd2
+ 0x60,0xfc,0x00,0xcc,0x00,0xfc,0x60,0x78, // 0xd3
+ 0x60,0xfc,0x30,0x60,0x00,0xfc,0x60,0x78, // 0xd4
+ 0xe0,0x40,0xc0,0x00,0x00,0x00,0x00,0x00, // 0xd5
+ 0x30,0x78,0x30,0x18,0x00,0x78,0x30,0x30, // 0xd6
+ 0x30,0x78,0x84,0x78,0x00,0x78,0x30,0x30, // 0xd7
+ 0x30,0x78,0x00,0xcc,0x00,0x78,0x30,0x30, // 0xd8
+ 0x18,0x18,0x18,0x18,0x00,0x00,0x00,0xf8, // 0xd9
+ 0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1f, // 0xda
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, // 0xdb
+ 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, // 0xdc
+ 0x00,0x18,0x18,0x18,0x00,0x18,0x18,0x18, // 0xdd
+ 0x30,0x78,0x30,0x60,0x00,0x78,0x30,0x30, // 0xde
+ 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00, // 0xdf
+ 0xc6,0x7c,0x30,0x18,0x00,0x7c,0xc6,0xc6, // 0xe0
+ 0xf8,0xcc,0x78,0x00,0xc0,0xc0,0xf8,0xcc, // 0xe1
+ 0xc6,0x7c,0x82,0x7c,0x00,0x7c,0xc6,0xc6, // 0xe2
+ 0xc6,0x7c,0x18,0x30,0x00,0x7c,0xc6,0xc6, // 0xe3
+ 0x78,0x00,0xdc,0x76,0x00,0x78,0xcc,0xcc, // 0xe4
+ 0xc6,0x7c,0xdc,0x76,0x00,0x7c,0xc6,0xc6, // 0xe5
+ 0x66,0x66,0x66,0x00,0xc0,0x60,0x7c,0x66, // 0xe6
+ 0x6c,0x78,0xe0,0x00,0x00,0xf0,0x60,0x78, // 0xe7
+ 0x66,0x7c,0x60,0xf0,0x00,0xf0,0x60,0x7c, // 0xe8
+ 0xcc,0xcc,0x30,0x18,0x00,0x78,0xcc,0xcc, // 0xe9
+ 0xcc,0x00,0x84,0x78,0x00,0x78,0xcc,0xcc, // 0xea
+ 0xcc,0xcc,0x30,0x60,0x00,0x78,0xcc,0xcc, // 0xeb
+ 0xcc,0x00,0x30,0x18,0xf8,0x0c,0xfc,0xcc, // 0xec
+ 0xcc,0xcc,0x30,0x18,0x00,0x78,0x30,0x78, // 0xed
+ 0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00, // 0xee
+ 0x00,0x00,0x30,0x18,0x00,0x00,0x00,0x00, // 0xef
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc, // 0xf0
+ 0x30,0xfc,0x30,0x30,0x00,0xfc,0x00,0x30, // 0xf1
+ 0xfc,0x00,0x00,0x00,0x00,0x00,0xfc,0x00, // 0xf2
+ 0x33,0x78,0x2c,0xe6,0x03,0x9f,0xcd,0xe7, // 0xf3
+ 0x7b,0xdb,0xdb,0x7f,0x00,0x1b,0x1b,0x1b, // 0xf4
+ 0xcc,0x78,0xc3,0x7e,0xf8,0x8c,0x78,0xcc, // 0xf5
+ 0xfc,0x00,0x30,0x30,0x00,0x30,0x30,0x00, // 0xf6
+ 0x00,0x00,0x00,0x00,0x60,0x30,0x00,0x00, // 0xf7
+ 0x38,0x6c,0x6c,0x38,0x00,0x00,0x00,0x00, // 0xf8
+ 0x00,0x00,0xcc,0x00,0x00,0x00,0x00,0x00, // 0xf9
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18, // 0xfa
+ 0x18,0x18,0x78,0x38,0x00,0x00,0x00,0x7e, // 0xfb
+ 0x3c,0x38,0x30,0x00,0x00,0x30,0x38,0x3c, // 0xfc //play
+ 0x66,0x66,0x66,0x00,0x00,0x66,0x66,0x66, // 0xfd //buf
+ 0x7e,0x7e,0x7e,0x00,0x00,0x7e,0x7e,0x7e, // 0xfe //stop
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // 0xff
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fonts/font_8x8.h Sun Apr 17 18:03:24 2011 +0000
@@ -0,0 +1,16 @@
+#ifndef _FONT_8X8_H_
+#define _FONT_8X8_H_
+
+
+//----- DEFINES -----
+#define FONT8x8_START 0x20
+#define FONT8x8_END 0xFF
+#define FONT8x8_WIDTH 8
+#define FONT8x8_HEIGHT 8
+
+
+//----- GLOBALS -----
+extern const unsigned char font_8x8[];
+
+
+#endif //_FONT_8X8_H_