TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: japifer_22 en 25 de Febrero de 2012, 22:18:30
-
hola a todos nuevamente. otra vez me enceuntro en este foro para acudir de su ayuda.
como bien dice el titulo estoy con una pantalla GLCD, una de 240x128 touch (CFAG260128L-TMI-TZTS) y, bueno tengo varias dudas con respecto a esto, y quisiera ver si me pueden ayudar con esto:
he visto en varios hilos que hablan de un controlador XXX.
¿este controlador lo trae incluido la LCD o es aparte?
en caso de ser aparte ¿es obligatorio trabajar con este dispositivo? ó ¿puedo trabajar con la LCD sin este controlador?
¿como se que libreria usar para esta LCD?
¿como se q?
para el caso del touch, esto lo puedo trabajar con los puerto ADC del PIC¿? o tengo que usar otro controlador aparte¿?
-
El controlador es propio del GLCD. La librería a utilizar depende de ese controlador. Para el touch se puede usar el ADC del micro o uno externo, con el externo es más sencillo (me parece :mrgreen: )
Saludos!
-
hola suky. gracias por la respuesta me ha servido de mucho. me he puesto a ver el datasheet de la LCD y utiliza un controlador T6963C.
en esto me puse a investigar y encontre unos ejemplos de como hacer funcionar la LCD, los cuales he tenido buenos resultados en tan poco tiempo, he podido escribir en la pantalla hacer rectangulos, lineas, etc.
todo esto por la pagina ejemplo de GLCD 240x128 (http://www.ccsinfo.com/forum/viewtopic.php?t=31255)
en fin, ahora quiero ir mas allá. baje el bitmap2GLCD y obtube una matriz para una imagen 240*128, pero no se como hacer que se vea, he visto que utilizan algo así como:
for(i = 0; i < 240; i++){
for(j = 0; j < 128; j++){
//aqui obtengo el pixel en coordenadas i, j
}
}
pero no lo entiendo por que se hace esto, y revisando la libreria que baje, me encuentro con:
// glcd_pixel(x,y,c) sets pixel x,y with c color
void glcd_pixel(unsigned int8 x, unsigned int8 y, int1 c){
unsigned int8 x_H;
unsigned int8 x_L=0;
x_H = (x / 8);
x_L = 7 - (x - 8*x_H);
glcd_gotoxy(x_H,y,0); //Bug fixed, thanks to etiedon
if(c){
glcd_WriteCmd1(1,(LCDBitSet|x_L));
} else {
glcd_WriteCmd1(1,(LCDBitReset|x_L));
}
}
me podrian ayudar a insertar una imagen en la LCD
saludos
-
hola otra vez, bueno todavia no logro montar una imagen en la GLCD.
estoy usando la siguente libreria para la GLCD con controlador T6963C:
/////////////////////////////////////////////////////////////////////////
//// T6963C.c - T6963C driver ////
//// Not for comercial Use ////
//// Driver by treitmey Graphic functions and Resolution Select ////
//// by endSly (endsly@gmail.com) ////
//// ////
//// This file contains drivers for using a Tosiba T6963C controller ////
//// in parallel/8080(intel) mode. The T6963C is 240 pixels across ////
//// and 64 pixels down. The driver treats the upper left pixel 0,0 ////
//// ////
//// Connections are as follows: ////
//// /WR - - C4 ////
//// /RD - - C5 ////
//// C//D- - C6 ////
//// /RST- - C7 ////
//// DATA0-7 PORTD0-7 ////
//// LCD's FS is tied low (FS = 0 is 8x8 font) ////
//// ////
/////////////////////////////////////////////////////////////////////////
// 240 x 64 in the 8x8 font mode means that 30 characters across by
// 8 rows of characters may be displayed
#define set_tris_lcd(x) set_tris_d(x)
#define LCDColorBlack 0b1
#define LCDColorWhite 0b0
//TRIS DataBus=x, note:control bus (PORTC) always outputs
unsigned int16 TextHome = 0x0F00;//0x0780;
const int8 TextArea = 0x001E; // how many bytes before a new line
const int16 GraphicsHome = 0x0000;
const int8 GraphicsArea = 0x001E; // how many bytes before a new line
const int8 AutoModeWrite = 0xB0;
const int8 AutoModeRead = 0xB1;
const int8 AutoModeReset = 0xB2;
const int8 LCDModeSet = 0x80; // send this OR'd with the following
const int8 LCDMode_OR = 0b0000;
const int8 LCDMode_XOR = 0b0001;
const int8 LCDMode_AND = 0b0010;
const int8 LCDMode_TA = 0b0100; // TEXT ATTRIBUTE mode.
const int8 LCDMode_RAM = 0b1000; // 1=CG RAM, 0=internal CG ROM
const int8 LCDSetCursorPtr = 0x21; // cursor address
const int8 LCDSetCursorSize = 0xA0; // 1 line cursor
const int8 LCDDispMode = 0x90; // send this OR'd with the following
const int8 LCDDisp_BLK = 0b0001;
const int8 LCDDisp_CUR = 0b0010;
const int8 LCDDisp_TXT = 0b0100;
const int8 LCDDisp_GRH = 0b1000;
const int8 LCDBitSet = 0xF8;
const int8 LCDBitReset = 0xF0;
const int8 LCDBit0 = 0b000;
const int8 LCDBit1 = 0b001;
const int8 LCDBit2 = 0b010;
const int8 LCDBit3 = 0b011;
const int8 LCDBit4 = 0b100;
const int8 LCDBit5 = 0b101;
const int8 LCDBit6 = 0b110;
const int8 LCDBit7 = 0b111;
const int8 LCDSetPtr = 0xE0;
struct lcd_pin_def
{
BOOLEAN unused1; // C0
BOOLEAN unused2; // C1
BOOLEAN unused3; // C2
BOOLEAN unused4; // C3
BOOLEAN w_bar; // C4 Write bar active low
BOOLEAN r_bar; // C5 Read bar active low
BOOLEAN cd; // C6 Command/Data BAR 1=command 0=data
BOOLEAN reset_bar; // C7 Reset active low
int data : 8; // PortD=Data bus
};
struct lcd_pin_def LCD;
#byte LCD = 0xf82 // portC address on 18F452
int glcd_ReadByte(void);
void glcd_WriteByte(int1 cd, int data);
void glcd_WriteByteAuto(int data);
void glcd_WriteCmd2(int16 data, int cmd);
void glcd_WriteCmd1(int data, int cmd);
void glcd_gotoxy(int x, int y, int1 text);
#inline
void glcd_init(unsigned int16 res_x, unsigned int16 res_y) {
int16 counter;
TextHome = (res_x/8)*res_y; //0x0F00;//0x0780;
set_tris_c(0x00); // graphic lcd control lines all output
set_tris_lcd(0xff); //TRIS DATA bus,note:control bus always outputs
LCD.w_bar = 1; // INITIAL STATES OF CONTROL PINS
LCD.r_bar = 1; //
LCD.cd = 1; // command
LCD.reset_bar = 0; // perform a reset
delay_us(10); // delay for a reset
LCD.reset_bar = 1; // run
// Set up the graphics and text areas
glcd_WriteCmd2(TextHome, 0x40);
glcd_WriteCmd2(TextArea, 0x41);
glcd_WriteCmd2(GraphicsHome, 0x42);
glcd_WriteCmd2(GraphicsArea, 0x43);
// set address to 0
glcd_WriteCmd2(0x0000, 0x24);
glcd_WriteCmd2(0x0000, 0x24);
// Clear all RAM of LCD (8k)
glcd_WriteByte(1, AutoModeWrite);
for (counter = 0; counter < 0x1fff; counter++)
{
glcd_WriteByteAuto(0); // fill everything with zeros
}
glcd_WriteByte(1, AutoModeReset);
}
void glcd_WriteByte(int1 cd, int data)
{
int status = 0, temp = 0;
set_tris_lcd(0xff);
LCD.w_bar = 1;
LCD.r_bar= 1;
LCD.cd = 1;//defaults
while (status != 0x03) { // is LCD busy?
LCD.r_bar= 0;
temp = LCD.data;
LCD.r_bar = 1;
status = temp & 0x03;
}
set_tris_lcd(0x00); // All outputs
LCD.cd = cd; // Command/Data bar
LCD.data = data;
LCD.r_bar = 1; // not read
LCD.w_bar = 0; // write
LCD.w_bar = 1; // release
}
void glcd_WriteByteAuto(int data)
{
int status = 0, temp = 0; // status bits ARE DIFFERENT BITS THAN NORMAL
set_tris_lcd(0xff);
LCD.w_bar = 1;
LCD.r_bar = 1;
LCD.cd = 1; // defaults
while (status != 0x08) { // is LCD busy?
LCD.r_bar = 0;
temp = LCD.data;
LCD.r_bar = 1;
status = temp & 0x08;
}
set_tris_lcd(0x00); // All outputs
LCD.cd = 0; // This is always data, cd=0
LCD.data = data; // Put data on data bus
LCD.w_bar = 0; // write
LCD.w_bar = 1; // release
}
void glcd_WriteCmd1(int data, int cmd)
{
glcd_WriteByte(0, data);
glcd_WriteByte(1, cmd);
}
void glcd_WriteCmd2(int16 data, int cmd)
{
glcd_WriteByte(0, data & 0xff);
glcd_WriteByte(0, data>>8);
glcd_WriteByte(1, cmd);
}
int glcd_ReadByte(void)
{
int data = 0, status = 0, temp = 0;
set_tris_lcd(0xff);
LCD.w_bar = 1;
LCD.r_bar = 1;
LCD.cd = 1; // defaults
#asm nop #endasm
while (status != 0x03) { // is LCD busy?
LCD.r_bar = 0;
temp = LCD.data;
LCD.r_bar = 1;
status = temp & 0x03;
}
LCD.cd = 0; // Command/Data bar
LCD.r_bar = 0; // read
/////////////////////////////////////////////////////////
#asm nop #endasm // THIS PAUSE IS VERY NESSESARY !!!//
/////////////////////////////////////////////////////////
data = LCD.data;
LCD.r_bar = 1;
LCD.cd = 1;
return data; // Return the read data
}
void glcd_putc(char c) {
glcd_WriteCmd1(c - 0x20, 0xc0);
}
void glcd_gotoxy(int x, int y, int1 text) { // sets memory location to screen location x, y
// location 1,1 is upper left corner; text = 1 (text area), text = 0 (graphics area)
int16 location, home;
int line;
if (!text) {
home = GraphicsHome;
line = GraphicsArea;
} else {
home = TextHome;
line = TextArea;
}
location = home + (((int16)y) * line) + x;
glcd_WriteCmd2(location, 0x24);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
// Purpose: Clears LCD RAM
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
void glcd_clr(int16 location,int16 size)
{
////fprintf(DEBUG,"loc=%lu size=%lu\n\r",location,size);
// look very simular to the init,... doesn't it. : )
glcd_WriteCmd2(location,LCDSetPtr);
glcd_WriteCmd1(1,AutoModeWrite);
for (;size;size--)
{
glcd_WriteByteAuto(0x00);//clear ram
}
glcd_WriteCmd1(1,AutoModeReset);
}
/////////////////////////////////////////
// Graphics Controller by endSly (c)2007
// endSly@gmail.com
// Not for comercial use
/////////////////////////////////////////
unsigned int8 i; //General Purpouse variable
// glcd_pixel(x,y,c) sets pixel x,y with c color
void glcd_pixel(unsigned int8 x, unsigned int8 y, int1 c){
unsigned int8 x_H;
unsigned int8 x_L=0;
x_H = (x / 8);
x_L = 7 - (x - 8*x_H);
glcd_gotoxy(x_H,y,0); //Bug fixed, thanks to etiedon
if(c){
glcd_WriteCmd1(1,(LCDBitSet|x_L));
} else {
glcd_WriteCmd1(1,(LCDBitReset|x_L));
}
}
// glcd_pixel8(x,y,px8) sets 8 pixels in line.
void glcd_pixel8(unsigned int8 x, unsigned int8 y, int8 pixel8){
unsigned int8 x_H;
x_H = (x / 8);
glcd_gotoxy(x_H+1,y,0);
glcd_WriteCmd1(pixel8,0xc0);
}
// glcd_line(x0,y0, x1,y1, c) puts line from (x0, y0) to (x1, y1) with c color
#separate
void glcd_line(signed int16 x0, signed int16 y0,
signed int16 x1, signed int16 y1 , int1 c){
int16 x;
int16 y;
unsigned int16 n;
int1 m_case;
x=abs(x1-x0);
y=abs(y1-y0);
if (y > x){
n=(y1-y0);
m_case=1;
} else {
n=(x1-x0);
m_case=0;
}
for(i=0 ; i<=n ; i++){
if (m_case){
y=i + y0;
x=(y*(x1-x0))/(y1-y0) + x0;
} else {
x=i + x0;
y=(x*(y1-y0))/(x1-x0) + y0;
}
glcd_pixel(x, y,c);
}
}
// glcd_square(x0,y0,x1,y1, c) sets square
void glcd_square( unsigned int8 x0, unsigned int8 y0,
unsigned int8 x1, unsigned int8 y1 , int1 c){
glcd_line(x0,y0, x1,y0, c);
glcd_line(x1,y0, x1,y1, c);
glcd_line(x0,y1, x1,y1, c);
glcd_line(x0,y0, x0,y1, c);
}
// glcd_box(x0,y0,x1,y1, c)
void glcd_box( unsigned int8 x0, unsigned int8 y0,
unsigned int8 x1, unsigned int8 y1 , int1 c){
unsigned int8 x;
unsigned int8 y;
for(y=y0; y<=y1;y++){
for(x=x0; x<=x1;x++){
if((!(x%8)) && ((x1-x)>8)){
glcd_pixel8(x,y,0xFF*c); //Same time to write 8 pixel
x +=7 ;
} else {
glcd_pixel(x,y,c);
}
}
}
}
//glcd_image8 (*Pic, x, y, size_x, size_y)
void glcd_image8(int8 *pic_px, unsigned int8 x, unsigned int8 y,
unsigned int8 size_x, unsigned int8 size_y){
unsigned int8 px_y;
unsigned int8 px_x;
unsigned int8 px=0;
for(px_y=y; px_y<(y+size_y); px_y++){
for(px_x=x; px_x<(x+size_x); px_x+=8){
glcd_pixel8(px_x, px_y, *(pic_px+px));
px+=1;
}
}
}
#use fast_io(D)
y la imagen que quiero montar es:
unsigned char const imagen[240][128] = {
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x80 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x01 , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8 , 0x00
0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFE , 0x00 , 0x00 , 0x00 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFC , 0x00 , 0x00 , 0x0F , 0xF4 , 0x7F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8
0x00 , 0x00 , 0x00 , 0x0E , 0x0F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x00 , 0x00
0x00 , 0x00 , 0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xE0 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xC0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x1F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x80
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0F , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x07 , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFC , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x03
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xF0 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xF0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xE0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x0C
0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xC0 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xC0 , 0x00 , 0x01 , 0x80
0x00 , 0x00 , 0x00 , 0x00 , 0x1F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0x80 , 0x00 , 0x3F , 0xFF , 0x80 , 0x70
0x00 , 0x00 , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xF9 , 0x8F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0x80 , 0x03 , 0xFF , 0xFF , 0xF6 , 0xF8 , 0x00 , 0x00
0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xF3 , 0x83
0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x80 , 0xC7
0xFF , 0xFF , 0xFF , 0xFF , 0x00 , 0x00 , 0x03 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x08 , 0xFF
0xFC , 0x07 , 0x18 , 0xFF , 0x00 , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0x80 , 0x00 , 0x01 , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8 , 0x02
0x00 , 0xFF , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xC0 , 0x00 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF7 , 0xFF
0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x00
0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x07 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xF0 , 0x00 , 0x00 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0x07 , 0xFF , 0xFF , 0xFF
0xFF , 0xDF , 0xF8 , 0x00 , 0x00 , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0x0F , 0xFF , 0xFF , 0xFF , 0xF0 , 0x00
0x00 , 0x00 , 0x00 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0x0F , 0xFF , 0xFF , 0xFC , 0x00 , 0x00 , 0x00 , 0x80
0x00 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x1F , 0xFF
0xFF , 0xE0 , 0x00 , 0x00 , 0x00 , 0xC0 , 0x00 , 0x7F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0x1F , 0xFF , 0xBE , 0x00
0x00 , 0x00 , 0x00 , 0x60 , 0x00 , 0x3F , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0x1F , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x70 , 0x00 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x38
0x00 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x32
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3F
0xF7 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xB0 , 0x62 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7F , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0x70 , 0x42 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x70 , 0x01 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0x60 , 0x52 , 0x03 , 0x80 , 0x00 , 0x00 , 0x00 , 0x70
0x00 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x70 , 0x70
0x07 , 0xC0 , 0x00 , 0x00 , 0x00 , 0x78 , 0x00 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0x30 , 0x58 , 0x0F , 0xC0
0x00 , 0x00 , 0x00 , 0xF8 , 0x02 , 0x7F , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xB1 , 0xDC , 0x0F , 0xC0 , 0x0E , 0x00
0x03 , 0xFC , 0x06 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xF7 , 0x3C , 0x1F , 0x80 , 0x4E , 0x00 , 0x07 , 0xFC
0x0E , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0xF8
0x1F , 0xC0 , 0x00 , 0x00 , 0x3F , 0xFC , 0x07 , 0x7F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBE , 0x00 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xBF , 0xE0 , 0x3F , 0xE0
0x00 , 0x0F , 0xFF , 0xFE , 0x03 , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBE , 0x00
0x00 , 0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xCF , 0x80 , 0x7F , 0xF0 , 0x07 , 0xFF
0xFF , 0xFE , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBC , 0x00 , 0x00 , 0x01
0xFF , 0xFF , 0xFF , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF
0xEF , 0xFF , 0xFF , 0xF8 , 0x7F , 0xFF , 0xFF , 0xFE
0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xB8 , 0x40 , 0x06 , 0x01 , 0xFF , 0xE0
0x00 , 0x18 , 0x3F , 0xFF , 0xFF , 0xFF , 0xEF , 0xFF
0xFF , 0xFF , 0x3F , 0xFF , 0xFF , 0xFF , 0x0F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xB1 , 0x10 , 0x0F , 0x01 , 0xFF , 0xFF , 0xFF , 0x98
0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE3
0x3F , 0xFF , 0xFF , 0xFF , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xB1 , 0x18
0x1F , 0x81 , 0xFF , 0xFF , 0xFF , 0xFF , 0x3F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xDF , 0x01 , 0x3F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xA0 , 0x40 , 0x0F , 0x01
0xFF , 0xFC , 0x00 , 0x1F , 0xFF , 0xFF , 0xFE , 0x40
0x07 , 0xFF , 0xCF , 0x00 , 0x3F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF3 , 0xFE
0x7F , 0xFD , 0x80 , 0x00 , 0x00 , 0x01 , 0xFF , 0xF0
0x00 , 0x3F , 0x00 , 0x0C , 0x7F , 0x60 , 0x07 , 0xFF
0xFF , 0xC0 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0x17 , 0x3D
0x80 , 0x00 , 0x00 , 0x03 , 0xFF , 0xFE , 0x01 , 0xFF
0x00 , 0x00 , 0x1F , 0xFC , 0x07 , 0xFF , 0xFF , 0xC0
0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0x80 , 0x00
0x00 , 0x03 , 0xFF , 0xFF , 0xCF , 0xF8 , 0x00 , 0x00
0x07 , 0xFE , 0x07 , 0xFF , 0xFF , 0xC0 , 0x13 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0x7F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0x80 , 0x00 , 0x00 , 0x03
0xFF , 0xFF , 0xCF , 0xE0 , 0x00 , 0x00 , 0x00 , 0xF0
0x0F , 0xFF , 0xFF , 0xE0 , 0x00 , 0x7F , 0xFF , 0xFF
0x9F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0x80 , 0x00 , 0x00 , 0x03 , 0xFF , 0xFF
0xEF , 0x00 , 0x00 , 0x00 , 0x01 , 0xF8 , 0x7F , 0xFF
0xFF , 0xF8 , 0x00 , 0x3F , 0xFF , 0xFF , 0x9F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0x80 , 0x00 , 0x00 , 0x03 , 0xFF , 0xFF , 0xFF , 0x00
0x00 , 0x00 , 0x00 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF
0x80 , 0x1F , 0xFF , 0xFF , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0x80 , 0x00
0x00 , 0x03 , 0xFF , 0xFC , 0x3F , 0x00 , 0x00 , 0x00
0x00 , 0x1F , 0xFF , 0xFF , 0xFF , 0xC0 , 0x00 , 0x7F
0xFF , 0xFF , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0x80 , 0x00 , 0x00 , 0x03
0xFF , 0xFF , 0xFC , 0x00 , 0x00 , 0x00 , 0x00 , 0x0E
0x1F , 0xFF , 0xFF , 0x00 , 0x00 , 0x7F , 0xFF , 0xFF
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0x80 , 0x00 , 0x00 , 0x07 , 0xFF , 0xFF
0xF8 , 0x00 , 0x00 , 0x00 , 0x00 , 0x07 , 0x9F , 0xFF
0xC0 , 0x00 , 0x01 , 0xFF , 0xFF , 0xFF , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0x80 , 0x00 , 0x00 , 0x7F , 0xFF , 0xFF , 0xF8 , 0x00
0x00 , 0x00 , 0x00 , 0x03 , 0xDF , 0xFF , 0xFF , 0xF0
0x0F , 0xFF , 0xFF , 0xFF , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0x80 , 0x00
0x07 , 0xFF , 0xFF , 0xFF , 0xF8 , 0x00 , 0x00 , 0x00
0x00 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0x80 , 0x00 , 0x1F , 0xFF
0xFF , 0xFF , 0xF0 , 0x00 , 0x00 , 0x0F , 0xC0 , 0x00
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0x80 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF
0xE0 , 0x00 , 0x03 , 0xFF , 0xE0 , 0x00 , 0x7F , 0xFF
0xFF , 0xFD , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0x80 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xC0 , 0x00
0x1F , 0xFF , 0xE0 , 0x00 , 0x3F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0x81 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x00 , 0xFF , 0xFF
0xF0 , 0x00 , 0x1F , 0xFF , 0xFF , 0xF7 , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0x81 , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xC0 , 0x01 , 0xFF , 0xFF , 0xF8 , 0x00
0x1F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xDF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0x83 , 0xFF , 0x9F , 0xFF , 0xFD , 0xFF
0xC0 , 0x03 , 0xFF , 0xFF , 0xF8 , 0x00 , 0x0F , 0xFF
0xFF , 0xFF , 0xFE , 0x77 , 0xFF , 0xBF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0x81 , 0x7F , 0x7F , 0xFF , 0xFE , 0xFF , 0xC0 , 0x07
0xFF , 0xFF , 0xF8 , 0x00 , 0x0F , 0xFF , 0xFF , 0xFF
0xC0 , 0x7F , 0xFF , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xF8 , 0xFF , 0xFF , 0xFD , 0x83 , 0x7F
0x7F , 0xFF , 0xFF , 0xFF , 0x80 , 0x0F , 0xFF , 0xFF
0xFC , 0x00 , 0x07 , 0xFF , 0xFF , 0xFF , 0x80 , 0x4F
0xFE , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFC , 0xFF , 0xFF , 0xFD , 0xBF , 0xF8 , 0x7F , 0xFF
0xFF , 0xFF , 0x80 , 0x3F , 0xFF , 0xFF , 0xFC , 0x00
0x07 , 0xFF , 0xFF , 0xFF , 0xC0 , 0x3F , 0xF9 , 0xFF
0xF9 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFC , 0xFF , 0xE1 , 0xFF , 0xFF
0x00 , 0x3F , 0xFF , 0xFF , 0xF8 , 0x00 , 0x03 , 0xFF
0xFF , 0xFF , 0x82 , 0x7F , 0xF7 , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xF9 , 0xFF , 0xFF , 0x00 , 0x7F
0xFF , 0xFF , 0xE0 , 0x00 , 0x09 , 0xFF , 0xFF , 0xFF
0x80 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0x9F , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xFE , 0x00 , 0xFF , 0xFF , 0xFF
0x80 , 0x00 , 0x04 , 0xFF , 0xFF , 0xFF , 0xC4 , 0x3F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFE , 0x41 , 0x9D , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xFC , 0x01 , 0x80 , 0x01 , 0xFE , 0x00 , 0x00
0x04 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFE , 0x1F , 0xFF , 0xFF , 0xFC
0x40 , 0x0D , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC
0x00 , 0x00 , 0x00 , 0x78 , 0x00 , 0x00 , 0x04 , 0x7F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8 , 0x20 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3F , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0x80 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xF8 , 0xA0 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xC0 , 0x0F
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xF0 , 0xE8 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x03 , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE8
0xE0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xF0 , 0x00 , 0x3F , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8 , 0xC8 , 0x00
0x00 , 0x1C , 0x00 , 0x00 , 0x00 , 0x1F , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xF8 , 0x00 , 0x07 , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xF0 , 0xE0 , 0x00 , 0x00 , 0x1E
0x00 , 0x00 , 0x00 , 0x1F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x00
0x00 , 0x3F , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xB0 , 0x60 , 0x04 , 0x00 , 0x3E , 0x00 , 0x00
0x10 , 0x1F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xC0 , 0x00 , 0x1F
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xA0
0x60 , 0x14 , 0x00 , 0x3F , 0x00 , 0x00 , 0xF0 , 0x1F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xE0 , 0x00 , 0x01 , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x20 , 0x00
0x00 , 0x7F , 0x80 , 0x01 , 0xF0 , 0x0F , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xF0 , 0x00 , 0x00 , 0x3F , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xE0 , 0x20 , 0x00 , 0x00 , 0xFF
0x80 , 0xFB , 0xF0 , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF8
0x00 , 0x00 , 0x01 , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xE0 , 0x38 , 0x00 , 0x03 , 0xFF , 0xC3 , 0xFF
0xF0 , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xE0 , 0x01 , 0xFC , 0x00 , 0x00
0x00 , 0x1D , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0
0x1F , 0xF0 , 0x1F , 0xFF , 0xE3 , 0xFF , 0xF0 , 0x07
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0x7F , 0x00 , 0xFF , 0xFE , 0x00 , 0x00 , 0x00 , 0x05
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0xC0 , 0x1F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x07 , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFE , 0xF8 , 0x0F
0xFF , 0xFF , 0xC0 , 0x00 , 0x00 , 0x01 , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0xC8 , 0x0F , 0xFF , 0xFF , 0xFF
0xFF , 0x7F , 0xE0 , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xF0 , 0x3F , 0xFF , 0xFF
0xFE , 0x00 , 0x00 , 0x01 , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xD8 , 0x07 , 0xFF , 0xFF , 0xFF , 0xC0 , 0xFF
0xC0 , 0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFB , 0xC0 , 0xFF , 0xFF , 0xFF , 0xFF , 0x80
0x00 , 0x01 , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0x98
0x07 , 0xFF , 0xFF , 0xFF , 0x80 , 0x7F , 0xC0 , 0x03
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0x81 , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x00 , 0x01
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0x98 , 0x03 , 0xFF
0xFF , 0xFF , 0x80 , 0x7F , 0xC0 , 0x07 , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x03 , 0xFF
0xFF , 0xFF , 0xFF , 0xF0 , 0x00 , 0x01 , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0x98 , 0x03 , 0xFF , 0xFF , 0xFD
0x80 , 0x3F , 0x80 , 0x07 , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0x07 , 0xFF , 0xFF , 0xFF
0xFF , 0xFC , 0x00 , 0x01 , 0xBF , 0xFF , 0xFF , 0xFF
0xFF , 0xB8 , 0x01 , 0xFF , 0xFF , 0xFF , 0x00 , 0x1F
0x80 , 0x07 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFE , 0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0x00 , 0x01 , 0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0x38
0x01 , 0xFF , 0xE7 , 0xFC , 0x30 , 0x1F , 0x80 , 0x0F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC
0x1F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0x80 , 0x01
0xBF , 0xFF , 0xFF , 0xFF , 0xFF , 0x78 , 0x00 , 0xFF
0xE0 , 0x3F , 0xC0 , 0x3F , 0x00 , 0x07 , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0x3F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x01 , 0xBF , 0xFF
0xFF , 0xFF , 0xFF , 0x7C , 0x00 , 0x7F , 0xFF , 0x90
0x00 , 0x7E , 0x00 , 0x1F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xF8 , 0x3F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xF0 , 0x01 , 0xBF , 0xFF , 0xFF , 0xFF
0xFE , 0x7C , 0x00 , 0x3F , 0xFF , 0xF8 , 0x03 , 0xFC
0x00 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xF8 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xF8 , 0x01 , 0xBF , 0xFF , 0xFF , 0xFF , 0xFE , 0xFC
0x04 , 0xBF , 0xFF , 0xFE , 0x1F , 0xF8 , 0x00 , 0x3F
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF0
0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFC , 0x01
0xBF , 0xFF , 0xFF , 0xFF , 0xFE , 0xFC , 0x00 , 0x0F
0xFF , 0xFF , 0xFF , 0xE0 , 0x00 , 0x7F , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF0 , 0x7F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFE , 0x01 , 0xBF , 0xFF
0xFF , 0xFF , 0xFE , 0xFC , 0x00 , 0x0F , 0xFF , 0xFF
0xFF , 0xC0 , 0x00 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xF0 , 0x7F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0x81 , 0xBF , 0xFF , 0xFF , 0xFF
0xFE , 0xF0 , 0x00 , 0x07 , 0xFF , 0xFF , 0xFF , 0xC8
0x00 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xE0 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xC1 , 0xBF , 0xFF , 0xFF , 0xF0 , 0x66 , 0xF0
0x00 , 0x07 , 0xFF , 0xFF , 0xFF , 0x80 , 0x00 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE1
0xBF , 0xFF , 0xFF , 0xF8 , 0x5C , 0xC0 , 0x00 , 0x07
0xFF , 0xFF , 0xFE , 0x00 , 0x01 , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF1 , 0xBF , 0xFF
0xFF , 0xFC , 0x7C , 0x40 , 0x00 , 0x07 , 0xFF , 0xFF
0xF8 , 0x04 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xE0 , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xF9 , 0xBF , 0xFF , 0xFF , 0xFF
0xF8 , 0x00 , 0x00 , 0x07 , 0xFF , 0xFF , 0xE0 , 0x00
0x03 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xC0 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xF9 , 0xBF , 0xFF , 0xFF , 0xFF , 0xF8 , 0x00
0x01 , 0x03 , 0xFF , 0xFF , 0x00 , 0x00 , 0x03 , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xC0
0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFF , 0xFF , 0xFE , 0x00 , 0x00 , 0x01
0xFF , 0xFE , 0x00 , 0x00 , 0x07 , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xC0 , 0x7F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFF , 0xFF , 0xFA , 0x00 , 0x00 , 0x00 , 0xFF , 0xFE
0x00 , 0x00 , 0x07 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xC0 , 0x7F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xFF
0xF0 , 0x00 , 0x00 , 0x00 , 0x3F , 0xF8 , 0x00 , 0x00
0x0F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xC0 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFF , 0xBE , 0x00 , 0x00
0x00 , 0x00 , 0x0F , 0xF0 , 0x00 , 0x00 , 0x0F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0
0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFC , 0x0F , 0xC0 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x1F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x3F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFC , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x1F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xE0 , 0x3F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFC , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x1F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xE0 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFC , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0
0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFC , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x3F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xE0 , 0x3F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFC , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xF0 , 0x3F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF , 0xFC , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x7F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xF0 , 0x3F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFD , 0xBF , 0xFF , 0xFC , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF0
0x1F , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD
0xBF , 0xFF , 0xFC , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xF0 , 0x1F , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFD , 0xBF , 0xFF
0xFC , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xF8 , 0x1F , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFD , 0x80 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x01 , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF
0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF 0xFF
};//*/
esta matriz me la dio el bit2map
el punt oes que todavia no entiendo como montar imagenes.
saludos
-
alguna sugerencia de como montar una imagen en la GLCD con la libreria de mas arriba. saludos :-/
-
Japifer_22:
Te aclaro que nunca he usado la librería que has subido. Pero debería ser similar a como lo hago en c18.
Para mostrar imágenes previamente debés cargar la imagen en la rom del pic en un array.
y luego llamarla desde la función que te da la librería. En tu caso la función glcd_image8, pasándole como parámetro la dirección de memoria del array.
Por si te es útil te adjunto un ejemplo con la librería genérica creada por suky, usando c18 (para un pic18f4550 + glcd + proteus) para que veas más o menos como es un ejemplo con una imagen, lineas, círculos, rectángulos, y donde muestra el valor de una variable.
Saludos.
Jukinch
-
hola jukinch,
gracias por responder, justamente me he encontrado revisando los articulos de suky, de todas formas revisare los ejemplos que pones y te cuento como va he!.
saludos y gracias.
PD: perdona la demora........