PROGMEM или как извлечь машинку

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Добрый вечер!

Есть такая проблема. Нужно на экране перемещать символьное представление машинки. Не знаю даже как правильно вопрос сформулировать. В общем - есть шрифт в виде файла "Dingbats1_XL.c":

Интересует вот именно эта машинка. Ее код в библиотеке соответствует клавише "`" (апостроф).

Как извлечь только эту машинку, что бы не грузить все символы в тело скетча и как потом его вывести на экран?

Вот текст файла со шрифтами:

// Dingbats1_XL.c
// Font type    : Full (95 characters)
// Font size    : 32x24 pixels
// Memory usage : 9124 bytes

#if defined(__AVR__)
	#include <avr/pgmspace.h>
	#define fontdatatype const uint8_t
#elif defined(__PIC32MX__)
	#define PROGMEM
	#define fontdatatype const unsigned char
#elif defined(__arm__)
	#define PROGMEM
	#define fontdatatype const unsigned char
#endif

fontdatatype Dingbats1_XL[9124] PROGMEM={
0x20,0x18,0x20,0x5F,
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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // <space>
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x0D,0xC0,0x00,0x00,0x1E,0xE0,0x00,0x00,0x33,0x30,0x00,0x00,0x61,0x98,0x00,0x00,0xCC,0xCC,0x00,0x00,0xCC,0x6C,0x00,0x01,0x80,0x36,0x00,0x03,0x02,0x36,0x00,0x07,0x06,0x1B,0x00,0x01,0x8E,0x1B,0x00,0x00,0xF6,0x1B,0x00,0x00,0x06,0x1B,0x00,0x00,0x06,0x1B,0x00,0x00,0x06,0x1B,0x00,0x00,0x07,0xFB,0x00,0x00,0x07,0xFB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // !
0x00,0x00,0x00,0x00,0x07,0xFF,0xFE,0x00,0x07,0xFF,0xFF,0x00,0x06,0x00,0x03,0x00,0x06,0x00,0x03,0x00,0x06,0x06,0x33,0x00,0x06,0x06,0x33,0x00,0x06,0x00,0x33,0x00,0x06,0x00,0x33,0x00,0x07,0x00,0x33,0x00,0x03,0x80,0x33,0x00,0x01,0xC0,0x33,0x00,0x00,0xFC,0x33,0x00,0x00,0x7C,0x33,0x00,0x00,0x0C,0x3F,0x00,0x00,0x0C,0x1E,0x00,0x00,0x0C,0x00,0x00,0x00,0x1B,0xFC,0x00,0x00,0x19,0x24,0x00,0x00,0x1F,0xFC,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,0x80,0x04,0x00,0x00,0xEF,0xDC,0x00,0x00,0xFF,0xFC,0x00,0x00,0xD0,0x2C,0x00,0x00,0xC0,0x0C,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x03,0x00,0x03,0x00,0x03,0x0C,0xC3,0x00,0x03,0x0C,0xC3,0x00,0x03,0x00,0x03,0x00,0x03,0x03,0x03,0x00,0x01,0x8A,0x46,0x00,0x01,0x8F,0xC6,0x00,0x00,0xE0,0x1C,0x00,0x00,0x70,0x38,0x00,0x00,0x3F,0xF0,0x00,0x00,0x0F,0xC0,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,0xE0,0x1E,0x00,0x03,0xF7,0xBF,0x00,0x03,0xFF,0xFF,0x00,0x03,0xF0,0x3F,0x00,0x03,0xE0,0x1F,0x00,0x01,0x80,0x06,0x00,0x01,0x9C,0x66,0x00,0x03,0x35,0xB3,0x00,0x03,0x35,0x33,0x00,0x03,0x3C,0xF3,0x00,0x03,0x7C,0x7B,0x00,0x03,0x38,0x73,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x00,0xE0,0x1C,0x00,0x00,0x70,0x38,0x00,0x00,0x3F,0xF0,0x00,0x00,0x0F,0xC0,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,0x0F,0xE0,0x00,0x00,0x30,0x3F,0x00,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x80,0x01,0x00,0x00,0x80,0x01,0x30,0x00,0x80,0x02,0x30,0x00,0x80,0x02,0x00,0x01,0x80,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x02,0x01,0x01,0x00,0x02,0x01,0x01,0x00,0x02,0x7F,0x01,0x00,0x02,0x41,0x01,0x00,0x02,0x41,0x02,0x00,0x02,0x41,0x02,0x00,0x01,0x38,0xFC,0x00,0x01,0x88,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // %
0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x1F,0xE0,0x00,0x00,0x3F,0xF0,0x00,0x00,0x7F,0xF8,0x00,0x00,0x7F,0xFC,0x00,0x00,0xFF,0xFC,0x00,0x00,0xFF,0xFC,0x00,0x01,0xC0,0x0E,0x00,0x01,0x9F,0xE6,0x00,0x01,0x8C,0xC6,0x00,0x01,0xCC,0xCE,0x00,0x01,0xC0,0x0E,0x00,0x01,0xCC,0xCE,0x00,0x01,0x97,0xA6,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x00,0xC0,0x0C,0x00,0x00,0xFF,0xFC,0x00,0x00,0x3F,0xF0,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x06,0xC0,0x03,0x00,0x04,0x40,0x02,0x80,0x06,0x40,0x02,0x40,0x0E,0x20,0x01,0x40,0x01,0x2E,0x03,0x20,0x00,0x91,0x02,0x20,0x00,0x85,0xFE,0x20,0x04,0x45,0x69,0x20,0x0C,0xC3,0x00,0x20,0x1F,0xE0,0x00,0x60,0x10,0x00,0x00,0x40,0x18,0x0E,0x99,0x80,0x0F,0xF8,0xE1,0x00,0x00,0x0F,0xBF,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,0x70,0x38,0x00,0x00,0xFF,0xFC,0x00,0x00,0x8F,0xC6,0x00,0x01,0xBF,0xF6,0x00,0x01,0xF8,0x7E,0x00,0x01,0xE0,0x1F,0x00,0x03,0xC0,0x0F,0x00,0x03,0x80,0x07,0x00,0x03,0x8C,0xC6,0x00,0x03,0x8C,0xC7,0x00,0x03,0x80,0x07,0x00,0x03,0x83,0x07,0x00,0x03,0xC9,0x4F,0x00,0x03,0xCF,0xCF,0x00,0x03,0xC0,0x0F,0x00,0x00,0xF0,0x3C,0x00,0x00,0xFC,0xFC,0x00,0x00,0x3F,0xF0,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // (
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x0F,0xC0,0x00,0x00,0x19,0xE0,0x00,0x00,0x39,0xE0,0x00,0x00,0x5F,0xE0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x17,0xE0,0x00,0x00,0x13,0xF0,0x00,0x00,0x13,0xF0,0x00,0x00,0x33,0xF8,0x00,0x00,0x23,0xF8,0x00,0x00,0x23,0xFC,0x00,0x00,0x23,0xF0,0x00,0x00,0x33,0xF0,0x00,0x00,0x1B,0xF0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x21,0xF8,0x00,0x00,0x3F,0xF8,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xC0,0x1F,0xFF,0xFF,0xC0,0x1F,0xFF,0xFF,0xC0,0x10,0x7F,0xFF,0xC0,0x15,0x7F,0xFD,0xC0,0x15,0xBF,0xF8,0xE0,0x0A,0xFF,0xF8,0x60,0x0F,0x3F,0xF0,0x00,0x07,0xFF,0xC0,0x00,0x01,0xFF,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x1F,0xC0,0x00,0x00,0xFF,0xE0,0x00,0x01,0xEF,0xF1,0xC0,0x03,0xEF,0xFB,0x80,0x06,0x6F,0xFF,0x00,0x0E,0x63,0xFF,0x00,0x07,0xF3,0xFB,0x80,0x03,0xEB,0xF1,0x80,0x00,0xFF,0xF0,0x40,0x00,0x1C,0x10,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,0x00,  // +
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x23,0x01,0x00,0x00,0xC0,0x83,0x00,0x01,0x80,0x4F,0x00,0x02,0x60,0x3F,0x00,0x06,0x60,0x3F,0x00,0x01,0x80,0x4F,0x00,0x00,0xC0,0x83,0x00,0x00,0x23,0x01,0x00,0x00,0x17,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x01,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,0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x67,0x98,0x00,0x00,0xF0,0x3C,0x00,0x01,0xE7,0x9E,0x00,0x03,0xEF,0xFF,0x00,0x02,0x0C,0x31,0x00,0x03,0xF8,0xDF,0x80,0x07,0xE8,0xDF,0x80,0x07,0xF8,0x1F,0x80,0x07,0xF8,0x3F,0x80,0x07,0xE8,0xFF,0x80,0x07,0x28,0xD3,0x80,0x06,0x1C,0xE1,0x80,0x02,0x17,0x21,0x00,0x02,0x1F,0xE1,0x00,0x02,0x10,0x21,0x00,0x03,0xF0,0x3F,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,0x1C,0x70,0x00,0x00,0x14,0x50,0x00,0x00,0x92,0x94,0x00,0x00,0xFA,0xBE,0x00,0x00,0xFA,0xBE,0x00,0x00,0xFB,0xBE,0x00,0x00,0x73,0x9C,0x00,0x00,0x0F,0xE0,0x00,0x00,0x07,0xC0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x07,0xC0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x07,0xC0,0x00,0x00,0x03,0x80,0x00,0x00,0x06,0xC0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x0F,0xE0,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,0xC0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x3F,0xA0,0x00,0x00,0x7F,0xE0,0x00,0x00,0x7D,0xE0,0x00,0x00,0xF0,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xFB,0xE0,0x00,0x00,0xFF,0xF0,0x00,0x00,0xFF,0xF8,0x00,0x00,0xFF,0xF8,0x00,0x00,0x7F,0xFC,0x00,0x00,0x7F,0xFC,0x00,0x00,0x7F,0xFC,0x00,0x00,0x77,0xFE,0x00,0x00,0x77,0xFE,0x00,0x00,0x77,0x1F,0x00,0x00,0x77,0x1C,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // /

0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x30,0x30,0x00,0x00,0xC0,0x0C,0x00,0x01,0x80,0xC6,0x00,0x01,0x01,0xF2,0x00,0x02,0x03,0xF1,0x00,0x02,0x07,0xA1,0x00,0x04,0x07,0x60,0x80,0x04,0x0E,0x00,0x80,0x04,0x0C,0x00,0x80,0x04,0x1C,0x00,0x80,0x04,0x1C,0x00,0x80,0x04,0x1C,0x00,0x80,0x02,0x3E,0x01,0x00,0x02,0x3A,0x01,0x00,0x01,0x14,0x02,0x00,0x00,0x24,0x06,0x00,0x00,0x20,0x0C,0x00,0x00,0x30,0x30,0x00,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // 0
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0x80,0x05,0x00,0x00,0x80,0x05,0xC0,0x00,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x07,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,  // 1
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x80,0x02,0x00,0x00,0x80,0x06,0xFE,0x3E,0x80,0x06,0xFE,0x00,0x80,0x06,0x00,0x00,0x80,0x06,0xFF,0xFE,0x80,0x06,0xFE,0xFE,0x80,0x06,0x00,0x00,0x80,0x07,0xFF,0xFF,0x80,0x04,0x00,0x01,0x00,0x07,0xFF,0xFF,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,0x00,  // 2
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xC6,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0x82,0x00,0x03,0xFF,0x83,0x80,0x02,0x00,0x44,0x80,0x06,0x07,0x38,0x80,0x06,0x18,0xC0,0x80,0x06,0x10,0x40,0x80,0x06,0x10,0x40,0x80,0x06,0x18,0xC0,0x80,0x06,0x07,0x00,0x80,0x07,0xFF,0xFF,0x80,0x04,0x00,0x01,0x00,0x07,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // 3
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x78,0x00,0x00,0x10,0xCC,0x00,0x00,0x10,0x84,0x00,0x00,0x10,0x84,0x00,0x00,0x10,0x84,0x00,0x00,0x19,0x84,0x00,0x00,0x0F,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // 4
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x92,0x00,0x00,0x00,0x92,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0xEE,0x00,0x00,0x00,0x82,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x10,0x78,0x00,0x00,0x10,0xCC,0x00,0x00,0x10,0x84,0x00,0x00,0x10,0x84,0x00,0x00,0x10,0x84,0x00,0x00,0x19,0x84,0x00,0x00,0x0F,0x04,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // 5
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x47,0x10,0x00,0x00,0xCF,0x98,0x00,0x00,0xEF,0xB8,0x00,0x01,0xDF,0xDC,0x00,0x03,0xCF,0x9E,0x00,0x01,0xFF,0xFC,0x00,0x01,0xFF,0xFC,0x00,0x03,0xDF,0xDE,0x00,0x03,0xAF,0xAE,0x00,0x07,0xFF,0xFF,0x00,0x03,0xDF,0xDE,0x00,0x03,0xBF,0xEE,0x00,0x07,0x87,0x0F,0x00,0x07,0xF7,0x7F,0x00,0x08,0xE7,0x38,0x80,0x00,0xE7,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // 6
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0xB0,0x00,0x00,0x37,0xB0,0x00,0x00,0x3F,0xF0,0x00,0x00,0x3F,0xF0,0x00,0x00,0x3F,0xF0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0xC3,0x0F,0x00,0x01,0xE3,0x1E,0x00,0x00,0xF3,0x3C,0x00,0x00,0x7B,0x78,0x00,0x00,0x3F,0xF0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x07,0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // 7
0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x1F,0xC0,0x00,0x00,0x27,0x20,0x00,0x00,0x1F,0xC0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x7F,0xF0,0x00,0x00,0x9F,0xC8,0x00,0x00,0x3F,0xE0,0x00,0x00,0xFF,0xF8,0x00,0x01,0xFF,0xFC,0x00,0x03,0xFF,0xFE,0x00,0x04,0x07,0x01,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // 8
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x1B,0x80,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xF0,0x00,0x00,0x3F,0xF8,0x00,0x00,0x7F,0xFC,0x00,0x00,0xFF,0xFE,0x00,0x00,0xE1,0x0E,0x00,0x00,0xE1,0x0E,0x00,0x00,0xE1,0x0E,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFF,0xFE,0x00,0x00,0xE1,0x0E,0x00,0x00,0xE1,0x0E,0x00,0x00,0xE1,0x0E,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // 9
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFC,0x00,0x00,0x40,0x04,0x00,0x00,0x59,0xB4,0x00,0x00,0x59,0xB4,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x59,0xB4,0x00,0x00,0x59,0xB4,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x59,0xB4,0x00,0x00,0x59,0xB4,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x41,0x84,0x00,0x00,0x41,0x84,0x00,0x00,0x41,0x84,0x00,0x00,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // :
0x00,0x00,0x00,0x00,0x03,0xFF,0xE0,0x00,0x02,0x00,0x20,0x00,0x02,0xFF,0xA0,0x00,0x02,0x00,0x20,0x00,0x02,0xFF,0xA0,0x00,0x02,0x00,0x20,0x00,0x02,0xFF,0xA0,0x00,0x02,0x00,0x20,0x00,0x02,0xFF,0xA0,0x00,0x02,0x00,0x20,0x00,0x02,0xFF,0xA0,0x00,0x02,0xFF,0xA0,0x00,0x02,0x00,0x20,0x00,0x02,0xFF,0xA0,0x00,0x02,0x00,0x20,0x00,0x02,0x3E,0x20,0x00,0x02,0x3E,0x20,0x00,0x02,0x3E,0x20,0x00,0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // ;
0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x7F,0xF8,0x00,0x00,0xFF,0xFC,0x00,0x01,0xFF,0xFE,0x00,0x01,0xFC,0xFE,0x00,0x01,0xF8,0x7E,0x00,0x01,0xF8,0x7E,0x00,0x01,0xF8,0x7E,0x00,0x01,0xF8,0x7E,0x00,0x01,0xF8,0x7E,0x00,0x01,0xF8,0x7E,0x00,0x01,0xF8,0x7E,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,0xFD,0xFC,0x00,0x03,0x22,0x26,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x22,0x26,0x00,0x00,0x7D,0xFC,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x08,0x42,0x00,0x03,0x18,0xC6,0x00,0x03,0x39,0xCE,0x00,0x03,0x7B,0xFE,0x00,0x03,0xFF,0xFE,0x00,0x03,0xFF,0xFE,0x00,0x03,0xFF,0xFE,0x00,0x03,0xFF,0xFE,0x00,0x03,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // =
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x18,0x0F,0xC0,0x60,0x17,0xDF,0xEF,0xA0,0x10,0x71,0x38,0x20,0x10,0x31,0x30,0x20,0x10,0xD1,0x2C,0x20,0x1F,0x1F,0xE3,0xE0,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0xC0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xE0,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,0x0F,0xE0,0x00,0x00,0x0C,0x60,0x00,0x00,0x09,0x20,0x00,0x00,0x09,0xA0,0x00,0x00,0x08,0x20,0x00,0x00,0x0C,0x60,0x00,0x00,0x0F,0xE0,0x00,0x00,0x7F,0xFC,0x00,0x00,0x7F,0xFC,0x00,0x00,0x7F,0xFC,0x00,0x01,0xFF,0xFF,0x00,0x01,0xFC,0x7F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // ?

0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x0B,0xE0,0x00,0x00,0x08,0x78,0x00,0x00,0x08,0x08,0x00,0x00,0x0F,0x08,0x00,0x00,0x0B,0xE8,0x00,0x00,0x08,0x78,0x00,0x00,0x08,0x08,0x00,0x00,0x08,0x08,0x00,0x00,0x08,0x08,0x00,0x00,0x08,0x08,0x00,0x00,0x08,0x08,0x00,0x00,0x78,0x08,0x00,0x00,0xF8,0x08,0x00,0x01,0xF8,0x08,0x00,0x01,0xF0,0x78,0x00,0x01,0xE0,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF0,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // @
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x00,0x00,0x3E,0x7C,0x00,0x00,0x3E,0x7C,0x00,0x00,0x3E,0x7C,0x00,0x00,0x1C,0x38,0x00,0x01,0x00,0x00,0x00,0x01,0xCF,0xF0,0x00,0x01,0xFF,0xF0,0x00,0x01,0xFF,0xF0,0x00,0x01,0xFF,0xF0,0x00,0x01,0xCF,0xF0,0x00,0x01,0x07,0xE0,0x00,0x00,0x05,0xA0,0x00,0x00,0x0D,0xB0,0x00,0x00,0x09,0x90,0x00,0x00,0x19,0x98,0x00,0x00,0x11,0x88,0x00,0x00,0x31,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // A
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x00,0xA0,0x14,0x00,0x01,0x40,0x14,0x00,0x01,0xC0,0x18,0x00,0x01,0x40,0x18,0x00,0x01,0x40,0x28,0x00,0x01,0xFF,0xF8,0x00,0x01,0x40,0x18,0x00,0x01,0x40,0x14,0x00,0x00,0xC0,0x1C,0x00,0x00,0xA0,0x14,0x00,0x00,0xA0,0x0C,0x00,0x00,0x7F,0xFC,0x00,0x00,0xA0,0x0E,0x00,0x00,0xE0,0x0C,0x00,0x00,0xE0,0x0C,0x00,0x00,0xC0,0x14,0x00,0x01,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // B
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x00,0x01,0xF6,0x00,0x00,0x3E,0xCE,0x00,0x03,0xF9,0xF0,0x00,0x02,0x3E,0x00,0x00,0x03,0xFF,0xFE,0x00,0x03,0x1C,0xE2,0x00,0x03,0xFF,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,0x00,0x00,0x7F,0xFE,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,  // C
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xE0,0x00,0x00,0x82,0x20,0x00,0x00,0x82,0x20,0x00,0x00,0xFF,0x20,0x00,0x00,0x81,0x20,0x00,0x00,0xFF,0xE0,0x00,0x00,0x8E,0x20,0x00,0x00,0xFF,0xE0,0x00,0x00,0x80,0x20,0x00,0x00,0xFF,0xE0,0x00,0x00,0x87,0x20,0x00,0x00,0x85,0xE0,0x00,0x00,0xFD,0x30,0x00,0x00,0x15,0x2E,0x00,0x00,0x6F,0x2A,0x00,0x00,0x41,0xEE,0x00,0x00,0x3C,0x3C,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // D
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x58,0x00,0x00,0x00,0x57,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x2C,0x80,0x00,0x00,0x24,0x80,0x00,0x00,0x12,0x50,0x00,0x00,0x49,0xB8,0x00,0x00,0x44,0xF0,0x00,0x00,0x43,0x5C,0x00,0x00,0xA0,0xBF,0x80,0x07,0x1D,0x7F,0x80,0x00,0xA0,0x8F,0x80,0x00,0x40,0x07,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // E
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x30,0xC0,0x00,0x00,0x20,0x40,0x00,0x00,0x40,0x23,0x00,0x00,0x40,0x26,0x00,0x00,0x40,0x26,0x00,0x00,0x40,0x2E,0x00,0x00,0x20,0x5A,0x00,0x00,0x30,0xF1,0x00,0x00,0x0F,0x19,0x00,0x00,0x05,0x1E,0x00,0x00,0x77,0x3C,0x00,0x00,0x7C,0x7C,0x00,0x00,0xFF,0xF8,0x00,0x00,0x7F,0xF0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // F
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x20,0x00,0x00,0x06,0xD8,0x00,0x00,0x04,0xC8,0x00,0x00,0x0D,0xA8,0x00,0x00,0x15,0xFC,0x00,0x00,0x65,0xA6,0x00,0x00,0xE3,0x72,0x00,0x01,0xF6,0x9C,0x00,0x03,0xFB,0x67,0x00,0x00,0xFC,0x97,0x00,0x00,0x7E,0x3F,0x00,0x00,0x3D,0xFF,0x80,0x00,0x17,0x50,0x00,0x00,0x39,0xD8,0x00,0x00,0x0E,0xC8,0x00,0x00,0x04,0xC8,0x00,0x00,0x09,0xB8,0x00,0x00,0x1B,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // G
0x00,0x00,0x00,0x00,0x00,0x10,0x18,0x00,0x00,0x10,0x10,0x00,0x04,0x08,0x20,0x00,0x02,0x0B,0xA0,0xC0,0x01,0x03,0xE1,0x00,0x00,0x83,0xF2,0x00,0x00,0x0F,0xFC,0x00,0x00,0x33,0xFE,0x00,0x08,0x61,0xFF,0x00,0x07,0x76,0x3F,0x00,0x00,0x78,0x0F,0x00,0x00,0x7C,0x0F,0x00,0x00,0x3E,0x06,0x00,0x00,0x9F,0xF8,0x00,0x01,0x0F,0xFA,0x00,0x06,0x07,0xF9,0x00,0x08,0x03,0xF8,0x80,0x00,0x1B,0xF8,0xC0,0x00,0x10,0x00,0x00,0x00,0x20,0x84,0x00,0x00,0x20,0x84,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,  // H
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x3F,0xF0,0x00,0x00,0x7F,0xF8,0x00,0x00,0x64,0x98,0x00,0x00,0x64,0x98,0x00,0x00,0x7F,0xF8,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,0x03,0xFF,0xFF,0x00,0x07,0xFF,0xFF,0x80,0x01,0xF7,0xBE,0x00,0x01,0xF7,0xBE,0x00,0x00,0xE3,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // I
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,0x00,0x03,0xF8,0x00,0x0F,0xC7,0xFC,0x00,0x01,0xFF,0xFC,0x00,0x00,0x07,0xFC,0x00,0x00,0x07,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x01,0x00,0x00,0x80,0x01,0x80,0x01,0x80,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // J
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x10,0x44,0x00,0x00,0x20,0x24,0x00,0x00,0x47,0x16,0x00,0x00,0xC8,0x9E,0x00,0x03,0x50,0x4F,0x00,0x04,0x50,0x4F,0x00,0x02,0x90,0x4F,0x00,0x07,0x88,0x87,0x80,0x07,0x87,0x1F,0x80,0x07,0xE5,0x3F,0xC0,0x0F,0xF7,0x7F,0x00,0x0F,0xF8,0xFE,0x00,0x03,0xFD,0xFC,0x00,0x00,0x7D,0xF8,0x00,0x00,0x7F,0xF0,0x00,0x00,0x7F,0xF0,0x00,0x00,0x7F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // K
0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x40,0x00,0x00,0x02,0x40,0x00,0x00,0x04,0x40,0x00,0x00,0x04,0xC0,0x00,0x00,0x03,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x0E,0x00,0x00,0x00,0x19,0xC0,0x00,0x00,0x37,0xE0,0x00,0x00,0x35,0x70,0x00,0x00,0x35,0x30,0x00,0x00,0x33,0x30,0x00,0x00,0x19,0x20,0x00,0x00,0x1C,0xE0,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x0E,0x80,0x00,0x00,0x0E,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // L
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,0xE0,0x00,0x00,0x01,0x70,0x00,0x00,0x01,0x18,0x00,0x00,0x01,0x08,0x00,0x00,0x01,0x08,0x00,0x00,0x01,0x08,0x00,0x00,0x01,0x08,0x00,0x00,0x01,0x10,0x00,0x00,0x01,0x20,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // M
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0x80,0x04,0x00,0x00,0x80,0x04,0xFF,0xFC,0x80,0x05,0xFF,0xFE,0x80,0x05,0xFF,0x06,0x80,0x05,0xFF,0x06,0x80,0x05,0xFF,0x06,0x80,0x05,0xFF,0xF6,0x80,0x05,0xFF,0xF6,0x80,0x05,0xFF,0xF6,0x80,0x05,0xFF,0xFE,0x80,0x05,0xFF,0xFE,0x80,0x05,0xFF,0xFE,0x80,0x05,0xFF,0xFE,0x80,0x04,0x00,0x00,0x80,0x05,0x9B,0xC0,0x80,0x04,0x00,0x00,0x80,0x07,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // N
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x01,0x80,0x00,0x00,0x02,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x20,0x00,0x00,0x03,0xFF,0xFE,0x00,0x02,0x4F,0x0E,0x00,0x02,0x4C,0xE6,0x00,0x02,0x7D,0xF6,0x00,0x02,0x4B,0xFA,0x00,0x02,0x4B,0xFA,0x00,0x02,0x7B,0xFA,0x00,0x02,0x7B,0xFA,0x00,0x02,0x7D,0xF6,0x00,0x02,0x7C,0xE6,0x00,0x02,0x7F,0x1E,0x00,0x01,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // O

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x16,0xD0,0x00,0x00,0x19,0x30,0x00,0x00,0x16,0xD0,0x00,0x00,0x16,0xD0,0x00,0x00,0x19,0x30,0x00,0x00,0x16,0xD0,0x00,0x00,0x3F,0xF8,0x00,0x00,0x30,0x18,0x00,0x00,0x3F,0xF8,0x00,0x00,0x3F,0xF8,0x00,0x00,0x3F,0xF8,0x00,0x00,0x2F,0xE8,0x00,0x00,0x20,0x08,0x00,0x00,0x1F,0xF0,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // P
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFC,0x00,0x07,0xFF,0xFF,0x80,0x0F,0xFF,0xFF,0xC0,0x0F,0xC0,0x0F,0xC0,0x00,0x0F,0xC0,0x00,0x0F,0x9C,0xE7,0xC0,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x00,0x60,0x18,0x00,0x00,0xE0,0x1C,0x00,0x00,0xF0,0x3C,0x00,0x01,0xF0,0x3E,0x00,0x01,0xF8,0x7E,0x00,0x01,0xFF,0xFE,0x00,0x01,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // Q
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x3C,0x10,0x00,0x01,0xF0,0x08,0x00,0x1E,0x3C,0x04,0x00,0xFC,0x3E,0x04,0x01,0x83,0x3C,0x04,0x01,0x01,0x38,0x04,0x02,0x06,0xB0,0x04,0x7E,0x18,0xB0,0x04,0x81,0x17,0xB0,0x04,0x80,0xE8,0xB0,0x04,0xC0,0x28,0xB0,0x04,0x5F,0x98,0x80,0x04,0x20,0x48,0x80,0x04,0x10,0x04,0x80,0x38,0x08,0x03,0x83,0xC0,0x04,0x01,0x9C,0x00,0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // R
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x1C,0x10,0x00,0x01,0xE0,0x08,0x00,0x0E,0x00,0x04,0x00,0x7C,0x00,0x04,0x01,0x83,0x00,0x04,0x01,0x01,0x00,0x04,0x02,0x00,0x80,0x14,0x7E,0x00,0x80,0xE4,0x81,0x00,0x8F,0xE4,0x80,0xC0,0xBF,0xE4,0xC0,0x20,0xB1,0xC4,0x5F,0x90,0x80,0xC4,0x20,0x48,0x80,0x04,0x10,0x04,0x80,0x38,0x08,0x02,0x83,0xC0,0x04,0x01,0x9C,0x00,0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // S
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x00,0x00,0x08,0x10,0x00,0x00,0x08,0x10,0x00,0x00,0x78,0x0F,0xFE,0x00,0x40,0x00,0x02,0x00,0x40,0x00,0x02,0x00,0x41,0xFF,0xFF,0xF8,0x41,0x00,0x00,0x08,0x42,0x00,0x00,0x10,0x42,0x00,0x00,0x10,0x44,0x00,0x00,0x20,0x48,0x00,0x00,0x20,0x48,0x00,0x00,0x40,0x50,0x00,0x00,0x80,0x50,0x00,0x00,0x80,0x60,0x00,0x01,0x00,0x60,0x00,0x01,0x00,0x7F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // T
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x3F,0xF0,0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // U
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x1F,0xF0,0x00,0x07,0x3F,0xF8,0x00,0x07,0x40,0x04,0x00,0x07,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xC0,0x07,0xF8,0x3F,0xC0,0x07,0xF0,0x1F,0xC0,0x07,0xE0,0x0F,0xC0,0x07,0xE0,0x0F,0xC0,0x07,0xE0,0x0F,0xC0,0x07,0xE0,0x0F,0xC0,0x07,0xE0,0x0F,0xC0,0x07,0xF0,0x1F,0xC0,0x07,0xF8,0x3F,0xC0,0x07,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // V
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x30,0x30,0x00,0x00,0x40,0x08,0x00,0x00,0x83,0x04,0x00,0x01,0x03,0x02,0x00,0x01,0x03,0x02,0x00,0x02,0x03,0x01,0x00,0x02,0x03,0x01,0x00,0x02,0x03,0xF9,0x00,0x02,0x03,0xF9,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x00,0x80,0x04,0x00,0x00,0x40,0x08,0x00,0x00,0x30,0x30,0x00,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // W
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x10,0x80,0x00,0x00,0x10,0x80,0x03,0xC0,0x10,0x80,0x1F,0xE0,0x0F,0xF0,0x7F,0x00,0x00,0x3F,0xF8,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x3F,0xF8,0x00,0x0F,0xF0,0x7F,0x00,0x10,0x80,0x1F,0xC0,0x10,0x80,0x03,0xE0,0x10,0x80,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // X
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x18,0x30,0x00,0x00,0x33,0xD8,0x00,0x00,0x2C,0x68,0x00,0x00,0x50,0x14,0x00,0x00,0x50,0x14,0x00,0x00,0x50,0x14,0x00,0x00,0x50,0x14,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFE,0xFE,0x00,0x00,0xFC,0x7E,0x00,0x00,0xFE,0xFE,0x00,0x00,0xFE,0xFE,0x00,0x00,0x7E,0xFC,0x00,0x00,0x3F,0xF8,0x00,0x00,0x1F,0xF0,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // Y
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x01,0xFC,0x00,0x00,0x03,0xFE,0x00,0x00,0x07,0xC7,0x00,0x00,0x07,0xC7,0x00,0x00,0x07,0xC7,0x00,0x00,0x07,0xFF,0x00,0x00,0x0F,0xFF,0x00,0x00,0x0F,0xFE,0x00,0x00,0x0F,0xFC,0x00,0x00,0x3F,0xF8,0x00,0x00,0x3F,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xFC,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF0,0x00,0x00,0x03,0xE0,0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // Z
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x20,0x10,0x00,0x00,0x40,0x08,0x00,0x00,0x40,0x08,0x00,0x00,0x40,0x08,0x00,0x00,0x80,0x04,0x00,0x01,0xFF,0xFF,0x00,0x03,0x9F,0xE7,0x00,0x03,0x0F,0xC3,0x00,0x03,0x0F,0xC3,0x00,0x03,0x9F,0xE7,0x00,0x03,0xFF,0xFF,0x00,0x00,0xE0,0x1C,0x00,0x00,0xE0,0x1C,0x00,0x00,0xE0,0x1C,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,0x00,0x00,0x07,0x80,0x00,0x00,0x04,0x80,0x00,0x00,0x1F,0xE0,0x00,0x00,0x20,0x10,0x00,0x00,0x40,0x10,0x00,0x00,0x40,0x08,0x00,0x00,0x40,0x08,0x00,0x00,0x80,0x04,0x00,0x01,0xFF,0xFF,0x00,0x03,0x9F,0xE7,0x00,0x03,0x0F,0xC3,0x00,0x03,0x0F,0xC3,0x00,0x03,0x9F,0xE7,0x00,0x03,0xFF,0xFF,0x00,0x00,0xE0,0x1C,0x00,0x00,0xE0,0x1C,0x00,0x00,0xE0,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // <backslash>
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFC,0x00,0x00,0xE0,0x1C,0x00,0x01,0xE0,0x1E,0x00,0x01,0xFF,0xFE,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0xFF,0xFE,0x00,0x01,0xCF,0xCE,0x00,0x01,0x87,0x86,0x00,0x01,0x87,0x86,0x00,0x01,0xCF,0xCE,0x00,0x01,0xFF,0xFE,0x00,0x00,0x70,0x38,0x00,0x00,0x70,0x38,0x00,0x00,0x70,0x38,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,0x7F,0xFC,0x00,0x00,0x7F,0xFC,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x40,0x04,0x00,0x00,0x7F,0xFC,0x00,0x00,0x47,0x8C,0x00,0x00,0x47,0x8C,0x00,0x00,0x47,0x8C,0x00,0x00,0x7F,0xFC,0x00,0x00,0x30,0x18,0x00,0x00,0x20,0x08,0x00,0x00,0x40,0x04,0x00,0x01,0x80,0x03,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,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0x80,0x00,0x01,0x07,0x80,0x00,0x01,0x87,0xC0,0x00,0x01,0x87,0xC0,0x00,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x80,0x01,0x87,0xC0,0x00,0x01,0x87,0x80,0x00,0x01,0x07,0x80,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x07,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xFF,0x00,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x40,0x00,0x00,0x3F,0xC0,0x0F,0xFF,0xFF,0xC0,0x0F,0x01,0xF9,0xC0,0x0E,0xC6,0xF6,0xC0,0x0D,0xEF,0x6F,0x40,0x01,0xEF,0x0F,0x00,0x00,0xC6,0x06,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,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x06,0x60,0x00,0x00,0x08,0x20,0x00,0x00,0x1E,0x20,0x00,0x00,0x6E,0x40,0x00,0x00,0xB5,0x80,0x00,0x03,0x4B,0x00,0x00,0x04,0x94,0x00,0x00,0x1B,0x68,0x00,0x00,0x24,0xB0,0x00,0x00,0x5B,0x40,0x00,0x01,0xA5,0x80,0x00,0x01,0x5A,0x00,0x00,0x02,0x6C,0x00,0x00,0x04,0x50,0x00,0x00,0x0C,0xE0,0x00,0x00,0x0F,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // a
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xF0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x33,0x80,0x00,0x00,0x47,0x80,0x00,0x00,0x8E,0x63,0xF0,0x01,0x1C,0x1E,0x70,0x01,0x38,0x02,0x70,0x02,0x38,0x02,0x70,0x02,0x7B,0x02,0x70,0x04,0x7C,0x02,0x70,0x04,0x80,0x02,0x70,0x07,0x80,0x06,0x70,0x0B,0x7F,0xFB,0xF0,0x0A,0x00,0x00,0x70,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // b
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x03,0xF8,0x00,0x00,0x03,0xF0,0x00,0x00,0x07,0xF0,0x00,0x00,0x05,0xF0,0x00,0x00,0x0F,0x60,0x00,0x00,0x0D,0xC0,0x00,0x00,0x0F,0x60,0x00,0x00,0x0B,0xC0,0x00,0x00,0x16,0x80,0x00,0x00,0x12,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x23,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // c
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x00,0x00,0x18,0x1C,0x00,0x00,0x3F,0xE4,0x00,0x00,0x20,0x24,0x00,0x00,0x27,0x24,0x00,0x00,0x20,0x24,0x00,0x00,0x20,0x24,0x00,0x00,0x20,0x24,0x00,0x00,0x20,0x24,0x00,0x00,0x20,0x24,0x00,0x00,0x3F,0xE4,0x00,0x00,0x20,0x24,0x00,0x00,0x27,0x24,0x00,0x00,0x20,0x24,0x00,0x00,0x20,0x24,0x00,0x00,0x20,0x28,0x00,0x00,0x20,0x30,0x00,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // d
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x20,0x10,0x00,0x00,0x20,0x10,0x00,0x00,0x30,0x50,0x00,0x00,0x2F,0xD0,0x00,0x00,0x17,0xE0,0x00,0x00,0x13,0xA0,0x00,0x00,0x0B,0x40,0x00,0x00,0x05,0x80,0x00,0x00,0x05,0x80,0x00,0x00,0x09,0x40,0x00,0x00,0x11,0x20,0x00,0x00,0x11,0x20,0x00,0x00,0x21,0x10,0x00,0x00,0x27,0x90,0x00,0x00,0x2F,0xD0,0x00,0x00,0x2F,0xD0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // e
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFD,0xFF,0x00,0x0C,0x07,0x01,0x80,0x3C,0x02,0x01,0xE0,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x34,0x02,0x01,0x60,0x37,0xFA,0xFF,0x60,0x38,0x07,0x01,0x60,0x38,0x02,0x00,0xE0,0x3F,0xFA,0xFF,0xE0,0x00,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // f
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x3E,0x00,0x00,0x80,0x24,0x00,0x00,0x80,0x28,0x00,0x00,0x80,0x30,0x00,0x00,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // g
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0xBF,0x82,0x00,0x00,0x80,0x02,0x00,0x00,0x80,0x02,0x00,0x00,0xBF,0xFA,0x00,0x00,0xBF,0xFA,0x00,0x00,0x80,0x02,0x00,0x00,0xBF,0xFA,0x00,0x00,0x80,0x02,0x00,0x00,0xBF,0xFA,0x00,0x00,0x80,0x02,0x00,0x00,0xBF,0xBE,0x00,0x00,0x80,0x24,0x00,0x00,0x80,0x28,0x00,0x00,0x80,0x30,0x00,0x00,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // h
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0x80,0x00,0x08,0x00,0x80,0x00,0x08,0x00,0x80,0x00,0x7F,0xFC,0x80,0x00,0x40,0x04,0x80,0x01,0xFF,0xF4,0x80,0x01,0x00,0x14,0x80,0x01,0x00,0x14,0x80,0x01,0x7F,0x94,0x80,0x01,0x00,0x14,0x80,0x01,0x7F,0x94,0x80,0x01,0x00,0x14,0x80,0x01,0x7F,0x94,0x80,0x01,0x00,0x14,0x80,0x01,0x00,0x14,0x80,0x01,0x7F,0x94,0x80,0x01,0x00,0x14,0x80,0x01,0x7F,0x97,0x80,0x01,0x00,0x14,0x00,0x01,0x7E,0x14,0x00,0x01,0x00,0x1C,0x00,0x01,0xFF,0xF0,0x00,  // i
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xE0,0x08,0x00,0x00,0x20,0x08,0x00,0x03,0xA0,0x09,0xFC,0x03,0xA0,0x08,0x00,0x03,0xA0,0x09,0xFC,0x03,0xA0,0x08,0x00,0x03,0xA0,0x08,0x00,0x00,0x20,0x08,0x00,0x00,0x20,0x08,0x00,0x00,0x20,0x09,0xFF,0xF8,0x20,0x08,0x00,0x00,0x20,0x09,0xFF,0xF8,0x20,0x08,0x00,0x00,0x20,0x09,0xFF,0xF8,0x20,0x08,0x00,0x00,0x20,0x08,0x00,0x00,0x20,0x0F,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // j
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xE0,0x0C,0x00,0x00,0x60,0x0A,0x00,0x00,0xA0,0x09,0x00,0x01,0x20,0x08,0x80,0x02,0x20,0x08,0x40,0x04,0x20,0x08,0x20,0x08,0x20,0x08,0x10,0x10,0x20,0x08,0x08,0x20,0x20,0x08,0x0C,0x60,0x20,0x08,0x1A,0xB0,0x20,0x08,0x23,0x88,0x20,0x08,0x40,0x04,0x20,0x08,0x80,0x02,0x20,0x09,0x00,0x01,0x20,0x0A,0x00,0x00,0xA0,0x0C,0x00,0x00,0x60,0x0F,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // k
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFC,0x00,0x01,0xE0,0x1E,0x00,0x01,0xE0,0xDE,0x00,0x01,0xE0,0xDE,0x00,0x01,0xE0,0xDE,0x00,0x01,0xE0,0xDE,0x00,0x01,0xE0,0x1E,0x00,0x01,0xFF,0xFE,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x01,0x80,0x06,0x00,0x01,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // l
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x02,0x00,0x03,0x00,0x02,0x00,0x03,0x00,0x02,0x00,0x03,0x00,0x02,0x00,0x02,0x00,0x03,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x00,0x03,0xF8,0xFF,0x00,0x03,0xF0,0x7F,0x00,0x03,0xF0,0x7F,0x00,0x03,0xF0,0x7F,0x00,0x03,0xF8,0xFF,0x00,0x03,0xFF,0xFF,0x00,0x03,0xFC,0xFF,0x00,0x03,0xFC,0xFF,0x00,0x03,0xFC,0xFF,0x00,0x03,0xFC,0xFF,0x00,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // m
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x04,0xF8,0x7C,0x80,0x04,0x8C,0xC4,0x80,0x05,0x8C,0xC6,0x80,0x05,0x8C,0xC6,0x80,0x04,0xFC,0xFC,0x80,0x04,0xF8,0x7C,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,0x06,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,  // n
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x3E,0x30,0x00,0x00,0x7E,0x08,0x00,0x00,0xFE,0x04,0x00,0x01,0x78,0x02,0x00,0x01,0xF7,0x82,0x00,0x02,0xF8,0x61,0x00,0x03,0xF0,0x31,0x00,0x03,0xE3,0x11,0x00,0x03,0xE3,0x1F,0x00,0x02,0x23,0x1F,0x00,0x02,0x10,0x3F,0x00,0x01,0x18,0x7E,0x00,0x01,0x07,0xFE,0x00,0x00,0x81,0xFC,0x00,0x00,0x41,0xF8,0x00,0x00,0x31,0xF0,0x00,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // o

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,0x31,0xF0,0x00,0x00,0x5F,0xF8,0x00,0x00,0xA7,0xFC,0x00,0x01,0xD9,0xFE,0x00,0x01,0xA7,0xFE,0x00,0x01,0xD8,0x3E,0x00,0x03,0xA0,0x1F,0x00,0x03,0xA3,0x1F,0x00,0x03,0xE3,0x1F,0x00,0x03,0xE3,0x1D,0x00,0x01,0xE0,0x2E,0x00,0x01,0xF0,0x3A,0x00,0x01,0xFF,0xEA,0x00,0x00,0xFE,0x74,0x00,0x00,0x7F,0xC8,0x00,0x00,0x3E,0x30,0x00,0x00,0x0F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // p
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFE,0x00,0x01,0x00,0x02,0x00,0x01,0x7F,0xFE,0x00,0x01,0x40,0x06,0x00,0x01,0x40,0x06,0x00,0x01,0x40,0x06,0x00,0x01,0x40,0x06,0x00,0x01,0x40,0x06,0x00,0x01,0x40,0x06,0x00,0x01,0x40,0x06,0x00,0x01,0x7F,0xFE,0x00,0x01,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x01,0x00,0x01,0x00,0x03,0x6F,0x79,0x80,0x02,0xDF,0xBC,0x80,0x02,0x00,0x00,0x80,0x03,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // q
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xFE,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xC0,0x10,0x00,0x00,0x40,0x10,0x00,0x00,0x40,0x17,0xBD,0xED,0xC0,0x10,0x00,0x00,0x40,0x17,0xBD,0xED,0xC0,0x10,0x00,0x00,0x40,0x17,0x7E,0xED,0xC0,0x10,0x00,0x00,0x40,0x10,0x00,0x00,0x40,0x1F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // r
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF0,0x00,0x00,0x40,0x08,0x00,0x00,0x40,0x08,0x00,0x00,0x40,0x08,0x00,0x00,0x40,0x7F,0x00,0x00,0x40,0x89,0x80,0x00,0x40,0x88,0x80,0x03,0x80,0xFF,0x80,0x00,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00,0xC1,0x80,0x00,0x00,0x63,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // s
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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x3F,0xF9,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // t
0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x07,0xC0,0x00,0x00,0x0B,0xA0,0x00,0x00,0x0B,0xA0,0x00,0x00,0x09,0x20,0x00,0x00,0x09,0x20,0x00,0x00,0x07,0xC0,0x00,0x00,0x05,0x20,0x00,0x00,0x1A,0x20,0x00,0x00,0x13,0x10,0x00,0x00,0x12,0x90,0x00,0x00,0x1C,0x78,0x00,0x00,0x1C,0x38,0x00,0x00,0x1C,0x38,0x00,0x00,0x1C,0x38,0x00,0x00,0x1C,0x38,0x00,0x00,0x0C,0x30,0x00,0x00,0x0E,0x70,0x00,0x00,0x06,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // u
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x70,0x00,0x00,0x25,0x78,0x00,0x00,0x27,0xF8,0x00,0x00,0x1F,0xF0,0x00,0x00,0x7F,0xE0,0x00,0x00,0xFF,0x80,0x00,0x01,0xFF,0x80,0x00,0x01,0xFC,0x80,0x00,0x00,0xF2,0x40,0x00,0x00,0xE2,0x20,0x00,0x00,0x01,0x20,0x00,0x00,0x01,0x10,0x00,0x00,0x00,0x90,0x00,0x00,0x00,0x88,0x00,0x00,0x00,0x44,0x00,0x00,0x00,0x24,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // v
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x47,0x80,0x00,0x00,0x88,0x00,0x00,0x03,0x07,0x80,0x01,0xEC,0x21,0x00,0x02,0x10,0xDE,0x00,0x07,0x83,0x00,0x00,0x00,0x84,0x00,0x00,0x00,0xC8,0x00,0x00,0x07,0x90,0x00,0x00,0x02,0x10,0x00,0x00,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // w
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x3F,0x80,0x00,0x00,0x7F,0x80,0x00,0x00,0x7F,0x00,0x00,0x00,0x7E,0x00,0x00,0x01,0xFC,0x00,0x00,0x00,0xF8,0x00,0x00,0x01,0x60,0x00,0x00,0x02,0xA0,0x00,0x00,0x05,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0xD0,0x00,0x00,0x01,0x20,0x00,0x00,0x02,0x20,0x00,0x00,0x02,0x40,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // x
0x00,0x0F,0xFC,0x00,0x00,0x08,0x06,0x00,0x00,0x0B,0xF7,0x00,0x00,0x08,0x00,0x80,0x00,0x0B,0xFE,0x80,0x00,0x08,0x00,0x80,0x07,0xFB,0xFE,0xC0,0x06,0x48,0x00,0xC0,0x06,0x4B,0x80,0xC0,0x06,0x48,0x00,0xC0,0x06,0x5F,0xFF,0xC0,0x06,0x50,0x00,0x40,0x06,0x50,0x6F,0x40,0x06,0x50,0x6F,0x40,0x06,0x50,0x6F,0x40,0x06,0x57,0x6F,0x40,0x06,0x57,0x6F,0x40,0x06,0x57,0x6F,0x40,0x07,0xD0,0x00,0x40,0x07,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // y
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x80,0x38,0x00,0x00,0x80,0x3C,0x00,0x00,0x80,0x3C,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x00,0x80,0x04,0x00,0x03,0xFF,0xFF,0x00,0x02,0x00,0x01,0x00,0x0F,0xFF,0xFF,0xC0,0x09,0x24,0x80,0x40,0x09,0x24,0x80,0x40,0x09,0xFF,0x80,0x40,0x08,0x00,0x00,0x40,0x08,0x00,0x00,0x40,0x0F,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // z
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x7B,0xE0,0x00,0x00,0x7A,0x20,0x00,0x00,0x7A,0x20,0x00,0x00,0xFE,0x3C,0x00,0x00,0x80,0x04,0x00,0x03,0xBF,0x77,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x03,0xFF,0xFF,0x00,0x01,0xFF,0xFE,0x00,0x01,0xFF,0xFC,0x00,0x01,0xFF,0xFC,0x00,0x00,0xFF,0xF8,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,0x07,0x00,0x00,0x00,0x0D,0x80,0x00,0x00,0x1A,0xC0,0x00,0x00,0x15,0x40,0x00,0x00,0x17,0x40,0x00,0x00,0x12,0x40,0x00,0x00,0x67,0x30,0x00,0x00,0xD2,0x58,0x00,0x01,0x97,0x4C,0x00,0x02,0x17,0x42,0x00,0x02,0x12,0x42,0x00,0x02,0x18,0xC2,0x00,0x03,0xE7,0x3E,0x00,0x03,0xE7,0x3E,0x00,0x00,0x3D,0xE0,0x00,0x00,0x3D,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0xC0,0x00,0x00,0x3D,0xE0,0x00,0x00,0x0A,0x80,0x00,0x00,0x02,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,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x77,0xFF,0xC0,0x00,0x37,0xFD,0xC0,0x00,0x2F,0xF8,0x00,0x03,0xEF,0xE7,0x00,0x04,0x67,0xE8,0x80,0x08,0x93,0xD0,0x40,0x09,0x91,0xFE,0x40,0x0B,0xD0,0xFE,0x40,0x09,0x10,0x10,0x40,0x04,0x20,0x08,0x80,0x03,0xC0,0x07,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x34,0x30,0x00,0x03,0xE4,0x4F,0x80,0x06,0x72,0x5C,0xC0,0x0C,0x5A,0x94,0x60,0x08,0xC9,0xA6,0x20,0x08,0x89,0xFE,0x20,0x08,0x08,0x20,0x20,0x0C,0x10,0x10,0x60,0x06,0x30,0x18,0xC0,0x03,0xE0,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // ~
};

 

negavoid
Offline
Зарегистрирован: 09.07.2016

возможно, как-то так:

// Dingbats_only_1_XL.c
// Font type    : Truck (1 character)
// Font size    : 32x24 pixels
// Memory usage : 100 bytes

#if defined(__AVR__)
	#include <avr/pgmspace.h>
	#define fontdatatype const uint8_t
#elif defined(__PIC32MX__)
	#define PROGMEM
	#define fontdatatype const unsigned char
#elif defined(__arm__)
	#define PROGMEM
	#define fontdatatype const unsigned char
#endif

fontdatatype Dingbats1_XL[100] PROGMEM={
0x20,0x18,0x41,0x41,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xFF,0x00,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x40,0x00,0x00,0x3F,0xC0,0x0F,0xFF,0xFF,0xC0,0x0F,0x01,0xF9,0xC0,0x0E,0xC6,0xF6,0xC0,0x0D,0xEF,0x6F,0x40,0x01,0xEF,0x0F,0x00,0x00,0xC6,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00  // `
};
for (byte i = 1; i < 96; i++)   // display width 128px
{
  tft.setcursor(i,1);  // pseudocode
  tft.print(F("`"));     // pseudocode
  delay(100);
  tft.setcursor(i,1);  // pseudocode
  tft.print(F(" "));     // pseudocode
}

 

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

А как Вы посчитали что там именно 100 байтов? У меня 106 получилось, но на экране ничего не появляется. Сейчас попробую именно 100... Спасибо.

Попробовал 100 - не показывает.

Может что не так делаю?

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Тогда уж третий байт не 0x41, а 0x01.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:

Тогда уж третий байт не 0x41, а 0x01.

Тоесть всё так оставить, поменять только третий байт? И длину ту же оставить?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

На самом деле и второй байт, скорее всего, не 0х41, а 0х61. Можно воожще попытаться вставить вместо числа нужный символ.

И еще: в функцию принт надо передавать не строку, а символ - нужны одиночные кавычки вместо двойных.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Попробовал оба варианта. В обоих сдучаях выводится какой-то набор точек в квадратике, только в случае с 0х01, квадратик квадратный. А если 0х41 - прямоугольный, сплюснутый, наиболее соответствует контуру машинки.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:

На самом деле и второй байт, скорее всего, не 0х41, а 0х61. Можно воожще попытаться вставить вместо числа нужный символ.

Мне почему-то кажется что там с длиной нелады. Я насчитал 106 байтов... Сейчас попробую еще эти 2 варианта: 106 байт и 0х61.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Оба - это какие?

Приведите 4-байтовый заголовок целиком.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Нет, там 96 байтов символ и 4 заголовок - всего 100.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Заголовок, как мне кажется, должен быть такой: <0x20, 0x18, 0x61, 0x00> или можно попробовать <0x20, 0x18, '`', 1> (в угловых скобках, чтобы не путаться с другими символами)

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Не получается - хаотичные точки....

А какой символ надо выводить? Из чего там понятно что это именно апостроф? А может там первый символ нужно писать - пробел?

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

На угловые скобки пишет: "еxpected expression before '<' token"

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Угловые скобки ввел я. Исключительно для того, чтобы выделить строку. Перед этим пыталяся выделить строку, как положено, двойными кавычками, но понял, что получается не наглядно. Угловые кавычки в код переносить не нужно.

В заголовке второй байт - символ, с которого начинается знакогенератор, третий - количество символов. 

Обратный апостроф - мне кажется, он там был. Но можно заменить в заголовке 2-й байт на 0x20 и выводить пробел. В принципе, не важно какой символ, глевное, чтобы знакогенератор начинался именно с того символа, который собираемся выводить.

 

PS. Если все равно ни в какую не захочет выводить, можно попытаться описать не 1, а 2 символа, второй из которых желаемый. И соответственно на печать выводить этот второй символ из знакогенератора.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Самые "осмысленные" точки получаются с родным заголовком: 0x20, 0x18, 0x41, 0x00, - три ряда белых точек.

Странно как-то. Я пробовал прилепить этоу машинку к другому шрифту, состоящем только из цифр и двоеточия. Так вот  - вместо двоеточия. Сторка получается короче конечно и размер шрифта там больше. На экране рисуется правильная машинка, но с болшим пустым местом под ней - как буд-то это место уже отведено для шрифта большего размера, как все цифры в нём.

Шрифт, к которму я дописывал машинку, это: SevenSegNumFontPlus.c с размером "32x50 pixels", а машинка - 32x24 pixels...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Последнее - правильно.

Все-таки проследите, чтобы в заголовке первые 2 байта были прежними, 2-й - номер печатаемого символа, а последний - единица, и посмотрите, что получится.

Если не будет выводить ничего, продублируйте вторую строку массива так, чтобы общая длина составила 196 байтов, второй байт заголовка уменьшите на 1, а последний сделайте 2.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Не получается ничего. Не хочу грузить всем текстом скетча, хотя ради выявления ошибок может как раз весь и надо показать:

#include <UTFT.h>
#include <UTouch.h>
#include <OneWire.h>
#include <DallasTemperature.h>


UTFT myGLCD(ILI9327, 38, 39, 40, 41);
UTouch  myTouch( 42, 43, 44, 45, 46);

#define ONE_WIRE_BUS 10
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

/******* HEX Palette *******
  #define BLACK   0x0000
  #define BLUE    0x001F
  #define BLUEX   0x001A
  #define RED     0xF800
  #define REDX    0xA000
  #define REDD    0xF422
  #define GREEN   0x07E0
  #define GREENX  0x02E0
  #define LGREEN  0x17E1
  #define CYAN    0x07FF
  #define MAGENTA 0xF81F
  #define YELLOW  0xFFE0
  #define YELLOWW 0xEEE0
  #define WHITE   0xFFFF
  #define PINK    0xF273
  #define LGREY   0x836A
  #define LLGREY  0xEED2
  #define SPEC1   0x28E2
  #define SPEC2   0x23F3
  #define SPEC3   0x5273
  #define SPEC4   0x0551 // Windows 98 default color
  #define SPEC5   0x2A20
*/
//******* Useful Palette *******
#define RED     0xF800
#define REDX    0xA000
#define GREEN   0x07E0
#define GREENX  0x02E0
#define BLUE    0x001F
#define BLUEX   0x001A
#define BLACK   0x0000
#define WHITE   0xFFFF
#define SPEC4   0x0551
#define PINK    0xF273


int time_x = 0;               // переменная времени,      координата Х для кривой графика
int temp_y = 0;               // переменная температуры,  координата Y для кривой графика
int go = 10;                  // переменная перемещения машинки
boolean tr = true;            // триггер мигалки
float temp = 0;               // переменная температуры
extern uint8_t BigFont[];
extern uint8_t SevenSegNumFontPlus[];
extern uint8_t CAR[];


/*const unsigned char ICON[] PROGMEM = {
  0x00,0x00,
  0x00,0x00,
  0xC0,0x03,
  0xF0,0x0F,
  0x38,0x1C,
  0x18,0x18,
  0x8C,0x31,
  0xCC,0x33,
  0xCC,0x33,
  0x8C,0x31,
  0x18,0x18,
  0x38,0x1C,
  0xF0,0x0F,
  0xC0,0x03,
  0x00,0x00,
  0x00,0x00
  };
*/


//******************** SETUP ****************

void setup ()
{
  myGLCD.InitLCD();                         // запуск дисплея
  myGLCD.clrScr();                          // очистка дисплея
  myTouch.InitTouch();                      // запуск тачскрина
  myTouch.setPrecision(PREC_MEDIUM);        // установка величины силы нажатия на тач
  myGLCD.setFont(BigFont);                  // установка типа шрифта
  delay(50);                                // время на инициализацию датчика и дисплея
  InitDraw();                               // прорисовка рамочек и других неменяющихся символов
  ClrScrn();                                // обновление цветного поля температур
  }

//*****************************************************************
//********************** User Functions ***************************
//*****************************************************************
void InitDraw()                             // Отрисовка границ и символов
{
  myGLCD.setBackColor(0, 0, 0);
  myGLCD.print("t ", 155, 36);              // Знак температуры
  myGLCD.drawCircle(170, 40, 2);            // Кужочек обозначения температуры
  myGLCD.print("C", 280, 36);               // Знак Celsium
  myGLCD.drawCircle(278, 40, 3);            // Кужочек Celsium
  myGLCD.drawRoundRect(147, 1, 295, 25);    // Рамочка для отображения текущего режима
  myGLCD.drawRoundRect(147, 32, 295, 55);   // Рамочка для температуры

}
void ClrScrn()                              // Очистка полей и сброс счетчика по иксам
{
  
  time_x = 0;

  sensors.begin();
  // ********** Draw axis *******
  //  myGLCD.setColor(RED);
  //  myGLCD.fillRect(0,40,3,239);
  //  myGLCD.fillRect(0,237,315,240);

  // ******* Clearing temp screen area *******
  myGLCD.setColor(REDX);
  myGLCD.fillRoundRect(3, 80, 317, 113);
  myGLCD.setColor(GREENX);
  myGLCD.fillRoundRect(3, 173, 317, 113);
  myGLCD.setColor(BLUEX);
  myGLCD.fillRoundRect(3, 173, 317, 236);

  // ******* Draw vertical grid *******
  myGLCD.setColor(WHITE);
  /*
    myGLCD.drawLine(20,41,20,221);
    myGLCD.drawLine(40,41,40,221);
    myGLCD.drawLine(60,41,60,221);
    myGLCD.drawLine(80,41,80,221);
    myGLCD.drawLine(100,41,100,221);
    myGLCD.drawLine(120,41,120,221);
    myGLCD.drawLine(140,41,140,221);
    myGLCD.drawLine(160,41,160,221);
    myGLCD.drawLine(180,41,180,221);
    myGLCD.drawLine(200,41,200,221);
    myGLCD.drawLine(220,41,220,221);
    myGLCD.drawLine(240,41,240,221);
    myGLCD.drawLine(260,41,260,221);
    myGLCD.drawLine(280,41,280,221);
    myGLCD.drawLine(300,41,300,221);
    myGLCD.drawLine(320,41,320,221);

    // ******* Draw horisontal grid *******
    myGLCD.drawLine(3,41,316,41);
    myGLCD.drawLine(3,61,316,61);
    myGLCD.drawLine(3,81,316,81);
    myGLCD.drawLine(3,101,316,101);
    myGLCD.drawLine(3,121,316,121);
    myGLCD.drawLine(3,141,316,141);
    myGLCD.drawLine(3,161,316,161);
    myGLCD.drawLine(3,181,316,181);
    myGLCD.drawLine(3,201,316,201);
    myGLCD.drawLine(3,221,316,221);
  */
  // ******* Draw scale *******
  //myGLCD.setBackColor(BLACK);
  //myGLCD.setColor(WHITE);
  //myGLCD.print("120", 3,64);
  myGLCD.setBackColor(REDX);
  myGLCD.print("95", 3, 97);
  myGLCD.setBackColor(GREENX);
  myGLCD.print("50", 3, 157);
  myGLCD.setBackColor(BLUEX);
  myGLCD.print("0", 3, 223);
  myGLCD.setBackColor(BLACK);
}



void loop()
{
  //*************** Рисуем значение текущей температуры ********************

  sensors.requestTemperatures();
  temp = sensors.getTempCByIndex(0);
  myGLCD.setColor(SPEC4);
  myGLCD.setBackColor(BLACK);
  myGLCD.print(" ", 259, 36);                             // затираем последний символ если было три знака до запятой.
  myGLCD.setFont(BigFont);
  myGLCD.print(String(temp), 179, 36);                    // рисуем численное значение температуры
  // myGLCD.setColor(RED);
  // myGLCD.print(String(time_x),265, 220);               // Отладочная: позиция X (time)
  // myGLCD.print(String(240-temp_y),180, 220);           // Отладочная: позиция Y (temp)

  /**************** Рисуем график ********************/
  temp_y = map(temp, 0, 150, 3, 200);                     // мапим диапазон игреков
  myGLCD.setColor(WHITE);
  myGLCD.fillCircle(5 + time_x, 240 - temp_y, 2);         // рисуем точки снизу, слевa

  if (time_x <= 310) {
    time_x++;
  }
  else {
    ClrScrn();
  }

  if (temp < 50) {
    switch (tr) {
      case true:
        tr = false;
        myGLCD.setColor(BLUEX);
        //   myGLCD.fillRoundRect(147,1, 277,25);
        myGLCD.setBackColor(BLUEX);
        myGLCD.setColor(WHITE);
        myGLCD.print(" WARMING ", 150, 5);
        break;
      case false:
        tr = true;
        myGLCD.setBackColor(BLACK);
        myGLCD.setColor(WHITE);
        myGLCD.print(" WARMING ", 150, 5);
        break;
    }
    // Холодная машинка стоит, не двигается!
      myGLCD.setFont(CAR);
      myGLCD.print("`", 10 + go - 5, 74);
      myGLCD.setColor(WHITE);                               // устанавливаем цвет рисования - белый
 //   myGLCD.drawCircle(10 + go - 5, 74, 4);                // рисуем заднее колесо
 //   myGLCD.drawCircle(31 + go - 5, 75, 3);                // рисуем переднее колесо
 //   myGLCD.drawRoundRect(6 + go - 5, 74, 24 + go - 5, 60);// рисуем кузов
 //   myGLCD.drawRect(4 + go - 5, 74, 36 + go - 5, 67);     // рисуем капот
    myGLCD.setBackColor(BLACK);                           // Гасим подсветку
    myGLCD.setFont(SevenSegNumFontPlus);
    myGLCD.print(String(int(temp)), 1, 1);
    myGLCD.setFont(BigFont);
  }

  if (temp > 50 && temp < 95) {
    myGLCD.setColor(WHITE);
    myGLCD.setBackColor(GREENX);
    myGLCD.print("  DRIVE  ", 149, 5);

    // Прогретая машинка едет!
    myGLCD.setColor(BLACK);                               // устанавливаем цвет стирания - черный
    myGLCD.drawCircle(10 + go - 5, 74, 4);                // стираем заднее колесо
    myGLCD.drawCircle(31 + go - 5, 75, 3);                // стираем переднее колесо
    myGLCD.drawRoundRect(6 + go - 5, 74, 24 + go - 5, 60);// стираем кузов
    myGLCD.drawRect(4 + go - 5, 74, 36 + go - 5, 67);     // стираем капот

    myGLCD.setColor(GREEN);                               // устанавливаем цвет рисования - зеленый
    myGLCD.drawCircle(10 + go, 74, 4);                    // рисуем заднее колесо
    myGLCD.drawCircle(31 + go, 75, 3);                    // рисуем переднее колесо
    myGLCD.drawRoundRect(6 + go, 74, 24 + go, 60);        // рисуем кузов
    myGLCD.drawRect(4 + go, 74, 36 + go, 67);             // рисуем капот
    go = go + 5;
    myGLCD.setBackColor(BLACK);                           // Гасим подсветку
    myGLCD.setFont(SevenSegNumFontPlus);
    myGLCD.print(String(int(temp)), 1, 1);
    myGLCD.setFont(BigFont);
  }
  if (temp > 95) {
    switch (tr) {
      case true:
        tr = false;
        myGLCD.setBackColor(REDX);
        myGLCD.setColor(WHITE);
        myGLCD.print("OverHeat!", 150, 5);
        break;
      case false:
        tr = true;
        myGLCD.setBackColor(BLACK);
        myGLCD.setColor(RED);
        myGLCD.print("OverHeat!", 150, 5);
        break;
    }
    myGLCD.setColor(BLACK);                               // устанавливаем цвет стирания - черный
    myGLCD.drawCircle(10 + go - 5, 74, 4);                // стираем заднее колесо
    myGLCD.drawCircle(31 + go - 5, 75, 3);                // стираем переднее колесо
    myGLCD.drawRoundRect(6 + go - 5, 74, 24 + go - 5, 60);// стираем кузов
    myGLCD.drawRect(4 + go - 5, 74, 36 + go - 5, 67);     // стираем капот

    myGLCD.setColor(RED);                                 // устанавливаем цвет рисования - красный
    myGLCD.drawCircle(10 + go, 74, 4);                    // рисуем заднее колесо
    myGLCD.drawCircle(31 + go, 75, 3);                    // рисуем переднее колесо
    myGLCD.drawRoundRect(6 + go, 74, 24 + go, 60);        // рисуем кузов
    myGLCD.drawRect(4 + go, 74, 36 + go, 67);             // рисуем капот
    go = go + 5;
    myGLCD.setBackColor(BLACK);                           // Гасим подсветку
    myGLCD.setFont(SevenSegNumFontPlus);
    myGLCD.print(String(int(temp)), 1, 1);
    myGLCD.setFont(BigFont);
  }
  if (go > 280) {
    myGLCD.setColor(BLACK);                               // устанавливаем цвет стирания - черный
    myGLCD.drawCircle(10 + go - 5, 74, 4);                // стираем заднее колесо
    myGLCD.drawCircle(31 + go - 5, 75, 3);                // стираем переднее колесо
    myGLCD.drawRoundRect(6 + go - 5, 74, 24 + go - 5, 60);// стираем кузов
    myGLCD.drawRect(4 + go - 5, 74, 36 + go - 5, 67);     // стираем капот
    go = 0;
  }
  //delay (100);                                           // Отладочная: Задержка между измерениями

} // END ----->    Void loop()

222 строка - это как я отображаю апостроф.

Вот сама машинка, типа:

// CAR.c
// Font type    : Full (95 characters)
// Font size    : 32x24 pixels
// Memory usage : 9124 bytes

#if defined(__AVR__)
	#include <avr/pgmspace.h>
	#define fontdatatype const uint8_t
#elif defined(__PIC32MX__)
	#define PROGMEM
	#define fontdatatype const unsigned char
#elif defined(__arm__)
	#define PROGMEM
	#define fontdatatype const unsigned char
#endif

fontdatatype CAR[100] PROGMEM={
//0x20,0x18,0x41,0x41,
0x20, 0x20, 0x41, 0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xC0,0x00,0x0F,0xFF,0xFF,0x00,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x80,0x0F,0xFF,0xF8,0x40,0x00,0x00,0x3F,0xC0,0x0F,0xFF,0xFF,0xC0,0x0F,0x01,0xF9,0xC0,0x0E,0xC6,0xF6,0xC0,0x0D,0xEF,0x6F,0x40,0x01,0xEF,0x0F,0x00,0x00,0xC6,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};

Может тут какая ошибка. ...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Да, ошибка: 3-й байт заголовка должен быть единицей, а не нулем, а первый - 0x18, как и в исходном варианте. Первые два байта - размер шрифта, их менять не нужно.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:

Да, ошибка: 3-й байт заголовка должен быть единицей, а не нулем, а первый - 0x18, как и в исходном варианте. Первые два байта - размер шрифта, их менять не нужно.

так там же закомментирован исходный вариант заголовка и первый байт там 0x20 как раз.... Ничего я не понимаю теперь... Хотя вот в исходном файле со шрифтами (в котором машинка есть), стоит вот какой заголовок: 0x20,0x18,0x20,0x5F

А почему, кстати, нельзя использовать заголовок как в исходном файле со шрифтами: 0x20,0x18,0x20,0x5F ???

Он тоже неправильно машинку рисует кстати, но полоски теперь горизонтальные.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:
PS. Если все равно ни в какую не захочет выводить, можно попытаться описать не 1, а 2 символа, второй из которых желаемый. И соответственно на печать выводить этот второй символ из знакогенератора.

Сейчас попробую . . .

Не помогло: те же горизонтальне полоски. Заголовок:

fontdatatype CAR[100] PROGMEM={
0x20,0x18,0x20,0x5F,

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Что - можно, а что нельзя, зависит от того, что Вам нужно. Если Вы хотите сохранить размер рисунка, первые два байта следует оставить без изменений. Если Вы хотите разместить Ваш рисунок поближе к началу массива, нужно изменять второй байт. Если хотите сократить размер массива - нужно изменять третий.

Назначение байтов я Вам расписал - смотрите сами.

 

PS. В исходном варианте первый байт был как раз 0х18.  На всякий случй напомню, что в Си массивы нумеруются с 0.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:
Что - можно, а что нельзя, зависит от того, что Вам нужно.

Мне нужно сохранить размер машинки как в ее родной библиотеке со шрифтами: 32х24. Но мне надо как-то избавиться от всех остальных символов в этой библиотеке, которые я не буду использовать. Вот и всё.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Buzzer2010 пишет:

andriano пишет:
PS. Если все равно ни в какую не захочет выводить, можно попытаться описать не 1, а 2 символа, второй из которых желаемый. И соответственно на печать выводить этот второй символ из знакогенератора.

Сейчас попробую . . .

Не помогло: те же горизонтальне полоски. Заголовок:

fontdatatype CAR[100] PROGMEM={
0x20,0x18,0x20,0x5F,

 

Выводите пробел?

Когда приводите код, приводите сразу и команду вывода - они зависят друг от друга.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:

Buzzer2010 пишет:

andriano пишет:
PS. Если все равно ни в какую не захочет выводить, можно попытаться описать не 1, а 2 символа, второй из которых желаемый. И соответственно на печать выводить этот второй символ из знакогенератора.

Сейчас попробую . . .

Не помогло: те же горизонтальне полоски. Заголовок:

fontdatatype CAR[100] PROGMEM={
0x20,0x18,0x20,0x5F,

 

Выводите пробел?

Когда приводите код, приводите сразу и команду вывода - они зависят друг от друга.

Пробую и пробел и апостроф - результат прежний: хаос из точек. Не знаю что такое. Было вот как:

fontdatatype CAR[100] PROGMEM={
0x20,0x18,0x20,0x5F,.......
,,,,,,,,,,
myGLCD.setFont(CAR);
      myGLCD.print("`", 10 + go - 5, 74);

Только что подключил всю библиотеку тех шрифтов, где машинка - вывелась машинка. Правда съело 3% памяти (((((

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

То, что у Вас сейчас написано, не будет работать. Перечитайте мое сообщение №15.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:
Последнее - правильно.

Все-таки проследите, чтобы в заголовке первые 2 байта были прежними, 2-й - номер печатаемого символа, а последний - единица, и посмотрите, что получится.

Я не знаю как пишется еденица в HEX, к сожалению. Единственное что приходит в голову это 0х01.

andriano пишет:
Если не будет выводить ничего, продублируйте вторую строку массива так, чтобы общая длина составила 196 байтов...,

А как же это может не получиться: 96+96=192 и + 4 байта заголовок.

andriano пишет:
второй байт заголовка уменьшите на 1, а последний сделайте 2.

Я уже потерял правильную комбинацию цифр в заголовке ((((( Сейчас буду искать...

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Вот если Вы на этот заголовок сказали "Последнее - Правильно": 0x20, 0x18, 0x41, 0x00 , то после корректировок доллжно получиться что-то вроде:

0x20, 0x17, 0x41, 0x02

Теперь тоже правильно?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Buzzer2010, я Вам расписывал назначение каждого байта заголовка. Не надо искать правильную комбинацию, нужно осознанно занести в заголовок правильные числа.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Buzzer2010 пишет:

Вот если Вы на этот заголовок сказали "Последнее - Правильно": 0x20, 0x18, 0x41, 0x00 , то после корректировок доллжно получиться что-то вроде:

0x20, 0x17, 0x41, 0x02

Теперь тоже правильно?

Без кода невозможно сказать, правильно или нет.

 

PS. Нет, в данном случе можно - неправильно!

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:

Buzzer2010 пишет:

Вот если Вы на этот заголовок сказали "Последнее - Правильно": 0x20, 0x18, 0x41, 0x00 , то после корректировок доллжно получиться что-то вроде:

0x20, 0x17, 0x41, 0x02

Теперь тоже правильно?

Без кода невозможно сказать, правильно или нет.

Без какого именно кода? Чуть выше есть полный текст скетча и библиотеки шрифтов с машинкой.

andriano пишет:

Buzzer2010, я Вам расписывал назначение каждого байта заголовка. Не надо искать правильную комбинацию, нужно осознанно занести в заголовок правильные числа.

К сожаленю это невозможно.

mazahaker
Offline
Зарегистрирован: 02.11.2015

Что бы не плодить кучу тем,  напишу в этой) Тема то же про иконки) Юзаю ардуино мега 2560, запилил пачку иконок в массивы.Цепляю их как const progmem, но при попытке нарисовать очередную иконку на экране ардуина не стартует. Думаю идет переполнение области кода. Поправьте если не прав) Ну и подскажите как обойти

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

mazahaker пишет:

переполнение области кода

такого явления не существует в природе

mazahaker
Offline
Зарегистрирован: 02.11.2015

Клапауций 823 пишет:

такого явления не существует в природе

Тогда расскажите, что происходит. В замешательстве

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

mazahaker пишет:

Клапауций 823 пишет:

такого явления не существует в природе

Тогда расскажите, что происходит. В замешательстве

думаю, что нужно начинать устраивать человеческие жертвоприношения.

mazahaker
Offline
Зарегистрирован: 02.11.2015

А серьезней. Должны же быть какие то причины

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

mazahaker пишет:

А серьезней. Должны же быть какие то причины

должны.

mazahaker
Offline
Зарегистрирован: 02.11.2015

Вот такой код не выполняется на Ардуино. Каждая по отдельности рисуется, все вместе, получаем не стартующий скетч

//Подключение библиотек
#include <UTFT.h>

//Иконки
const extern PROGMEM unsigned short iconAccel[0x4C9] ;
const extern PROGMEM unsigned short iconPressure[0x4C9];
const extern PROGMEM unsigned short iconAFR[0x4C9];
const extern PROGMEM unsigned short iconTempAir[0x4C9];
const extern PROGMEM unsigned short iconTempWater[0x4C9];
const extern PROGMEM unsigned short iconUOZ[0x4C9];

const extern PROGMEM unsigned short textPressure[0x12C7];
const extern PROGMEM unsigned short textMaxPressure[0x3D4];
const extern PROGMEM unsigned short textAFR[0x948];
const extern PROGMEM unsigned short textAccel[0xE34];
const extern PROGMEM unsigned short textAirTemp[0x115E];
const extern PROGMEM unsigned short textWaterTemp[0x1008];
const extern PROGMEM unsigned short textUOZ[0xC84];

const PROGMEM extern unsigned short longLine[0x4BA] ;
const PROGMEM extern unsigned short shortLine[0x31B] ;

const PROGMEM extern unsigned short footer[0x30A6] ;

//Подключение дисплея
UTFT myGLCD(ILI9486, 38, 39, 40, 41);

void setup() {
  myGLCD.InitLCD(LANDSCAPE);
  myGLCD.clrScr();
  myGLCD.setColor(255, 255, 255);
  myGLCD.setBackColor(0, 0, 0);
  
//  //Иконки
  myGLCD.drawBitmap (15,68, 35, 35, iconPressure,1);
  myGLCD.drawBitmap (220,25, 35, 35, iconTempWater,1);
  myGLCD.drawBitmap (220,75, 35, 35, iconTempAir,1);
  myGLCD.drawBitmap (220,125, 35, 35, iconAFR,1);
  myGLCD.drawBitmap (220,175, 35, 35, iconUOZ,1);
  myGLCD.drawBitmap (220,225, 35, 35, iconAccel,1);

//  //Текстовые иконки
  myGLCD.drawBitmap (3,23, 209, 23, textPressure,1);
  myGLCD.drawBitmap (10,124, 98, 10, textMaxPressure,1);
  myGLCD.drawBitmap (260,23, 114, 36, textWaterTemp,1);
  myGLCD.drawBitmap (260,73, 114, 39, textAirTemp,1);
  myGLCD.drawBitmap (260,123, 66, 36, textAFR,1);
  myGLCD.drawBitmap (260,173, 89, 36, textUOZ,1);
  myGLCD.drawBitmap (260,223, 101, 36, textAccel,1);
  
  //Две длинные линии
  myGLCD.drawBitmap (233,15, 242, 5, longLine,1);
  myGLCD.drawBitmap (233,265, 242, 5, longLine,1);

  //Четыре короткие линии
  myGLCD.drawBitmap (315,65, 159, 5, shortLine,1);
  myGLCD.drawBitmap (315,115, 159, 5, shortLine,1);
  myGLCD.drawBitmap (315,165, 159, 5, shortLine,1);
  myGLCD.drawBitmap (315,215, 159, 5, shortLine,1);

  //Футер
  myGLCD.drawBitmap (0,294, 479, 26, footer,1);

}

 

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Вот кстати насчёт "const extern PROGMEM unsigned short" тоже хотелось сказать пару слов. Очень удобная комбинация, если надо выводить какие-то отдельные графические данные. Одна беда только: все массивы, которые описаны - помещаются в тело скетча и нещадно едят память. Пользовался утилитой от UTFT: "ImgConv". Она преобразует графический файл в массив, который потом выводится на дисплей.

Только у меня это происходило как-то иначе:

// UTFT_Bitmap (C)2014 Henning Karlsen
// web: http://www.henningkarlsen.com/electronics
//
// This program is a demo of the drawBitmap()-function.
//
// This demo was made to work on the 320x240 modules.
// Any other size displays may cause strange behaviour.
//
// This program requires the UTFT library.
//

#include <UTFT.h>

// Declare which fonts we will be using
extern uint8_t SmallFont[];

// Set the pins to the correct ones for your development shield
// ------------------------------------------------------------
// My chipKit Uno32/uC32 shield                : <display model>,38,39,40,41
// My chipKit Max32 shield                     : <display model>,82,83,84,85
// AquaLEDSource All in One Super Screw Shield : <display model>,82,83,84,85
//
// Remember to change the model parameter to suit your display module!
UTFT myGLCD(ILI9327,38,39,40,41);

extern unsigned short info[0x400];
extern unsigned short icon[0x400];
extern unsigned short tux[0x400];

void setup()
{
  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);
}

void loop()
{
  myGLCD.fillScr(255, 255, 255);
  myGLCD.setColor(255, 255, 255);
  myGLCD.print(" *** A 10 by 7 grid of a 32x32 icon *** ", CENTER, 228);
  for (int x=0; x<10; x++)
    for (int y=0; y<7; y++)
      myGLCD.drawBitmap (x*32, y*32, 32, 32, info);

  delay(5000);
  
  myGLCD.fillScr(255, 255, 255);
  myGLCD.setColor(255, 255, 255);
  myGLCD.print("   Two different icons in scale 1 to 4  ", CENTER, 228);
  int x=0;
  for (int s=0; s<4; s++)
  {
    x+=(s*32);
    myGLCD.drawBitmap (x, 0, 32, 32, tux, s+1);
  }
  x=0;
  for (int s=4; s>0; s--)
  {
    myGLCD.drawBitmap (x, 224-(s*32), 32, 32, icon, s);
    x+=(s*32);
  }

  delay(5000);
}

Где:

extern unsigned short info[0x400];
extern unsigned short icon[0x400];
extern unsigned short tux[0x400];

это отдельные файлы с массивами, созданные в утилите "ImgConv":

// Generated by  : ImageConverter 565 v1.0
// Generated from: taskmgr.png
// Time generated: 11.10.2010 22:51:23
// Size          : 2 048 Bytes

const unsigned short icon[0x400] ={
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0xCE79, 0xBDD7, 0xAD75,   // 0x0010 (16)
0xAD55, 0xAD75, 0xBDF7, 0xD6BA, 0xF7BE, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0020 (32)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xC638, 0x9492, 0x8C51, 0x9492, 0xA514, 0xA534,   // 0x0030 (48)
0xA534, 0xA534, 0x9CF3, 0x8C71, 0x8430, 0x9CD3, 0xD69A, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0040 (64)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xCE59, 0x8410, 0x9492, 0xB5B6, 0xC618, 0xBDD7, 0xAD75, 0xA514,   // 0x0050 (80)
0xA514, 0xA4F4, 0xAD55, 0xB5B6, 0xBDD7, 0xAD55, 0x8430, 0x8C71, 0xDEFB, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0060 (96)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x9CD3, 0x8430, 0xBDF7, 0xC618, 0xAD75, 0x94F2, 0x8CF1, 0x84B0, 0x8CD1,   // 0x0070 (112)
0x9612, 0x8CB1, 0x7C6F, 0x7C8F, 0x8490, 0xA533, 0xBDF7, 0xB596, 0x7BEF, 0xB596, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0080 (128)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x8430, 0x9CF3, 0xCE39, 0xA514, 0x94B2, 0x9E93, 0x94F2, 0x8CD1, 0x8CB1, 0x9D12,   // 0x0090 (144)
0x9F74, 0x9D52, 0x8450, 0x7C8F, 0x73AE, 0x740E, 0x73CE, 0x9CD3, 0xC638, 0x8C51, 0x9CD3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x00A0 (160)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0x8430, 0xA534, 0xBDF7, 0x8CB1, 0x8C31, 0x9DB3, 0xA735, 0x9D13, 0x8CB1, 0x8C71, 0x9D13,   // 0x00B0 (176)
0xB756, 0xA5D4, 0x8C71, 0x8490, 0x8390, 0x7C70, 0x73EE, 0x6B4D, 0x8450, 0xBDF7, 0x8C71, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x00C0 (192)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x94B2, 0x9CF3, 0xBDD7, 0x8490, 0x8CF1, 0x9D72, 0xA694, 0xAE94, 0x9DD3, 0xA593, 0xA553, 0x9592,   // 0x00D0 (208)
0x9672, 0x75CE, 0x5BAA, 0x64EB, 0x5D8C, 0x5BCA, 0x4B69, 0x634C, 0x748D, 0x7C4F, 0xBE18, 0x8430, 0xB5B6, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x00E0 (224)
0xFFFF, 0xFFFF, 0xFFFF, 0xC618, 0x8410, 0xBDF7, 0x8410, 0x83F0, 0x94F2, 0x9613, 0x9D13, 0xAE55, 0x9D12, 0x750E, 0x55CB, 0x4BC8,   // 0x00F0 (240)
0x4447, 0x3BC6, 0x4B67, 0x44E8, 0x3CE8, 0x3325, 0x20E2, 0x2B45, 0x43E7, 0x3946, 0x732D, 0xC5F8, 0x7BCF, 0xE71C, 0xFFFF, 0xFFFF,   // 0x0100 (256)
0xFFFF, 0xFFFF, 0xF7BE, 0x7BEF, 0xBDB6, 0x9533, 0x8D71, 0x9552, 0x9E73, 0x9DD3, 0x94B2, 0x6D6D, 0x4BA8, 0x44A8, 0x55EA, 0x5D2A,   // 0x0110 (272)
0x43E7, 0x4327, 0x46CA, 0x4B87, 0x42C6, 0x4E0A, 0x4D09, 0x4468, 0x4548, 0x3386, 0x2B25, 0x7C6F, 0xAD35, 0x9492, 0xFFFF, 0xFFFF,   // 0x0120 (288)
0xFFDF, 0xFFFF, 0xBDD7, 0x8C71, 0xAD75, 0x8CF0, 0x8D71, 0x8D51, 0x9DF3, 0x740E, 0x21C4, 0x33E5, 0x558A, 0x554A, 0x650A, 0x566B,   // 0x0130 (304)
0x43E7, 0x21C3, 0x3345, 0x2283, 0x1962, 0x3C87, 0x3386, 0x2163, 0x3345, 0x3346, 0x33A6, 0x32C6, 0x9CB3, 0x7BEF, 0xDEDB, 0xFFFF,   // 0x0140 (320)
0xFFFF, 0xFFFF, 0x8430, 0xAD75, 0x8C31, 0x7C0F, 0x7BCF, 0x83F0, 0x636B, 0x0000, 0x0000, 0x4387, 0x462A, 0x4B27, 0x4B88, 0x4E8B,   // 0x0150 (336)
0x42E6, 0x0000, 0x0020, 0x0100, 0x0000, 0x1121, 0x0040, 0x0000, 0x0941, 0x0000, 0x0020, 0x00E0, 0x5AAB, 0x94B2, 0x9CD3, 0xFFFF,   // 0x0160 (352)
0xFFFF, 0xE71C, 0x8410, 0xB596, 0x7BEF, 0x7C6F, 0x84B0, 0x5B6B, 0x09E1, 0x0901, 0x1161, 0x3C06, 0x3D89, 0x32C5, 0x43E7, 0x470B,   // 0x0170 (368)
0x4BC7, 0x0961, 0x11E2, 0x1282, 0x0961, 0x1262, 0x09E2, 0x0961, 0x12A2, 0x0961, 0x09C2, 0x0A01, 0x29E5, 0xA514, 0x7BEF, 0xFFDF,   // 0x0180 (384)
0xFFFF, 0xBDD7, 0x9472, 0xA514, 0x6B4D, 0x7C6F, 0x634C, 0x0040, 0x0981, 0x0060, 0x00E0, 0x11E2, 0x10A1, 0x09C1, 0x19E3, 0x2B25,   // 0x0190 (400)
0x22A3, 0x0060, 0x0120, 0x09E1, 0x0060, 0x09E1, 0x0120, 0x0060, 0x0A21, 0x0060, 0x0100, 0x01A0, 0x0040, 0x9CD3, 0x7BEF, 0xDEDB,   // 0x01A0 (416)
0xFFFF, 0xA514, 0x9CF3, 0xB596, 0x73AE, 0x7C0F, 0x2945, 0x10A2, 0x2184, 0x18C3, 0x1923, 0x2184, 0x18C3, 0x21A4, 0x2964, 0x2905,   // 0x01B0 (432)
0x2A25, 0x2104, 0x2965, 0x2A05, 0x2104, 0x2A05, 0x2985, 0x2104, 0x2A25, 0x2104, 0x2164, 0x29C4, 0x3166, 0xB5B6, 0x8410, 0xC618,   // 0x01C0 (448)
0xFFFF, 0x9492, 0xA514, 0xDEDB, 0xC618, 0xA514, 0x8C51, 0x94B2, 0x9CB3, 0x9CF3, 0xA514, 0xA534, 0xAD75, 0xAD75, 0xB596, 0xB5D6,   // 0x01D0 (464)
0xBDB7, 0xBDF7, 0xBDF7, 0xBDF7, 0xC618, 0xC5F8, 0xC5F8, 0xBDF7, 0xBDD7, 0xBDD7, 0xB5B6, 0xB596, 0xC638, 0xDEFB, 0x8430, 0xB596,   // 0x01E0 (480)
0xFFFF, 0x8C51, 0x9CF3, 0xE73C, 0xDEFB, 0xD69A, 0xD6BA, 0xD6BA, 0xDEDB, 0xDEDB, 0xDEFB, 0xDF1B, 0xE71C, 0xE73C, 0xE73C, 0xE73C,   // 0x01F0 (496)
0xEF5D, 0xEF5D, 0xEF5D, 0xEF7D, 0xEF7D, 0xEF7D, 0xEF7D, 0xEF5D, 0xEF5D, 0xEF5D, 0xE73C, 0xE73C, 0xDEFB, 0xE71C, 0x8C51, 0xAD75,   // 0x0200 (512)
0xFFFF, 0x8C71, 0x9CD3, 0xDEFB, 0xAD75, 0x9492, 0x9CD3, 0xA4F3, 0xA514, 0xAD55, 0xAD75, 0xB596, 0xBDB6, 0xBDD7, 0xC5F7, 0xC618,   // 0x0210 (528)
0xC638, 0xCE59, 0xCE59, 0xCE79, 0xD679, 0xD679, 0xCE79, 0xCE59, 0xCE59, 0xC638, 0xC618, 0xBDF7, 0xCE79, 0xE71C, 0x8C51, 0xB596,   // 0x0220 (544)
0xFFFF, 0x9CD3, 0x9492, 0xAD55, 0x2965, 0x2104, 0x2124, 0x2145, 0x1945, 0x2165, 0x2165, 0x2186, 0x2186, 0x29A6, 0x29A6, 0x31C7,   // 0x0230 (560)
0x39C7, 0x31E7, 0x31E7, 0x31E7, 0x3208, 0x3208, 0x31E7, 0x31E7, 0x29E7, 0x31C7, 0x39C7, 0x31A6, 0x4A49, 0xBDF7, 0x8C51, 0xBDF7,   // 0x0240 (576)
0xFFFF, 0xB5B6, 0x8430, 0x7BEF, 0x0000, 0x0000, 0x0000, 0x2000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3000, 0x3800, 0x2000,   // 0x0250 (592)
0x0000, 0x3000, 0x3800, 0x3000, 0x3800, 0x3800, 0x3800, 0x3000, 0x3800, 0x0800, 0x0000, 0x0000, 0x0000, 0xA514, 0x8430, 0xD6BA,   // 0x0260 (608)
0xFFFF, 0xDEDB, 0x7BCF, 0x8430, 0x0020, 0x0000, 0x0000, 0x8000, 0xC800, 0xC000, 0xC800, 0xC820, 0xC820, 0xC820, 0xD020, 0x9800,   // 0x0270 (624)
0x0000, 0xB820, 0xD020, 0xD020, 0xD020, 0xD020, 0xD020, 0xC820, 0xD020, 0x4800, 0x0000, 0x0000, 0x2144, 0xAD75, 0x8410, 0xF7BE,   // 0x0280 (640)
0xFFFF, 0xFFFF, 0x7BEF, 0x8C71, 0x2945, 0x0000, 0x0000, 0x6800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xA800, 0xB000, 0x8000,   // 0x0290 (656)
0x0000, 0x9800, 0xB000, 0xB000, 0xB000, 0xB000, 0xB000, 0xB000, 0xB000, 0x4000, 0x0000, 0x0000, 0x632C, 0xA534, 0x94B2, 0xFFFF,   // 0x02A0 (672)
0xFFDF, 0xFFFF, 0xAD75, 0x73AE, 0x632C, 0x0000, 0x0000, 0x6920, 0xA9E0, 0xA1C0, 0xA9E0, 0xA9E0, 0xA9E0, 0xA9E0, 0xA9E0, 0x7960,   // 0x02B0 (688)
0x0000, 0x99C0, 0xB200, 0xA9E0, 0xB200, 0xB200, 0xB1E0, 0xA9E0, 0xB200, 0x40C0, 0x0000, 0x1082, 0xAD75, 0x8410, 0xD69A, 0xFFFF,   // 0x02C0 (704)
0xFFFF, 0xFFFF, 0xF79E, 0x630C, 0x8C51, 0x2965, 0x0000, 0x7400, 0xB620, 0xAE00, 0xB620, 0xB640, 0xB640, 0xB620, 0xB660, 0x84A0,   // 0x02D0 (720)
0x0000, 0xA5A0, 0xBE60, 0xB660, 0xBE60, 0xBE60, 0xB660, 0xB640, 0xBE80, 0x4260, 0x0000, 0x6B6D, 0xAD75, 0x8430, 0xFFFF, 0xFFFF,   // 0x02E0 (736)
0xFFFF, 0xFFDF, 0xFFFF, 0xB5B6, 0x632C, 0x8410, 0x0021, 0x7360, 0xBD40, 0xB520, 0xBD40, 0xBD60, 0xBD60, 0xBD40, 0xC580, 0x8C00,   // 0x02F0 (752)
0x0000, 0xACE0, 0xC580, 0xC580, 0xC580, 0xC580, 0xC580, 0xBD60, 0xC5A0, 0x39C0, 0x2126, 0xBDF7, 0x73AE, 0xD6BA, 0xFFFF, 0xFFFF,   // 0x0300 (768)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x7BEF, 0x7BEF, 0x630D, 0x4AE1, 0x6D21, 0x6D01, 0x6D21, 0x6D41, 0x6D41, 0x6D41, 0x6D61, 0x53E1,   // 0x0310 (784)
0x0000, 0x64C1, 0x7562, 0x6D62, 0x6D62, 0x6D62, 0x6D62, 0x6D42, 0x6D41, 0x4263, 0xA515, 0x8C51, 0xA534, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0320 (800)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF79E, 0x6B4D, 0x8410, 0x636E, 0x04A6, 0x05E5, 0x05C5, 0x0585, 0x0585, 0x0586, 0x05A6, 0x0424,   // 0x0330 (816)
0x0000, 0x0505, 0x05C6, 0x05A6, 0x05A6, 0x05C7, 0x0606, 0x0606, 0x1CE9, 0xA535, 0x9492, 0x8C71, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0340 (832)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xEF7D, 0x6B4D, 0x83EF, 0x9411, 0x3A47, 0x0403, 0x0584, 0x05A4, 0x0585, 0x0585, 0x0404,   // 0x0350 (848)
0x0000, 0x04E5, 0x05A5, 0x05A5, 0x05C5, 0x0584, 0x1405, 0x634B, 0xBD76, 0x8C51, 0x8C51, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0360 (864)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0x8410, 0x6B6D, 0x9CB3, 0x7C6F, 0x3CA9, 0x0BE4, 0x0443, 0x0504, 0x03C2,   // 0x0370 (880)
0x0000, 0x0483, 0x0504, 0x0444, 0x1426, 0x552D, 0xA554, 0xB576, 0x73CE, 0x9CF3, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0380 (896)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xB5B6, 0x6B4D, 0x7BAF, 0x9432, 0x8BD1, 0x6BCE, 0x4C6B, 0x3C09,   // 0x0390 (912)
0x3186, 0x3C8A, 0x5C8C, 0x8430, 0xA493, 0xACD4, 0x8410, 0x7BEF, 0xCE79, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x03A0 (928)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF7BE, 0xAD75, 0x7BEF, 0x73AE, 0x83F0, 0x8C11, 0x9431,   // 0x03B0 (944)
0x9492, 0x9452, 0x9432, 0x8430, 0x7BEF, 0x8450, 0xBDF7, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x03C0 (960)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xDEFB, 0xBDD7, 0xA534, 0x94D3,   // 0x03D0 (976)
0x94B2, 0x9CF3, 0xA554, 0xC618, 0xE73C, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x03E0 (992)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x03F0 (1008)
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFDF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,   // 0x0400 (1024)
};

Но потом пришлось отказаться от такого способа хранения графики - мало памяти. Стал подгружать с SD-карты в формате RAW, по мере необходимости.

По моему это у меня просто стандартный пример из библиотеки UTFT, в котором я пытался разобраться ))))

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

mazahaker пишет:

Вот такой код не выполняется на Ардуино. Каждая по отдельности рисуется, все вместе, получаем не стартующий скетч

Если даш все массивы - я у себя попробую его стартануть.

Кстати - а что именно ты собирался увидеть на экране, когда у тебя стоят подряд куча "myGLCD.drawBitmap"?

 

mazahaker
Offline
Зарегистрирован: 02.11.2015

Buzzer2010 пишет:

Если даш все массивы - я у себя попробую его стартануть.

Кстати - а что именно ты собирался увидеть на экране, когда у тебя стоят подряд куча "myGLCD.drawBitmap"?

Ожидалось куча картинок) координаты же разные и размеры посчитаны соответственно. И arduinio ide говорит что все влазиет в память.

Иконки сковертил этой же прогой. Только спихал их в один файл и вся разница. Файл с иконками сейчас залю 

Подгружать с флешки не варик(

mazahaker
Offline
Зарегистрирован: 02.11.2015

Вот ссылка на иконки https://yadi.sk/i/Tph8IPdz3EgwNs

Дисплей 320х480

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

mazahaker пишет:

Вот ссылка на иконки https://yadi.sk/i/Tph8IPdz3EgwNs

Дисплей 320х480

Счя попробую... Про "не варик" - согласен. Флешка - гемор.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Произошла ругань:

ICONS:35: error: invalid conversion from 'const short unsigned int*' to 'short unsigned int*' [-fpermissive]

   myGLCD.drawBitmap (15,68, 35, 35, iconPressure,1);

И так по всем вызовам"myGLCD.drawBitmap"

mazahaker
Offline
Зарегистрирован: 02.11.2015

Сейчас у себя проверю

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

mazahaker пишет:
Сейчас у себя проверю

А какая была необходимость лепить все иконки в один файл? Я не спец в этой всей чепухе, но по своему опыту знаю, что как только начинаешь мешать компилятору работать - он этого не прощает.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Вот в примере из UTFT никакого PROGMEM не используют вообще-то: "extern unsigned short" и всё.

mazahaker
Offline
Зарегистрирован: 02.11.2015

Buzzer2010 пишет:

А какая была необходимость лепить все иконки в один файл? Я не спец в этой всей чепухе, но по своему опыту знаю, что как только начинаешь мешать компилятору работать - он этого не прощает.

Компилятору тут пофиг. И в данном случае так удобней)

Вот только что у себя скомпилил

//Подключение библиотек
#include <UTFT.h>

//Иконки
const PROGMEM extern unsigned short iconAccel[0x4C9];
const PROGMEM extern unsigned short iconPressure[0x4C9];
const PROGMEM extern unsigned short iconAFR[0x4C9];
const PROGMEM extern unsigned short iconTempAir[0x4C9];
const PROGMEM extern unsigned short iconTempWater[0x4C9];
const PROGMEM extern unsigned short iconUOZ[0x4C9];

const PROGMEM extern unsigned short textPressure[0x12C7];
const PROGMEM extern unsigned short textMaxPressure[0x3D4];
const PROGMEM extern unsigned short textAFR[0x948];
const PROGMEM extern unsigned short textAccel[0xE34];
const PROGMEM extern unsigned short textAirTemp[0x115E];
const PROGMEM extern unsigned short textWaterTemp[0x1008];
const PROGMEM extern unsigned short textUOZ[0xC84] ;

const PROGMEM extern unsigned short longLine[0x4BA] ;
const PROGMEM extern unsigned short shortLine[0x31B] ;

const PROGMEM extern unsigned short footer[0x30A6] ;

//Подключение дисплея
UTFT myGLCD(ILI9486, 38, 39, 40, 41);

void setup() {
  ///////////////////////////////////////////////////////////////
  myGLCD.InitLCD(LANDSCAPE);
  myGLCD.clrScr();
  myGLCD.setColor(255, 255, 255);
  myGLCD.setBackColor(0, 0, 0);
  
  //Иконки
  myGLCD.drawBitmap (15,68, 35, 35, iconPressure,1);
  myGLCD.drawBitmap (220,25, 35, 35, iconTempWater,1);
  myGLCD.drawBitmap (220,75, 35, 35, iconTempAir,1);
  myGLCD.drawBitmap (220,125, 35, 35, iconAFR,1);
  myGLCD.drawBitmap (220,175, 35, 35, iconUOZ,1);
  myGLCD.drawBitmap (220,225, 35, 35, iconAccel,1);

  //Текстовые иконки
  myGLCD.drawBitmap (3,23, 209, 23, textPressure,1);
  myGLCD.drawBitmap (10,124, 98, 10, textMaxPressure,1);
  myGLCD.drawBitmap (260,23, 114, 36, textWaterTemp,1);
  myGLCD.drawBitmap (260,73, 114, 39, textAirTemp,1);
  myGLCD.drawBitmap (260,123, 66, 36, textAFR,1);
  myGLCD.drawBitmap (260,173, 89, 36, textUOZ,1);
  myGLCD.drawBitmap (260,223, 101, 36, textAccel,1);
  
  //Две длинные линии
  myGLCD.drawBitmap (233,15, 242, 5, longLine,1);
  myGLCD.drawBitmap (233,265, 242, 5, longLine,1);

  //Четыре короткие линии
  myGLCD.drawBitmap (315,65, 159, 5, shortLine,1);
  myGLCD.drawBitmap (315,115, 159, 5, shortLine,1);
  myGLCD.drawBitmap (315,165, 159, 5, shortLine,1);
  myGLCD.drawBitmap (315,215, 159, 5, shortLine,1);

  //Футер
  myGLCD.drawBitmap (0,294, 479, 26, footer,1);
}

void loop() {
  // put your main code here, to run repeatedly:

}

 

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Я, конечно, не соображаю даже о чем спрашиваю, но откуда компилятор должен взять массив, например "iconAccel" ? Насколько я понял - имя файла должно совпадать с именем массива и каждый массив должен лежать в своём отдельном файле.

Кстати какая у тебя версия IDE? У меня 1.8.1 если что...

всеравно ругается:

In file included from E:\!ARDUINO\WORK\DUE\ICONS\ICONS.ino:2:0:

E:\!ARDUINO\WORK\libraries\UTFT/UTFT.h:223:8: error:   initializing argument 5 of 'void UTFT::drawBitmap(int, int, int, int, short unsigned int*, int)' [-fpermissive]

   void drawBitmap(int x, int y, int sx, int sy, bitmapdatatype data, int scale=1);

        ^

ICONS:58: error: invalid conversion from 'const short unsigned int*' to 'short unsigned int*' [-fpermissive]

   myGLCD.drawBitmap (315,165, 159, 5, shortLine,1);

                                                  ^

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

у меня есть бурятская девственница для ритуала активации кода.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Клапауций 823 пишет:

у меня есть бурятская девственница для ритуала активации кода.

Почем опиум для народа?

Нифига не работает даже "по одному" - компиляция ругается теми же словами. Пошёл за бурятской девственницей.

Дайте две!

По моему там этот PROGMEM не нужен. В примерах UTFT и без него всё нормально работает.

Кстати у меня в самом верху стоит вот что:

#if defined(__AVR__)
    #include <avr/pgmspace.h>
#elif defined(__PIC32MX__)
    #define PROGMEM
#elif defined(__arm__)
    #define PROGMEM
#endif

А у тебя только: #include <avr/pgmspace.h> Может дело и в этом тоже?
 

mazahaker
Offline
Зарегистрирован: 02.11.2015

Насколько я понял - имя файла должно совпадать с именем массива и каждый массив должен лежать в своём отдельном файле. - это не так, можно в одном .c файле хранить несколько массивов и цеплять их как показано у меня. странно что он у тебя ругается на приведение типов. Попробуй убери в описании каждого массива const progmem и скомпиль снова.

У меня ide версии 1.8.2

progmem нужен по идее для того, что бы не грузить все эти массивы в озу, а читать прям из флеш