PROGMEM или как извлечь машинку
- Войдите на сайт для отправки комментариев
Вс, 26/02/2017 - 21:55
Добрый вечер!
Есть такая проблема. Нужно на экране перемещать символьное представление машинки. Не знаю даже как правильно вопрос сформулировать. В общем - есть шрифт в виде файла "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, // ~
};
возможно, как-то так:
// 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 }А как Вы посчитали что там именно 100 байтов? У меня 106 получилось, но на экране ничего не появляется. Сейчас попробую именно 100... Спасибо.
Попробовал 100 - не показывает.
Может что не так делаю?
Тогда уж третий байт не 0x41, а 0x01.
Тогда уж третий байт не 0x41, а 0x01.
Тоесть всё так оставить, поменять только третий байт? И длину ту же оставить?
На самом деле и второй байт, скорее всего, не 0х41, а 0х61. Можно воожще попытаться вставить вместо числа нужный символ.
И еще: в функцию принт надо передавать не строку, а символ - нужны одиночные кавычки вместо двойных.
Попробовал оба варианта. В обоих сдучаях выводится какой-то набор точек в квадратике, только в случае с 0х01, квадратик квадратный. А если 0х41 - прямоугольный, сплюснутый, наиболее соответствует контуру машинки.
На самом деле и второй байт, скорее всего, не 0х41, а 0х61. Можно воожще попытаться вставить вместо числа нужный символ.
Мне почему-то кажется что там с длиной нелады. Я насчитал 106 байтов... Сейчас попробую еще эти 2 варианта: 106 байт и 0х61.
Оба - это какие?
Приведите 4-байтовый заголовок целиком.
Нет, там 96 байтов символ и 4 заголовок - всего 100.
Заголовок, как мне кажется, должен быть такой: <0x20, 0x18, 0x61, 0x00> или можно попробовать <0x20, 0x18, '`', 1> (в угловых скобках, чтобы не путаться с другими символами)
Не получается - хаотичные точки....
А какой символ надо выводить? Из чего там понятно что это именно апостроф? А может там первый символ нужно писать - пробел?
На угловые скобки пишет: "еxpected expression before '<' token"
Угловые скобки ввел я. Исключительно для того, чтобы выделить строку. Перед этим пыталяся выделить строку, как положено, двойными кавычками, но понял, что получается не наглядно. Угловые кавычки в код переносить не нужно.
В заголовке второй байт - символ, с которого начинается знакогенератор, третий - количество символов.
Обратный апостроф - мне кажется, он там был. Но можно заменить в заголовке 2-й байт на 0x20 и выводить пробел. В принципе, не важно какой символ, глевное, чтобы знакогенератор начинался именно с того символа, который собираемся выводить.
PS. Если все равно ни в какую не захочет выводить, можно попытаться описать не 1, а 2 символа, второй из которых желаемый. И соответственно на печать выводить этот второй символ из знакогенератора.
Самые "осмысленные" точки получаются с родным заголовком: 0x20, 0x18, 0x41, 0x00, - три ряда белых точек.
Странно как-то. Я пробовал прилепить этоу машинку к другому шрифту, состоящем только из цифр и двоеточия. Так вот - вместо двоеточия. Сторка получается короче конечно и размер шрифта там больше. На экране рисуется правильная машинка, но с болшим пустым местом под ней - как буд-то это место уже отведено для шрифта большего размера, как все цифры в нём.
Шрифт, к которму я дописывал машинку, это: SevenSegNumFontPlus.c с размером "32x50 pixels", а машинка - 32x24 pixels...
Последнее - правильно.
Все-таки проследите, чтобы в заголовке первые 2 байта были прежними, 2-й - номер печатаемого символа, а последний - единица, и посмотрите, что получится.
Если не будет выводить ничего, продублируйте вторую строку массива так, чтобы общая длина составила 196 байтов, второй байт заголовка уменьшите на 1, а последний сделайте 2.
Не получается ничего. Не хочу грузить всем текстом скетча, хотя ради выявления ошибок может как раз весь и надо показать:
#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, };Может тут какая ошибка. ...
Да, ошибка: 3-й байт заголовка должен быть единицей, а не нулем, а первый - 0x18, как и в исходном варианте. Первые два байта - размер шрифта, их менять не нужно.
Да, ошибка: 3-й байт заголовка должен быть единицей, а не нулем, а первый - 0x18, как и в исходном варианте. Первые два байта - размер шрифта, их менять не нужно.
так там же закомментирован исходный вариант заголовка и первый байт там 0x20 как раз.... Ничего я не понимаю теперь... Хотя вот в исходном файле со шрифтами (в котором машинка есть), стоит вот какой заголовок: 0x20,0x18,0x20,0x5F
А почему, кстати, нельзя использовать заголовок как в исходном файле со шрифтами: 0x20,0x18,0x20,0x5F ???
Он тоже неправильно машинку рисует кстати, но полоски теперь горизонтальные.
Сейчас попробую . . .
Не помогло: те же горизонтальне полоски. Заголовок:
fontdatatype CAR[100] PROGMEM={ 0x20,0x18,0x20,0x5F,Что - можно, а что нельзя, зависит от того, что Вам нужно. Если Вы хотите сохранить размер рисунка, первые два байта следует оставить без изменений. Если Вы хотите разместить Ваш рисунок поближе к началу массива, нужно изменять второй байт. Если хотите сократить размер массива - нужно изменять третий.
Назначение байтов я Вам расписал - смотрите сами.
PS. В исходном варианте первый байт был как раз 0х18. На всякий случй напомню, что в Си массивы нумеруются с 0.
Мне нужно сохранить размер машинки как в ее родной библиотеке со шрифтами: 32х24. Но мне надо как-то избавиться от всех остальных символов в этой библиотеке, которые я не буду использовать. Вот и всё.
Сейчас попробую . . .
Не помогло: те же горизонтальне полоски. Заголовок:
fontdatatype CAR[100] PROGMEM={ 0x20,0x18,0x20,0x5F,Выводите пробел?
Когда приводите код, приводите сразу и команду вывода - они зависят друг от друга.
Сейчас попробую . . .
Не помогло: те же горизонтальне полоски. Заголовок:
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% памяти (((((
То, что у Вас сейчас написано, не будет работать. Перечитайте мое сообщение №15.
Все-таки проследите, чтобы в заголовке первые 2 байта были прежними, 2-й - номер печатаемого символа, а последний - единица, и посмотрите, что получится.
Я не знаю как пишется еденица в HEX, к сожалению. Единственное что приходит в голову это 0х01.
А как же это может не получиться: 96+96=192 и + 4 байта заголовок.
Я уже потерял правильную комбинацию цифр в заголовке ((((( Сейчас буду искать...
Вот если Вы на этот заголовок сказали "Последнее - Правильно": 0x20, 0x18, 0x41, 0x00 , то после корректировок доллжно получиться что-то вроде:
0x20, 0x17, 0x41, 0x02
Теперь тоже правильно?
Buzzer2010, я Вам расписывал назначение каждого байта заголовка. Не надо искать правильную комбинацию, нужно осознанно занести в заголовок правильные числа.
Вот если Вы на этот заголовок сказали "Последнее - Правильно": 0x20, 0x18, 0x41, 0x00 , то после корректировок доллжно получиться что-то вроде:
0x20, 0x17, 0x41, 0x02
Теперь тоже правильно?
PS. Нет, в данном случе можно - неправильно!
Вот если Вы на этот заголовок сказали "Последнее - Правильно": 0x20, 0x18, 0x41, 0x00 , то после корректировок доллжно получиться что-то вроде:
0x20, 0x17, 0x41, 0x02
Теперь тоже правильно?
Без какого именно кода? Чуть выше есть полный текст скетча и библиотеки шрифтов с машинкой.
Buzzer2010, я Вам расписывал назначение каждого байта заголовка. Не надо искать правильную комбинацию, нужно осознанно занести в заголовок правильные числа.
К сожаленю это невозможно.
Что бы не плодить кучу тем, напишу в этой) Тема то же про иконки) Юзаю ардуино мега 2560, запилил пачку иконок в массивы.Цепляю их как const progmem, но при попытке нарисовать очередную иконку на экране ардуина не стартует. Думаю идет переполнение области кода. Поправьте если не прав) Ну и подскажите как обойти
переполнение области кода
такого явления не существует в природе
такого явления не существует в природе
Тогда расскажите, что происходит. В замешательстве
такого явления не существует в природе
Тогда расскажите, что происходит. В замешательстве
думаю, что нужно начинать устраивать человеческие жертвоприношения.
А серьезней. Должны же быть какие то причины
А серьезней. Должны же быть какие то причины
должны.
Вот такой код не выполняется на Ардуино. Каждая по отдельности рисуется, все вместе, получаем не стартующий скетч
//Подключение библиотек #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); }Вот кстати насчёт "
constexternPROGMEM unsignedshort" тоже хотелось сказать пару слов. Очень удобная комбинация, если надо выводить какие-то отдельные графические данные. Одна беда только: все массивы, которые описаны - помещаются в тело скетча и нещадно едят память. Пользовался утилитой от UTFT: "ImgConv". Она преобразует графический файл в массив, который потом выводится на дисплей.Только у меня это происходило как-то иначе:
Где:
это отдельные файлы с массивами, созданные в утилите "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, в котором я пытался разобраться ))))
Вот такой код не выполняется на Ардуино. Каждая по отдельности рисуется, все вместе, получаем не стартующий скетч
Если даш все массивы - я у себя попробую его стартануть.
Кстати - а что именно ты собирался увидеть на экране, когда у тебя стоят подряд куча "myGLCD.drawBitmap"?
Если даш все массивы - я у себя попробую его стартануть.
Кстати - а что именно ты собирался увидеть на экране, когда у тебя стоят подряд куча "myGLCD.drawBitmap"?
Ожидалось куча картинок) координаты же разные и размеры посчитаны соответственно. И arduinio ide говорит что все влазиет в память.
Иконки сковертил этой же прогой. Только спихал их в один файл и вся разница. Файл с иконками сейчас залю
Подгружать с флешки не варик(
Вот ссылка на иконки https://yadi.sk/i/Tph8IPdz3EgwNs
Дисплей 320х480
Вот ссылка на иконки https://yadi.sk/i/Tph8IPdz3EgwNs
Дисплей 320х480
Счя попробую... Про "не варик" - согласен. Флешка - гемор.
Произошла ругань:
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"
Сейчас у себя проверю
А какая была необходимость лепить все иконки в один файл? Я не спец в этой всей чепухе, но по своему опыту знаю, что как только начинаешь мешать компилятору работать - он этого не прощает.
Вот в примере из UTFT никакого PROGMEM не используют вообще-то: "extern unsigned short" и всё.
А какая была необходимость лепить все иконки в один файл? Я не спец в этой всей чепухе, но по своему опыту знаю, что как только начинаешь мешать компилятору работать - он этого не прощает.
Компилятору тут пофиг. И в данном случае так удобней)
Вот только что у себя скомпилил
//Подключение библиотек #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: }Я, конечно, не соображаю даже о чем спрашиваю, но откуда компилятор должен взять массив, например "
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);
^
у меня есть бурятская девственница для ритуала активации кода.
у меня есть бурятская девственница для ритуала активации кода.
Почем опиум для народа?
Нифига не работает даже "по одному" - компиляция ругается теми же словами. Пошёл за бурятской девственницей.
Дайте две!
По моему там этот PROGMEM не нужен. В примерах UTFT и без него всё нормально работает.
Кстати у меня в самом верху стоит вот что:
#if defined(__AVR__) #include <avr/pgmspace.h> #elif defined(__PIC32MX__) #define PROGMEM #elif defined(__arm__) #define PROGMEM #endifА у тебя только: #include <avr/pgmspace.h> Может дело и в этом тоже?
Насколько я понял - имя файла должно совпадать с именем массива и каждый массив должен лежать в своём отдельном файле. - это не так, можно в одном .c файле хранить несколько массивов и цеплять их как показано у меня. странно что он у тебя ругается на приведение типов. Попробуй убери в описании каждого массива const progmem и скомпиль снова.
У меня ide версии 1.8.2
progmem нужен по идее для того, что бы не грузить все эти массивы в озу, а читать прям из флеш