This program is for SG12864A(128 x 64 mono-LCD display) with Starboard Orange. Many of source code is referred from below website(in Japanese). (http://www.picfun.com/PIC24H/app24H01.html) Connection between SG12864A and mbed: (these connection are defined in SG12864A.h) pin1(VSS) pin2(VDD) : 5V pin3(V0) : pin4(DI) : p23 pin5(RW): p22 pin6(E): p21 pin7(DB0):p20 pin8(DB1):p19 pin9(DB2):p14 pin10(DB3):p13 pin11(DB4):p12 pin12(DB5):p11 pin13(DB6):p10 pin14(DB7):p9 pin15(CS1):p17 pin16(CS2):p16 pin17(RST):p15 pin18:VOUT pin19:LED Anode pin20:LED Cathode Note: lcd_Line function is not correct(maybe)... Other function is correctly working.
Revision 0:d0cd5139479f, committed 2011-01-09
- Comitter:
- y_notsu
- Date:
- Sun Jan 09 11:44:15 2011 +0000
- Commit message:
- 0.1(first release)
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SG12864A.cpp Sun Jan 09 11:44:15 2011 +0000 @@ -0,0 +1,276 @@ +// +// +// + +#include "SG12864A.h" +#include "font.h" + + + SG12864A::SG12864A() : DI_OUT(DI), RW_OUT(RW), E_OUT(E), DB_OUT(DB0,DB1,DB2,DB3,DB4,DB5,DB6,DB7), + CS1_OUT(CS1),CS2_OUT(CS2),RST_OUT(RST) + { DI_OUT = 0x01;RW_OUT = 0x01; E_OUT = 0x00; + DB_OUT = 0x00; + DB_OUT.output(); + CS1_OUT= 0x01; CS2_OUT=0x01; RST_OUT=0x01; + //t.attach( this, &SG12864A::display, ReflashRate ); + } +//Data output function +void SG12864A::lcd_Write(char cs, char code, char DIflag){ + int data; + DB_OUT.output(); + RW_OUT = 0; + if(cs==1) + CS1_OUT=0; + else + CS2_OUT=0; + data = (int)code; + //DB_OUT = (DB_OUT & 0x00FF) | ((data<<8) & 0xFF00); + DB_OUT = data & 0x00FF; + if(DIflag == 0) + DI_OUT = 1; + else + DI_OUT = 0; + wait_us(1); + E_OUT = 1; + wait_us(1); + E_OUT = 0; + CS1_OUT = 1; + CS2_OUT = 1; + RW_OUT = 1; + wait_us(5); + } + + // Data Read Function + char SG12864A::lcd_Read(char cs){ + int data; + DB_OUT.input(); + RW_OUT = 1; + if(cs==1) + CS1_OUT = 0; + else + CS2_OUT = 0; + DI_OUT = 1; + wait_us(1); + E_OUT = 1; + wait_us(1); + E_OUT = 0; + wait_us(3); + //data = (DB_OUT >>8 ) & 0x00FF; + data = DB_OUT & 0x00FF; + wait_us(1); + CS1_OUT = 1; + CS2_OUT = 1; + DB_OUT.output(); + return((char)data); + } + + // Data Read Function + char SG12864A::lcd_StatusRead(char cs){ + int data; + DB_OUT.input(); + RW_OUT = 1; + if(cs==1) + CS1_OUT = 0; + else + CS2_OUT = 0; + DI_OUT = 0; + wait_us(1); + E_OUT = 1; + wait_us(1); + E_OUT = 0; + wait_us(3); + data = DB_OUT & 0x00FF; + wait_us(1); + CS1_OUT = 1; + CS2_OUT = 1; + DB_OUT.output(); + return((char)data); + } + + // Screen Clear Function +void SG12864A::lcd_Clear(char data){ + char page, colum; + + for(page=0; page<8;page++){ //repeat 8 page + lcd_Write(1,0xB8+page,1); //page set + lcd_Write(1,0x40,1); //column reset + lcd_Write(2,0xB8+page,1); //page set + lcd_Write(2,0x40,1); //column reset + for(colum=0;colum<64;colum++){ //repeat 64column + lcd_Write(1,data,0); //fill data + lcd_Write(2,data,0); //fill data + } + } + + lcd_Write(1,0xC0,1); //reset start line + lcd_Write(2,0xC0,1); +} + +// Initialize Function +void SG12864A::lcd_Init(void){ + RST_OUT = 0; + wait_ms(1000); + RST_OUT = 1; + wait_ms(10); + lcd_Write(1, 0x3F, 1); // Display On + lcd_Write(2, 0x3F, 1); // Display On + lcd_Clear(0); +} + +// Draw Pixel Function + void SG12864A::lcd_Pixel(int Xpos, int Ypos, char On){ + char cs, data, page, pos, count, i; + + /* if colum >127 then do nothing */ + if(Xpos<128){ + if(Xpos>63){ // 64=<colum<=127? + Xpos = Xpos-64; // shift 64 dot + cs = 1; + } + else + cs = 2; + page = (char)(7-Ypos/8); // set page + lcd_Write(cs, 0xB8+page, 1); + lcd_Write(cs, 0x40+Xpos, 1); // set colum + data = lcd_Read(cs); // get current data + lcd_Write(cs, 0x40+Xpos, 1); // set colum ???? + data = lcd_Read(cs); // get current data ???? + pos =1; // set bit position + count = (char)(7-Ypos%8); // set bit + for(i=0; i<count; i++) // caluculate 2^n + pos *= 2; + lcd_Write(cs, 0x40+Xpos, 1); // back address + if(On==1) // set or reset bit + lcd_Write(cs, data | pos, 0); // set 1 + else + lcd_Write(cs, data & ~pos, 0); // set 0 + } +} + +//Draw Straight line Function +#define abs(a) (((a)>0) ? (a) : -(a)) +void SG12864A::lcd_Line(int x0, int y0, int x1, int y1) +{ + + int steep, t; + int deltax, deltay, error; + int x, y; + int ystep; + + /// ·ªÌå«¢Ù¤ðßé + steep = (abs(y1 - y0) > abs(x1 - x0)); + /// AÌüêÖ¦ + if(steep){ + t = x0; x0 = y0; y0 = t; + t = x1; x1 = y1; y1 = t; + } + if(x0 > x1) { + t = x0; x0 = x1; x1 = t; + t = y0; y0 = y1; y1 = t; + } + deltax = x1 - x0; // X«vZ + deltay = abs(y1 - y0); + error = 0; + y = y0; + /// X«ÅXebv̳ðØèÖ¦ + if(y0 < y1) ystep = 1; else ystep = -1; + /// ¼üð_Å`æ + for(x=x0; x<x1; x++) { + if(steep) lcd_Pixel(y,x,1); else lcd_Pixel(x,y,1); + error += deltay; + if((error << 1) >= deltax) { + y += ystep; + error -= deltax; + } + } +} + + +//Display Character Function +void SG12864A::lcd_Char(char line, char colum, int letter){ + char cs, i; + int pos; + + if(colum < 16){ + if(colum >7){ + pos = (colum-8)*8; + cs = 1; + } + else{ + pos = colum*8; + cs = 2; + } + lcd_Write(cs, 0xB8+line,1); + lcd_Write(cs, 0x40+pos,1); + for(i=0; i<5; i++) + lcd_Write(cs,Font[letter-0x20][i],0); + lcd_Write(cs,0,0); + lcd_Write(cs,0,0); + lcd_Write(cs,0,0); + } +} + +// Display Character Function2 +void SG12864A::lcd_Char1(char line, char colum, int letter){ + char cs, i; + int pos; + + if(colum < 18){ + if(colum > 8){ + pos = (colum- 9) * 7; + cs = 1; + } + else{ + pos = colum * 7; + cs = 2; + } + lcd_Write(cs, 0xB8+line, 1); // set page + lcd_Write(cs, 0x40+pos, 1); // set colum + for(i=0; i<5; i++) + lcd_Write(cs, Font[letter-0x20][i], 0); + lcd_Write(cs, 0, 0); + lcd_Write(cs, 0, 0); + } +} + +// Display Char Srings Function +void SG12864A::lcd_Str(char line, char colum, char *s) +{ + while(*s) + SG12864A::lcd_Char1(line, colum++, *s++); +} + +// Display Image Function +void SG12864A::lcd_Image(char *ptr) +{ + char cs, Xpos; + int page, colum; + + for(page=0; page<8; page++){ + for(colum=0; colum<128; colum++){ + if(colum > 63){ + Xpos=colum-64; + cs = 1; + } + else{ + Xpos = colum; + cs = 2; + } + lcd_Write(cs, 0xB8+page, 1); + lcd_Write(cs, 0x40+Xpos, 1); + lcd_Write(cs, *ptr++, 0); + } + } +} + +//Scroll Function +void SG12864A::lcd_Scroll(int delay){ + int i; + + for(i=0; i<64; i++){ + lcd_Write(1, 0xC0+i,1); + lcd_Write(2, 0xC0+i,1); + wait_ms(delay); + } +} + \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SG12864A.h Sun Jan 09 11:44:15 2011 +0000 @@ -0,0 +1,75 @@ +// +// SG12864A Test Program +// +// + +#ifndef SG12864A_H +#define SG12864A_H + +#include "mbed.h" + +#define DI p23 +#define RW p22 +#define E p21 +#define DB0 p20 +#define DB1 p19 +#define DB2 p14 +#define DB3 p13 +#define DB4 p12 +#define DB5 p11 +#define DB6 p10 +#define DB7 p9 +#define CS1 p17 +#define CS2 p16 +#define RST p15 + +#define ReflashRate 0.02 + + +class SG12864A { +public: + + SG12864A(); + void lcd_Write(char cs, char code, char DIflag); + char lcd_Read(char cs); + char lcd_StatusRead(char cs); + void lcd_Init(void); + void lcd_Clear(char data); + void lcd_Pixel(int Xpos, int Ypos, char On); + void lcd_Char(char line, char colum, int letter); + void lcd_Char1(char line, char colum, int letter); + void lcd_Str(char line, char colum, char *s); + void lcd_Line(int x0, int y0, int x1, int y1); + void lcd_Scroll(int delay); + void lcd_Image(char *ptr); + //void Delay200n(void); + //void Delay1u(int time); + //void Delay1m(int time); + +private: + DigitalOut DI_OUT; + DigitalOut RW_OUT; + DigitalOut E_OUT; + BusInOut DB_OUT; + //BusOut DB_OUT; + DigitalOut CS1_OUT; + DigitalOut CS2_OUT; + DigitalOut RST_OUT; + Ticker t; + + /** Displaying + * + * This function will be called by Ticker which set by this class' constructor. + * It displays just one layer by single call. + */ + + // void display( void ); + +}; + +#endif // SG12864A + + + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.cpp Sun Jan 09 11:44:15 2011 +0000 @@ -0,0 +1,159 @@ +/* mbed TextLCD Library, for a 4-bit LCD based on HD44780 + * Copyright (c) 2007-2010, sford + * + * 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. + */ + +#include "TextLCD.h" +#include "mbed.h" + +TextLCD::TextLCD(PinName rs, PinName e, PinName d0, PinName d1, + PinName d2, PinName d3, LCDType type) : _rs(rs), + _e(e), _d(d0, d1, d2, d3), + _type(type) { + + _e = 1; + _rs = 0; // command mode + + wait(0.015); // Wait 15ms to ensure powered up + + // send "Display Settings" 3 times (Only top nibble of 0x30 as we've got 4-bit bus) + for (int i=0; i<3; i++) { + writeByte(0x3); + wait(0.00164); // this command takes 1.64ms, so wait for it + } + writeByte(0x2); // 4-bit mode + wait(0.000040f); // most instructions take 40us + + writeCommand(0x28); // Function set 001 BW N F - - + writeCommand(0x0C); + writeCommand(0x6); // Cursor Direction and Display Shift : 0000 01 CD S (CD 0-left, 1-right S(hift) 0-no, 1-yes + cls(); +} + +void TextLCD::character(int column, int row, int c) { + int a = address(column, row); + writeCommand(a); + writeData(c); +} + +void TextLCD::cls() { + writeCommand(0x01); // cls, and set cursor to 0 + wait(0.00164f); // This command takes 1.64 ms + locate(0, 0); +} + +void TextLCD::locate(int column, int row) { + _column = column; + _row = row; +} + +int TextLCD::_putc(int value) { + if (value == '\n') { + _column = 0; + _row++; + if (_row >= rows()) { + _row = 0; + } + } else { + character(_column, _row, value); + _column++; + if (_column >= columns()) { + _column = 0; + _row++; + if (_row >= rows()) { + _row = 0; + } + } + } + return value; +} + +int TextLCD::_getc() { + return -1; +} + +void TextLCD::writeByte(int value) { + _d = value >> 4; + wait(0.000040f); // most instructions take 40us + _e = 0; + wait(0.000040f); + _e = 1; + _d = value >> 0; + wait(0.000040f); + _e = 0; + wait(0.000040f); // most instructions take 40us + _e = 1; +} + +void TextLCD::writeCommand(int command) { + _rs = 0; + writeByte(command); +} + +void TextLCD::writeData(int data) { + _rs = 1; + writeByte(data); +} + +int TextLCD::address(int column, int row) { + switch (_type) { + case LCD20x4: + switch (row) { + case 0: + return 0x80 + column; + case 1: + return 0xc0 + column; + case 2: + return 0x94 + column; + case 3: + return 0xd4 + column; + } + case LCD16x2B: + return 0x80 + (row * 40) + column; + case LCD16x2: + case LCD20x2: + default: + return 0x80 + (row * 0x40) + column; + } +} + +int TextLCD::columns() { + switch (_type) { + case LCD20x4: + case LCD20x2: + return 20; + case LCD16x2: + case LCD16x2B: + default: + return 16; + } +} + +int TextLCD::rows() { + switch (_type) { + case LCD20x4: + return 4; + case LCD16x2: + case LCD16x2B: + case LCD20x2: + default: + return 2; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.h Sun Jan 09 11:44:15 2011 +0000 @@ -0,0 +1,111 @@ +/* mbed TextLCD Library, for a 4-bit LCD based on HD44780 + * Copyright (c) 2007-2010, sford + * + * 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 MBED_TEXTLCD_H +#define MBED_TEXTLCD_H + +#include "mbed.h" + +/** A TextLCD interface for driving 4-bit HD44780-based LCDs + * + * Currently supports 16x2, 20x2 and 20x4 panels + * + * @code + * #include "mbed.h" + * #include "TextLCD.h" + * + * TextLCD lcd(p10, p12, p15, p16, p29, p30); // rs, e, d0-d3 + * + * int main() { + * lcd.printf("Hello World!\n"); + * } + * @endcode + */ +class TextLCD : public Stream { +public: + + /** LCD panel format */ + enum LCDType { + LCD16x2 /**< 16x2 LCD panel (default) */ + , LCD16x2B /**< 16x2 LCD panel alternate addressing */ + , LCD20x2 /**< 20x2 LCD panel */ + , LCD20x4 /**< 20x4 LCD panel */ + }; + + /** Create a TextLCD interface + * + * @param rs Instruction/data control line + * @param e Enable line (clock) + * @param d0-d3 Data lines + * @param type Sets the panel size/addressing mode (default = LCD16x2) + */ + TextLCD(PinName rs, PinName e, PinName d0, PinName d1, PinName d2, PinName d3, LCDType type = LCD16x2); + +#if DOXYGEN_ONLY + /** Write a character to the LCD + * + * @param c The character to write to the display + */ + int putc(int c); + + /** Write a formated string to the LCD + * + * @param format A printf-style format string, followed by the + * variables to use in formating the string. + */ + int printf(const char* format, ...); +#endif + + /** Locate to a screen column and row + * + * @param column The horizontal position from the left, indexed from 0 + * @param row The vertical position from the top, indexed from 0 + */ + void locate(int column, int row); + + /** Clear the screen and locate to 0,0 */ + void cls(); + + int rows(); + int columns(); + +protected: + + // Stream implementation functions + virtual int _putc(int value); + virtual int _getc(); + + int address(int column, int row); + void character(int column, int row, int c); + void writeByte(int value); + void writeCommand(int command); + void writeData(int data); + + DigitalOut _rs, _e; + BusOut _d; + LCDType _type; + + int _column; + int _row; +}; + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/font.h Sun Jan 09 11:44:15 2011 +0000 @@ -0,0 +1,200 @@ +/**************************** +* Font Data 0x20 to 0xDF 192 +***********************************/ +const char Font[192][5] = +{ + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // " " 0x20 + { 0x00, 0x00, 0x4f, 0x00, 0x00 }, // ! 0x21 + { 0x00, 0x07, 0x00, 0x07, 0x00 }, // " 0x22 + { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // # 0x23 + { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // $ 0x24 + { 0x23, 0x13, 0x08, 0x64, 0x62 }, // % 0x25 + { 0x36, 0x49, 0x55, 0x22, 0x50 }, // & 0x26 + { 0x00, 0x05, 0x03, 0x00, 0x00 }, // ' 0x27 + { 0x00, 0x1c, 0x22, 0x41, 0x00 }, // ( 0x28 + { 0x00, 0x41, 0x22, 0x1c, 0x00 }, // ) 0x29 + { 0x14, 0x08, 0x3e, 0x08, 0x14 }, // * 0x2A + { 0x08, 0x08, 0x3e, 0x08, 0x08 }, // + 0x2B + { 0x00, 0x50, 0x30, 0x00, 0x00 }, // , 0x2C + { 0x08, 0x08, 0x08, 0x08, 0x08 }, // - 0x2D + { 0x00, 0x60, 0x60, 0x00, 0x00 }, // . 0x2E + { 0x20, 0x10, 0x08, 0x04, 0x02 }, // / 0x2F + { 0x3e, 0x51, 0x49, 0x45, 0x3e }, // 0 0x30 + { 0x00, 0x42, 0x7f, 0x40, 0x00 }, // 1 0x31 + { 0x42, 0x61, 0x51, 0x49, 0x46 }, // 2 0x32 + { 0x21, 0x41, 0x45, 0x4b, 0x31 }, // 3 0x33 + { 0x18, 0x14, 0x12, 0x7f, 0x10 }, // 4 0x34 + { 0x27, 0x45, 0x45, 0x45, 0x39 }, // 5 0x35 + { 0x3c, 0x4a, 0x49, 0x49, 0x30 }, // 6 0x36 + { 0x01, 0x71, 0x09, 0x05, 0x03 }, // 7 0x37 + { 0x36, 0x49, 0x49, 0x49, 0x36 }, // 8 0x38 + { 0x06, 0x49, 0x49, 0x29, 0x1e }, // 9 0x39 + { 0x00, 0x36, 0x36, 0x00, 0x00 }, // : 0x3A + { 0x00, 0x56, 0x36, 0x00, 0x00 }, // ; 0x3B + { 0x08, 0x14, 0x22, 0x41, 0x00 }, // < 0x3C + { 0x14, 0x14, 0x14, 0x14, 0x14 }, // = 0x3D + { 0x00, 0x41, 0x22, 0x14, 0x08 }, // > 0x3E + { 0x02, 0x01, 0x51, 0x09, 0x06 }, // ? 0x3F + { 0x32, 0x49, 0x79, 0x41, 0x3e }, // @ 0x40 + { 0x7e, 0x11, 0x11, 0x11, 0x7e }, // A 0x41 + { 0x7f, 0x49, 0x49, 0x49, 0x36 }, // B 0x42 + { 0x3e, 0x41, 0x41, 0x41, 0x22 }, // C 0x43 + { 0x7f, 0x41, 0x41, 0x22, 0x1c }, // D 0x44 + { 0x7f, 0x49, 0x49, 0x49, 0x41 }, // E 0x45 + { 0x7f, 0x09, 0x09, 0x09, 0x01 }, // F 0x46 + { 0x3e, 0x41, 0x49, 0x49, 0x7a }, // G 0x47 + { 0x7f, 0x08, 0x08, 0x08, 0x7f }, // H 0x48 + { 0x00, 0x41, 0x7f, 0x41, 0x00 }, // I 0x49 + { 0x20, 0x40, 0x41, 0x3f, 0x01 }, // J 0x4A + { 0x7f, 0x08, 0x14, 0x22, 0x41 }, // K 0x4B + { 0x7f, 0x40, 0x40, 0x40, 0x40 }, // L 0x4C + { 0x7f, 0x02, 0x0c, 0x02, 0x7f }, // M 0x4D + { 0x7f, 0x04, 0x08, 0x10, 0x7f }, // N 0x4E + { 0x3e, 0x41, 0x41, 0x41, 0x3e }, // O 0x4F + { 0x7f, 0x09, 0x09, 0x09, 0x06 }, // P 0X50 + { 0x3e, 0x41, 0x51, 0x21, 0x5e }, // Q 0X51 + { 0x7f, 0x09, 0x19, 0x29, 0x46 }, // R 0X52 + { 0x46, 0x49, 0x49, 0x49, 0x31 }, // S 0X53 + { 0x01, 0x01, 0x7f, 0x01, 0x01 }, // T 0X54 + { 0x3f, 0x40, 0x40, 0x40, 0x3f }, // U 0X55 + { 0x1f, 0x20, 0x40, 0x20, 0x1f }, // V 0X56 + { 0x3f, 0x40, 0x38, 0x40, 0x3f }, // W 0X57 + { 0x63, 0x14, 0x08, 0x14, 0x63 }, // X 0X58 + { 0x07, 0x08, 0x70, 0x08, 0x07 }, // Y 0X59 + { 0x61, 0x51, 0x49, 0x45, 0x43 }, // Z 0X5A + { 0x00, 0x7f, 0x41, 0x41, 0x00 }, // [ 0X5B + { 0x02, 0x04, 0x08, 0x10, 0x20 }, // "\" 0X5C + { 0x00, 0x41, 0x41, 0x7f, 0x00 }, // ] 0X5D + { 0x04, 0x02, 0x01, 0x02, 0x04 }, // ^ 0X5E + { 0x40, 0x40, 0x40, 0x40, 0x40 }, // _ 0X5F + { 0x00, 0x01, 0x02, 0x04, 0x00 }, // ` 0X60 + { 0x20, 0x54, 0x54, 0x54, 0x78 }, // a 0X61 + { 0x7f, 0x48, 0x44, 0x44, 0x38 }, // b 0X62 + { 0x38, 0x44, 0x44, 0x44, 0x20 }, // c 0X63 + { 0x38, 0x44, 0x44, 0x48, 0x7f }, // d 0X64 + { 0x38, 0x54, 0x54, 0x54, 0x18 }, // e 0X65 + { 0x08, 0x7e, 0x09, 0x01, 0x02 }, // f 0X66 + { 0x0c, 0x52, 0x52, 0x52, 0x3e }, // g 0X67 + { 0x7f, 0x08, 0x04, 0x04, 0x78 }, // h 0X68 + { 0x00, 0x44, 0x7d, 0x40, 0x00 }, // i 0X69 + { 0x20, 0x40, 0x44, 0x3d, 0x00 }, // j 0X6A + { 0x7f, 0x10, 0x28, 0x44, 0x00 }, // k 0X6B + { 0x00, 0x41, 0x7f, 0x40, 0x00 }, // l 0X6C + { 0x7c, 0x04, 0x18, 0x04, 0x78 }, // m 0X6D + { 0x7c, 0x08, 0x04, 0x04, 0x78 }, // n 0X6E + { 0x38, 0x44, 0x44, 0x44, 0x38 }, // o 0X6F + { 0x7c, 0x14, 0x14, 0x14, 0x08 }, // p 0X70 + { 0x08, 0x14, 0x14, 0x18, 0x7c }, // q 0X71 + { 0x7c, 0x08, 0x04, 0x04, 0x08 }, // r 0X72 + { 0x48, 0x54, 0x54, 0x54, 0x20 }, // s 0X73 + { 0x04, 0x3f, 0x44, 0x40, 0x20 }, // t 0X74 + { 0x3c, 0x40, 0x40, 0x20, 0x7c }, // u 0X75 + { 0x1c, 0x20, 0x40, 0x20, 0x1c }, // v 0X76 + { 0x3c, 0x40, 0x30, 0x40, 0x3c }, // w 0X77 + { 0x44, 0x28, 0x10, 0x28, 0x44 }, // x 0X78 + { 0x0c, 0x50, 0x50, 0x50, 0x3c }, // y 0X79 + { 0x44, 0x64, 0x54, 0x4c, 0x44 }, // z 0X7A + { 0x00, 0x08, 0x36, 0x41, 0x00 }, // { 0X7B + { 0x00, 0x00, 0x7f, 0x00, 0x00 }, // | 0X7C + { 0x00, 0x41, 0x36, 0x08, 0x00 }, // } 0X7D + { 0x08, 0x08, 0x2a, 0x1c, 0x08 }, // -> 0X7E + { 0x08, 0x1c, 0x2a, 0x08, 0x08 }, // <- 0X7F + { 0x00, 0x00, 0x0f, 0x08, 0x08 }, // 0x80 + { 0x08, 0x08, 0x0f, 0x00, 0x00 }, // 0x81 + { 0x2c, 0x32, 0x02, 0x32, 0x2c }, // ohm 0x82 + { 0x44, 0x3c, 0x04, 0x7c, 0x44 }, // pi 0x83 + { 0x63, 0x55, 0x49, 0x41, 0x41 }, // siguma0x84 + { 0x14, 0x14, 0x7c, 0x14, 0x12 }, // sec 0x85 + { 0x44, 0x3c, 0x14, 0x14, 0x74 }, // man 0x86 + { 0x7c, 0x14, 0x1c, 0x14, 0x7c }, // en 0x87 + { 0x10, 0x10, 0x54, 0x10, 0x10 }, // waru0x88 + { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f }, // 0x89 + { 0x0f, 0x0f, 0x0f, 0x0f, 0x0f }, // 0x8A + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x8B + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x8C + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x8D + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x8E + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x8F + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x90 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x91 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x92 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x93 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x94 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x95 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x96 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x97 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x98 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x99 + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x9A + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x9B + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x9C + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x9D + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x9E + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x9F + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0xA0 + { 0x70, 0x50, 0x70, 0x00, 0x00 }, // . 0xA1 + { 0x00, 0x00, 0x0f, 0x01, 0x01 }, // [ 0xA2 + { 0x40, 0x40, 0x78, 0x00, 0x00 }, // ] 0xA3 + { 0x10, 0x20, 0x40, 0x00, 0x00 }, // , 0xA4 + { 0x00, 0x18, 0x18, 0x00, 0x00 }, // . 0xA5 + { 0x0a, 0x0a, 0x4a, 0x2a, 0x1e }, // wo 0xA6 + { 0x04, 0x24, 0x34, 0x14, 0x0c }, // a 0xA7 + { 0x20, 0x10, 0x78, 0x04, 0x00 }, // i 0xA8 + { 0x18, 0x08, 0x4c, 0x48, 0x38 }, // u 0xA9 + { 0x48, 0x48, 0x78, 0x48, 0x48 }, // e 0xAA + { 0x48, 0x28, 0x18, 0x7c, 0x08 }, // o 0xAB + { 0x08, 0x7c, 0x08, 0x28, 0x18 }, // ya 0xAC + { 0x40, 0x48, 0x48, 0x78, 0x40 }, // yu 0xAD + { 0x54, 0x54, 0x54, 0x7c, 0x00 }, // yo 0xAE + { 0x18, 0x00, 0x58, 0x40, 0x38 }, // tu 0xAF + { 0x08, 0x08, 0x08, 0x08, 0x08 }, // - 0xB0 + { 0x01, 0x41, 0x3d, 0x09, 0x07 }, // a 0xB1 + { 0x20, 0x10, 0x7c, 0x02, 0x01 }, // i 0xB2 + { 0x0e, 0x02, 0x43, 0x22, 0x1e }, // u 0xB3 + { 0x42, 0x42, 0x7e, 0x42, 0x42 }, // e 0xB4 + { 0x22, 0x12, 0x0a, 0x7f, 0x02 }, // o 0xB5 + { 0x42, 0x3f, 0x02, 0x42, 0x3e }, // ka 0xB6 + { 0x0a, 0x0a, 0x7f, 0x0a, 0x0a }, // ki 0xB7 + { 0x08, 0x46, 0x42, 0x22, 0x1e }, // ku 0xB8 + { 0x04, 0x03, 0x42, 0x3e, 0x04 }, // ke 0xB9 + { 0x42, 0x42, 0x42, 0x42, 0x7e }, // ko 0xBA + { 0x02, 0x4f, 0x22, 0x1f, 0x02 }, // sa 0xBB + { 0x4a, 0x4a, 0x40, 0x20, 0x1c }, // si 0xBC + { 0x42, 0x22, 0x12, 0x2a, 0x46 }, // su 0xBD + { 0x02, 0x3f, 0x42, 0x4a, 0x46 }, // se 0xBE + { 0x06, 0x48, 0x40, 0x20, 0x1e }, // so 0xBF + { 0x08, 0x46, 0x4a, 0x32, 0x1e }, // ta 0xC0 + { 0x0a, 0x4a, 0x3e, 0x09, 0x08 }, // ti 0xC1 + { 0x0e, 0x00, 0x4e, 0x20, 0x1e }, // tu 0xC2 + { 0x04, 0x45, 0x3d, 0x05, 0x04 }, // te 0xC3 + { 0x00, 0x7f, 0x08, 0x10, 0x00 }, // to 0xC4 + { 0x44, 0x24, 0x1f, 0x04, 0x04 }, // na 0xC5 + { 0x40, 0x42, 0x42, 0x42, 0x40 }, // ni 0xC6 + { 0x42, 0x2a, 0x12, 0x2a, 0x06 }, // nu 0xC7 + { 0x22, 0x12, 0x7b, 0x16, 0x22 }, // ne 0xC8 + { 0x00, 0x40, 0x20, 0x1f, 0x00 }, // no 0xC9 + { 0x78, 0x00, 0x02, 0x04, 0x78 }, // ha 0xCA + { 0x3f, 0x44, 0x44, 0x44, 0x44 }, // hi 0xCB + { 0x02, 0x42, 0x42, 0x22, 0x1e }, // hu 0xCC + { 0x04, 0x02, 0x04, 0x08, 0x30 }, // he 0xCD + { 0x32, 0x02, 0x7f, 0x02, 0x32 }, // ho 0xCE + { 0x02, 0x12, 0x22, 0x52, 0x0e }, // ma 0xCF + { 0x00, 0x2a, 0x2a, 0x2a, 0x40 }, // mi 0xD0 + { 0x38, 0x24, 0x22, 0x20, 0x70 }, // mu 0xD1 + { 0x40, 0x28, 0x10, 0x28, 0x06 }, // me 0xD2 + { 0x0a, 0x3e, 0x4a, 0x4a, 0x4a }, // mo 0xD3 + { 0x04, 0x7f, 0x04, 0x14, 0x0c }, // ya 0xD4 + { 0x40, 0x42, 0x42, 0x7e, 0x40 }, // yu 0xD5 + { 0x4a, 0x4a, 0x4a, 0x4a, 0x7e }, // yo 0xD6 + { 0x04, 0x05, 0x45, 0x25, 0x1c }, // ra 0xD7 + { 0x0f, 0x40, 0x20, 0x1f, 0x00 }, // ri 0xD8 + { 0x7c, 0x00, 0x7e, 0x80, 0x30 }, // ru 0xD9 + { 0x7e, 0x40, 0x20, 0x10, 0x08 }, // re 0xDA + { 0x7e, 0x42, 0x42, 0x42, 0x7e }, // ro 0xDB + { 0x0e, 0x02, 0x42, 0x22, 0x1e }, // wa 0xDC + { 0x42, 0x42, 0x40, 0x20, 0x18 }, // n 0xDD + { 0x02, 0x04, 0x01, 0x02, 0x00 }, // " 0xDE + { 0x07, 0x05, 0x07, 0x00, 0x00 } // . 0xDF + +}; +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagedata.h Sun Jan 09 11:44:15 2011 +0000 @@ -0,0 +1,134 @@ +char Header2[1024]={ +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3,0x3,0x3, +0x1,0x1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3,0x3,0x3,0x3,0x1,0x1,0xFF, +0xFF,0xFF,0xF,0xF,0xF,0x1F,0x3F,0x7F,0x3F,0x1F,0x1F,0xF,0xF,0xF,0xF,0xF, +0xF,0xF,0x1F,0x1F,0x3F,0x7F,0x3F,0x1F,0x1F,0xF,0xF,0xF,0xF,0xF,0xF,0xF, +0x1F,0x1F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0,0x0,0x0, +0x0,0x0,0x1F,0x1F,0x1F,0xF,0xF,0xF,0xF,0xF,0xF,0xF,0x1F,0x1F,0x1F,0x3F, +0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x3F, +0x1F,0x1F,0xF,0xF,0xF,0xF,0xF,0xF,0xF,0xF,0x1F,0x1F,0x1F,0x3F,0x7F,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x1F,0x1F,0x1F, +0xF,0xF,0xF,0xF,0xF,0xF,0xF,0x1F,0x1F,0x0,0x0,0x0,0x0,0x0,0x0,0xFF, +0xFF,0xFF,0x0,0x0,0x0,0x0,0x0,0xF8,0xFC,0xFE,0xFE,0xFF,0xFF,0xFF,0xFE,0xFE, +0xFC,0xF0,0x0,0x0,0x0,0x0,0xF8,0xFC,0xFE,0xFE,0xFF,0xFF,0xFF,0xFE,0xFE,0xFC, +0x0,0x0,0x0,0x0,0x0,0x7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0,0x0,0x0, +0x0,0x0,0xF8,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFC,0xFC,0xF0,0x80, +0x0,0x1,0x3,0xF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x7,0x3,0x0,0x0,0x0,0x60, +0x78,0x7C,0x7E,0x7E,0x7E,0x7F,0x7F,0x7F,0x7E,0x7E,0x7E,0x7C,0x70,0x0,0x0,0x0, +0x1,0x7,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF,0x3,0x1,0x0,0xC0,0xF0,0xF8,0xFC, +0xFE,0xFE,0xFE,0xFF,0xFF,0xFE,0xFE,0xFE,0xFC,0x0,0x0,0x0,0x0,0x0,0x0,0xFF, +0xFF,0xFF,0x0,0x0,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x0,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x0,0x0,0x0,0x0,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0,0x0,0x0, +0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7, +0x0,0x0,0x0,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x0,0x0,0x0,0x0,0x0,0x78, +0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8, +0xF8,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0xF9,0x0,0x0,0x0,0x0,0x1F,0x7F,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0,0x0,0x0,0x0,0x0,0x0,0xFF, +0xFF,0xFF,0x80,0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x80,0x80, +0xC0,0xE0,0xE0,0xC3,0xC3,0x83,0x87,0x87,0x87,0x83,0x83,0x83,0xC1,0xC0,0xC0,0xE0, +0xF0,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xF0,0xE0,0xC0, +0xC0,0xC1,0x83,0x83,0x83,0x83,0x87,0x87,0x87,0x83,0x83,0xC3,0xC1,0xC1,0xE7,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xE0,0xC0,0xC0,0xC1,0x81, +0x83,0x83,0x83,0x87,0x87,0x83,0xC3,0xC3,0xE1,0x80,0x80,0x80,0x80,0x80,0x80,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +}; + +char Header3[1024] = { +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x8F,0x6B,0x6B,0x6B,0x2B,0x3,0x3, +0xEB,0x6B,0x2B,0x29,0x69,0x8F,0xCF,0xDF,0xFF,0xFF,0xFF,0xFF,0xF7,0xF7,0xF7,0xF7, +0xF7,0x37,0x37,0xD7,0xC7,0xE3,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xEF,0xEF, +0xEF,0xEF,0xEF,0xF,0xF,0xEF,0xEF,0xEF,0xEF,0xEF,0xE7,0xE7,0xFF,0xFF,0xFF,0xFF, +0x7F,0xF,0xC1,0xF3,0xFB,0x3F,0x87,0x21,0x3B,0xBF,0xBF,0xBF,0x9F,0x8F,0x9F,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0,0x2,0x6A,0x6A,0x6A,0x2,0x2, +0x6B,0x6A,0x6A,0x2,0x0,0xFB,0x3F,0xFF,0xFF,0xFF,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB, +0xFB,0x0,0xFB,0xFB,0xFB,0xFB,0xFB,0xF9,0xF8,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFB, +0x0,0x0,0xFF,0xFD,0xFE,0xFE,0xFF,0x0,0x0,0xDD,0xDD,0xCC,0xC4,0xCC,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFF,0xFF,0xFF,0xF8,0xF8, +0xF9,0xF9,0xF9,0xF9,0xF9,0xF9,0xF8,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE, +0xFE,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xFD,0xFD,0xFD, +0xFD,0xFD,0xFD,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFD,0xFC,0xFC,0xFF,0xFF,0xFF,0xFF, +0xF8,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF7,0x7,0x7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xE7,0x7,0x7,0xFF,0xFF,0xBF,0x7F,0x7F,0x7F, +0x7F,0x3F,0x3F,0x3F,0x3F,0xBF,0xBF,0xBF,0x3F,0x1F,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x9F,0xCB,0xC3,0xEF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0x3F,0x3F,0x3F,0xBF,0xBF,0xBF,0x9F,0x9F,0x9F,0x1F,0x1F,0xBF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xDF,0x9F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x7F,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x0,0xFE,0x0,0x0,0xFE,0x0,0xFF,0xFF, +0xFF,0x0,0x0,0xFE,0xFE,0xFE,0x0,0x1,0xFF,0xFF,0x87,0x1,0x6C,0xEE,0xEC,0x61, +0xE7,0xFF,0xFF,0x1,0x0,0xFE,0xFE,0x79,0x0,0x0,0xFF,0xFF,0xFF,0xFE,0xFE,0xFF, +0xFF,0xF3,0xF7,0xE7,0x8F,0xF,0x13,0xF9,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xCF,0xEF,0xF7,0xF3,0xFB,0xF8,0x0,0x0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xBF,0x7F,0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x3F,0x1F,0x0,0x38,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0x7F,0x3F,0x3F,0x9F,0xCF,0xE7,0xF3, +0xF9,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, +0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE, +0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFF,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + +};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Jan 09 11:44:15 2011 +0000 @@ -0,0 +1,113 @@ +#include "mbed.h" + +////////////////////////////////////////////////////////// +//////// For TextLCD on StarBoard Orage //////// +////////////////////////////////////////////////////////// +#include "TextLCD.h" +#ifdef USE_TextLCD_20x4 +//TextLCD lcd( p24, p26, p27, p28, p29, p30, TextLCD::LCD20x4 ); // rs, e, d0-d3 +#else +TextLCD lcd( p24, p26, p27, p28, p29, p30 ); // rs, e, d0-d3 +#endif + +#include "SG12864A.h" +#include "imagedata.h" +SG12864A bwlcd; + +DigitalOut myled1(LED1); +DigitalOut myled2(LED2); +DigitalOut myled3(LED3); +DigitalOut myled4(LED4); + +int main() { + char status; + char s[8]; + myled1 = 0; + myled2 = 0; + myled3 = 0; + myled4 = 0; + lcd.cls(); + lcd.printf("SG12864A test"); + bwlcd.lcd_Init(); + wait(1); + bwlcd.lcd_Clear(0); + wait(1); + while(1) { + int index; + wait(1); + bwlcd.lcd_Clear(0x00); + myled1 = 1; + wait(1); + bwlcd.lcd_Clear(0xFF); + myled1 = 0; + myled2 = 1; + wait(1); + bwlcd.lcd_Clear(0x00); + for(int i=0;i<=64;i++) + { + bwlcd.lcd_Pixel(i,i,1); + bwlcd.lcd_Pixel(64+i,i,1); + } + myled1 = 1; + wait(3); + bwlcd.lcd_Clear(0xFF); + for(int i=0;i<64;i++) + { + bwlcd.lcd_Pixel(64+i,i,0); + } + myled1 = 0; + myled2 = 0; + myled3 = 1; + wait(3); + bwlcd.lcd_Clear(0); + for(int j=0;j<8;j++) + { + for(int i=0;i<16;i++) + { + index = j*16+i+0x20; + bwlcd.lcd_Char(j,i,index); + } + } + myled1 = 1; //0101 + wait(3); + bwlcd.lcd_Clear(0); + for(int j=0;j<8;j++) + { + for(int i=0;i<18;i++) + { + index = j*18+i+0x50; + bwlcd.lcd_Char1(j,i,index); + } + } + myled1=0; + myled2=1; //0101 -> 0110 + wait(3); + bwlcd.lcd_Image(Header2); + myled1=1; //0110 -> 0111 + wait(3); + bwlcd.lcd_Scroll(50); + bwlcd.lcd_Image(Header3); + myled4=1; + myled3=0; + myled2=0; + myled1=0; + wait(3); + bwlcd.lcd_Scroll(100); + wait(1); + bwlcd.lcd_Clear(0); + wait(1); + bwlcd.lcd_Str(0,0,"Hello World!!"); + bwlcd.lcd_Str(2,0,"Graphic LCD test"); + myled1=1; //1000 -> 1001 + wait(1); + bwlcd.lcd_Clear(0); + for(int j=0; j<32; j+=2){ // Box + bwlcd.lcd_Line(j,j, 127-j, j); // display small box + bwlcd.lcd_Line(j,j, j, 63 -j); + bwlcd.lcd_Line(127-j,63-j, 127-j,j); + bwlcd.lcd_Line(128-j,63-j, j,63-j); + wait_ms(500); + } + + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sun Jan 09 11:44:15 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e