Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SimpleILI9341

.h
Скачиваний:
1
Добавлен:
30.05.2024
Размер:
25.2 Кб
Скачать
/***************************************************
  Arduino TFT graphics library for the ILI9341

  Derived from the TFT_ILI9341 library which was
  derived from the Adafruit_GFX library and the
  associated driver library.

 ****************************************************/

#ifndef SimpleILI9341_h
#define SimpleILI9341_h

#include <SPI.h>

extern int Cursorx,Cursory;
extern uint16_t tft_width, tft_height; // Display w/h
extern bool execDrawChar;
extern uint8_t pen_width; // if pen_width > 1 then draws with a disc of radius pen_width
extern bool ILI9341fast; // true is faster but can interfere with other devices on SPI bus; false shares the SPI bus better
extern uint8_t letter_gap;

// ILI9341 rotation values
#define ILI9341_MADCTL_MY  0x80
#define ILI9341_MADCTL_MX  0x40
#define ILI9341_MADCTL_MV  0x20
#define ILI9341_MADCTL_ML  0x10
#define ILI9341_MADCTL_RGB 0x00
#define ILI9341_MADCTL_BGR 0x08
#define ILI9341_MADCTL_MH  0x04

#define ILI9341_Rotation0  (ILI9341_MADCTL_MX | ILI9341_MADCTL_BGR)
#define ILI9341_Rotation1  (ILI9341_MADCTL_MV | ILI9341_MADCTL_BGR)
#define ILI9341_Rotation2  (ILI9341_MADCTL_MY | ILI9341_MADCTL_BGR)
#define ILI9341_Rotation3  (ILI9341_MADCTL_MX | ILI9341_MADCTL_MY | ILI9341_MADCTL_MV | ILI9341_MADCTL_BGR)

void ILI9341Begin(uint8_t CS = 10, uint8_t CD = 8, uint8_t RST = 7, uint16_t w = 320, uint16_t h = 240, uint8_t Rotation = ILI9341_Rotation1);
void ILI9341SetCursor(uint16_t x, uint16_t y);
void ClearDisplay(uint16_t color);
void DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);
void DrawPixel(uint16_t x, uint16_t y, uint16_t color);
void DrawHLine(uint16_t x, uint16_t y, uint16_t w, uint16_t color);
void DrawVLine(uint16_t x, uint16_t y, uint16_t h, uint16_t color);
void DrawBox(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color);
void DrawFrame(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color);
void DrawRoundRect(uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t rad, uint16_t color);
void DrawCircle(uint16_t x0, uint16_t y0, uint16_t rad, uint16_t color);
void DrawDisc(uint16_t x0, uint16_t y0, uint16_t rad, uint16_t color);
void DrawFilledEllipse(int x0, int y0, int rx, int ry, uint16_t color);
void DrawEllipse(int x0, int y0, int rx, int ry, uint16_t color);
void DrawTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color);
void DrawChar(uint8_t c, word Font, uint16_t color);
void DrawString(char * s, word Font, uint16_t color);
void DrawStringAt(int16_t x, int16_t y, char * s, word Font, uint16_t color);
void DrawInt(int i, word Font, uint16_t color);
void DrawFloat(float floatNumber, int dp, word Font, uint16_t color);
void InvertDisplay(boolean i);
uint16_t rgb(uint8_t r, uint8_t g, uint8_t b);
void DrawBitmap(int16_t x, int16_t y, const unsigned short *bitmap);
void DrawBitmapMono(int16_t x, int16_t y, const uint8_t *bitmap, uint16_t color);

void BeginTouch(uint8_t CS = 2, uint8_t Rotation = 1, int xmin = 320, int ymin = 320, int xmax = 3900, int ymax = 3900);
bool GetTouch(int *x, int *y);

#include <Arduino.h>

// color definitions

#define RGB(r, g, b)  (((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3))
#define TFT_BLACK       RGB(0,   0,   0)
#define TFT_NAVY        RGB(0,   0, 128)
#define TFT_DARKGREEN   RGB(0, 128,   0)
#define TFT_DARKCYAN    RGB(0, 128, 128)
#define TFT_MAROON      RGB(0,   0,   128)
#define TFT_PURPLE      RGB(128,   0, 128)
#define TFT_OLIVE       RGB(128, 128,   0)
#define TFT_LIGHTGREY   RGB(192, 192, 192)
#define TFT_LIGHTGRAY   RGB(192, 192, 192)
#define TFT_DARKGREY    RGB(128, 128, 128)
#define TFT_DARKGRAY    RGB(128, 128, 128)
#define TFT_BLUE        RGB(255,   0, 0)
#define TFT_GREEN       RGB(0, 255,   0)
#define TFT_CYAN        RGB(0, 255, 255)
#define TFT_RED         RGB(0,   0,   255)
#define TFT_MAGENTA     RGB(255,   0, 255)
#define TFT_YELLOW      RGB(255, 255,   0)
#define TFT_WHITE       RGB(255, 255, 255)
#define TFT_ORANGE      RGB(255, 165,   0)

const byte SmallFont[] PROGMEM = {
  7, // ymax
  1, // descender
  ' ', //first char
  3, 0x00,0x00,0x00,                           // space
  1, 0xFA,                                     // !
  3, 0xC0,0x00,0xC0,                           // "
  5, 0x28,0xFE,0x28,0xFE,0x28,                 // #
  5, 0x24,0x52,0xFF,0x4A,0x24,                 // dollar
  6, 0x62,0x64,0x08,0x10,0x26,0x46,            // %
  5, 0x5C,0xA2,0x52,0x0C,0x12,                 // &
  1, 0xC0,                                     // '
  2, 0x7E,0x81,                                // (
  2, 0x81,0x7E,                                // )
  2, 0xC0,0xC0,                                // *
  5, 0x08,0x08,0x3E,0x08,0x08,                 // +
  1, 0x03,                                     // ,
  5, 0x08,0x08,0x08,0x08,0x08,                 // -
  1, 0x02,                                     // .
  3, 0x06,0x38,0xC0,                           // /
  4, 0x7C,0x82,0x82,0x7C,                      // 0
  2, 0x40,0xFE,                                // 1
  4, 0x46,0x8A,0x92,0x62,                      // 2
  4, 0x44,0x82,0x92,0x6C,                      // 3
  4, 0x18,0x68,0xFE,0x08,                      // 4
  4, 0xF4,0xA2,0xA2,0x9C,                      // 5
  4, 0x7C,0x92,0x92,0x4C,                      // 6
  4, 0x80,0x8E,0xB0,0xC0,                      // 7
  4, 0x6C,0x92,0x92,0x6C,                      // 8
  4, 0x64,0x92,0x92,0x7C,                      // 9
  1, 0x12,                                     // :
  1, 0x13,                                     // ;
  3, 0x08,0x14,0x22,                           // <
  3, 0x14,0x14,0x14,                           // =
  3, 0x22,0x14,0x08,                           // >
  4, 0x40,0x8A,0x90,0x60,                      // ?
  8, 0x3C,0x42,0x99,0xA5,0xB9,0x85,0x44,0x38,  // @
  6, 0x06,0x38,0xC8,0xC8,0x38,0x06,            // A
  6, 0xFE,0x92,0x92,0x92,0x92,0x6C,            // B
  6, 0x7C,0x82,0x82,0x82,0x82,0x44,            // C
  6, 0xFE,0x82,0x82,0x82,0x82,0x7C,            // D
  5, 0xFE,0x92,0x92,0x92,0x82,                 // E
  5, 0xFE,0x90,0x90,0x90,0x80,                 // F
  6, 0x7C,0x82,0x82,0x92,0x94,0x5E,            // G
  6, 0xFE,0x10,0x10,0x10,0x10,0xFE,            // H
  1, 0xFE,                                     // I
  4, 0x0C,0x02,0x02,0xFC,                      // J
  5, 0xFE,0x10,0x28,0x44,0x82,                 // K
  4, 0xFE,0x02,0x02,0x02,                      // L
  8, 0xFE,0xC0,0x30,0x0C,0x0C,0x30,0xC0,0xFE,  // M
  6, 0xFE,0xC0,0x30,0x0C,0x02,0xFE,            // N
  6, 0x7C,0x82,0x82,0x82,0x82,0x7C,            // O
  6, 0xFE,0x90,0x90,0x90,0x90,0x60,            // P
  6, 0x7C,0x82,0x82,0x8A,0x86,0x7D,            // Q
  6, 0xFE,0x90,0x90,0x90,0x90,0x6E,            // R
  5, 0x64,0x92,0x92,0x92,0x4C,                 // S
  5, 0x80,0x80,0xFE,0x80,0x80,                 // T
  5, 0xFC,0x02,0x02,0x02,0xFC,                 // U
  5, 0xC0,0x38,0x06,0x38,0xC0,                 // V
  7, 0xC0,0x38,0x06,0x18,0x06,0x38,0xC0,       // W
  5, 0xC6,0x28,0x10,0x28,0xC6,                 // X
  5, 0xC0,0x20,0x1E,0x20,0xC0,                 // Y
  5, 0x86,0x8A,0x92,0xA2,0xC2,                 // Z
  2, 0xFF,0x81,                                // [
  3, 0x60,0x1C,0x03,                           // backslash
  2, 0x81,0xFF,                                // ]
  3, 0x40,0x80,0x40,                           // ^
  5, 0x02,0x02,0x02,0x02,0x02,                 // _
  2, 0x80,0x40,                                // '
  4, 0x04,0x2A,0x2A,0x1E,                      // a
  4, 0xFE,0x22,0x22,0x1C,                      // b
  4, 0x1C,0x22,0x22,0x14,                      // c
  4, 0x1C,0x22,0x22,0xFE,                      // d
  4, 0x1C,0x2A,0x2A,0x18,                      // e
  2, 0x7E,0x90,                                // f
  4, 0x19,0x25,0x25,0x3E,                      // g
  4, 0xFE,0x10,0x20,0x1E,                      // h
  1, 0xBE,                                     // i
  2, 0x01,0xBF,                                // j
  4, 0xFE,0x18,0x24,0x02,                      // k
  1, 0xFE,                                     // l
  7, 0x3E,0x20,0x20,0x3E,0x20,0x20,0x1E,       // m
  4, 0x3E,0x20,0x20,0x1E,                      // n
  5, 0x1C,0x22,0x22,0x22,0x1C,                 // o
  4, 0x3F,0x24,0x24,0x18,                      // p
  4, 0x18,0x24,0x24,0x3F,                      // q
  2, 0x3E,0x20,                                // r
  4, 0x12,0x2A,0x2A,0x24,                      // s
  2, 0x7C,0x22,                                // t
  4, 0x3C,0x02,0x02,0x3E,                      // u
  4, 0x38,0x06,0x06,0x38,                      // v
  5, 0x38,0x06,0x18,0x06,0x38,                 // w
  3, 0x36,0x08,0x36,                           // x
  3, 0x31,0x0A,0x3C,                           // y
  3, 0x26,0x2A,0x32,                           // z
  3, 0x08,0x36,0x41,                           // {
  1, 0x7F,                                     // |
  3, 0x41,0x36,0x08,                           // )
  4, 0x20,0x40,0x20,0x40,                      // ~
  0}; // end

const byte MediumFont[] PROGMEM = {
  15, // ymax 
  4, // descender
  ' ', //first char
  5, 0,0,0,0,0,0,0,0,0,0, // space
  1, 160,255, // !
  3, 0,240,0,0,0,240, // "
  8, 0,9,224,9,0,31,0,233,224,9,0,31,0,233,0,9, // #
  6, 192,112,32,136,240,255,32,132,32,130,192,97, // dollar
  12, 0,120,0,132,96,132,128,120,0,1,0,6,0,8,0,16,192,99,32,132,32,4,192,3, // %
  11, 92,1,96,2,32,116,32,140,32,142,192,145,192,112,32,11,32,12,32,8,64,0, // &
  1, 0,240, // '
  4, 92,15,48,48,8,64,4,128, // (
  4, 4,128,8,64,48,48,192,15, // )
  7, 0,72,0,72,0,48,0,252,0,48,0,72,0,72, // *
  9, 0,4,0,4,0,4,0,4,192,127,0,4,0,4,0,4,0,4, // +
  2, 40,0,48,0, // ,
  4, 0,1,0,1,0,1,0,1, // -
  1, 32,0, // .
  4, 96,0,128,7,0,56,0,192, // /
  6, 128,63,64,64,32,128,32,128,64,64,128,63, // 0
  4, 0,64,32,64,224,255,32,0, // 1
  6, 96,96,160,128,32,129,32,130,32,68,96,56, // 2
  6, 32,64,32,128,32,132,32,140,64,148,128,99, // 3
  7, 0,3,0,5,0,9,0,49,0,65,224,255,0,1, // 4
  6, 32,16,32,112,32,144,32,144,64,136,128,135, // 5
  6, 128,15,64,52,32,72,32,136,64,132,128,131, // 6
  7, 0,64,0,128,0,128,96,128,128,131,0,156,0,224, // 7
  6, 192,113,32,138,32,132,32,132,32,138,192,113, // 8
  6, 32,56,32,196,64,130,64,130,128,69,0,62, // 9
  1, 32,8, // :
  2, 40,8,48,0, // ;
  7, 0,4,0,10,0,10,0,17,0,17,0,17,128,32, // <
  9, 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9, // =
  7, 128,32,0,17,0,17,0,17,0,10,0,10,0,4, // >
  5, 0,96,0,128,160,131,0,140,0,112, // ?
  14, 224,7,16,24,8,32,228,65,36,70,36,136,68,144,228,145,36,143,36,152,68,64,200,32,16,31,32,0, // @
  11, 32,0,32,0,224,0,32,7,0,57,0,193,0,57,32,7,224,0,32,0,32,0, // A
  9, 32,128,32,128,224,255,32,132,32,132,32,132,32,76,64,50,128,1, // B
  9, 0,31,128,32,64,64,32,128,32,128,32,128,32,128,64,64,128,240, // C
  10, 32,128,32,128,224,255,32,128,32,128,32,128,32,128,64,64,128,32,0,31, // D
  9, 32,128,32,128,224,255,32,132,32,132,32,132,32,142,96,192,128,0, // E
  8, 32,128,32,128,224,255,32,132,32,132,0,132,0,142,0,192, // F
  10, 0,31,128,32,64,64,32,128,32,128,32,128,32,132,32,68,192,231,0,4, // G
  11, 32,128,32,128,224,255,32,132,32,132,0,4,32,132,32,132,224,255,32,128,32,128, // H
  5, 32,128,32,128,224,255,32,128,32,128, // I
  6, 96,0,32,128,32,128,192,255,0,128,0,128, // J
  11, 32,128,32,128,224,255,32,132,32,132,0,10,0,145,160,160,96,192,32,128,32,0, // K
  9, 32,128,32,128,224,255,32,128,32,128,32,0,32,0,96,0,128,0, // L
  14, 32,128,32,128,224,255,32,96,32,24,0,7,128,0,224,0,0,3,32,28,32,96,224,255,32,128,32,128, // M
  12, 32,128,32,128,224,255,32,32,32,16,0,8,0,6,0,129,128,128,224,255,0,128,0,128, // N}M
  10, 0,31,128,32,64,64,32,128,32,128,32,128,32,128,64,64,128,32,0,31, // O}N}MN}
  8, 32,128,32,128,224,255,32,130,32,130,0,130,0,68,0,56, // P}O}N}MN}O}N}MN
  10, 0,31,128,32,64,64,32,128,32,128,48,128,40,128,72,64,132,32,4,31, // Q
  10, 32,128,32,128,224,255,32,132,32,132,0,134,128,73,64,48,32,0,32,0, // R}Q
  7, 224,48,64,72,32,136,32,132,32,132,64,66,128,225, // S
  9, 0,224,0,128,32,128,32,128,224,255,32,128,32,128,0,128,0,224, // T}S
  11, 0,128,0,128,128,255,64,128,32,128,32,0,32,128,64,128,128,255,0,128,0,128, // U
  11, 0,128,0,128,0,240,0,142,192,1,32,0,192,1,0,142,0,240,0,128,0,128, // V
  15, 0,128,0,128,0,224,0,156,128,3,96,128,128,131,0,244,0,142,128,1,96,0,128,143,0,240,0,128,0,128, // W
  11, 32,128,32,128,96,192,160,160,0,155,0,4,0,27,160,160,96,192,32,128,32,128, // X
  10, 0,128,0,128,32,224,32,152,224,7,32,8,32,176,0,192,0,128,0,128, // Y
  9, 32,0,224,224,32,129,32,130,32,140,32,144,32,224,96,128,128,0, // Z
  3, 252,255,4,128,4,128, // [
  4, 0,192,0,60,128,3,96,0, // backslash
  3, 4,128,4,128,252,255, // ]
  8, 0,4,0,24,0,96,0,128,0,128,0,96,0,24,0,4, // ^
  8, 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, // _
  2, 0,128,0,96, // '
  6, 224,4,32,9,32,9,64,10,224,7,32,0, // a
  7, 0,64,192,255,32,4,32,8,32,8,64,4,128,3, // b
  5, 192,7,32,8,32,8,32,8,64,4, // c
  7, 128,3,64,4,32,8,32,8,64,68,224,255,64,0, // d
  5, 192,7,32,10,32,10,32,10,64,6, // e
  6, 32,8,224,127,32,136,32,136,0,128,0,64, // f
  7, 24,0,100,7,164,8,164,8,164,8,36,15,24,8, // g
  7, 32,64,224,255,32,4,0,8,32,8,224,7,32,0, // h
  3, 32,4,224,143,32,0, // i
  4, 4,0,4,0,4,4,248,143, // j
  7, 32,64,224,255,32,1,0,3,192,12,32,8,32,8, // k
  4, 32,0,32,64,224,255,32,0, // l
  11, 32,4,224,15,32,4,0,8,32,8,224,7,32,4,0,8,32,8,224,7,32,0, // m
  7, 32,4,224,15,32,4,0,8,32,8,224,7,32,0, // n
  6, 128,3,64,4,32,8,32,8,64,4,128,3, // o
  7, 4,4,252,15,68,4,32,8,32,8,64,4,128,3, // p
  7, 192,3,32,4,32,8,32,8,68,4,252,15,4,0, // q
  5, 32,4,224,15,32,4,0,8,0,8, // r
  4, 96,6,32,9,32,9,192,12, // s
  4, 0,8,224,63,32,8,64,8, // t
  7, 0,8,192,15,32,0,32,0,64,8,224,15,64,0, // u
  7, 0,8,0,14,192,9,32,0,192,9,0,14,0,8, // v
  11, 0,8,0,14,192,9,96,0,128,9,0,14,192,9,96,0,128,9,0,14,0,8, // w
  7, 32,8,96,12,160,10,0,1,160,10,96,12,32,8, // x
  7, 4,8,4,14,136,9,112,0,192,9,0,14,0,8, // y
  6, 32,0,96,12,160,9,32,10,32,12,96,8, // z
  4, 0,2,240,61,8,64,4,128, // {
  1, 252,255, // |
  4, 4,128,8,64,240,61,0,2, // )
  9, 0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,2, // ~
  0}; // end

const byte LargeFont[] PROGMEM = {
  15, // ymax
  4, // descender
  ' ', //first char
  8,  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space
  3,  0x70,0xF8,0x70,0xFF,0x70,0xF8, // !
  7,  0x00,0xE0,0x00,0xFC,0x00,0xE0,0x00,0x00,0x00,0xE0,0x00,0xFC,0x00,0xE0, // "
  10, 0x00,0x11,0x30,0x11,0xC0,0x13,0x00,0x3D,0x00,0xD1,0x30,0x11,0xC0,0x13,0x00,0x3D,0x00,0xD1,0x00,0x11, // #
  7,  0x60,0x78,0x30,0xFC,0x10,0x8E,0xF8,0xFF,0x10,0x87,0xF0,0xC3,0xE0,0x61, // dollar
  16, 0x00,0x7E,0x00,0xFF,0x00,0x81,0x10,0x81,0x20,0xFF,0x40,0x7E,0x80,0x01,0x00,0x02,0x00,0x04,0x00,0x18,0xE0,0x27,0xF0,0x4F,0x10,0x88,0x10,0x08,0xF0,0x0F,0xE0,0x07, // %
  14, 0xE0,0x01,0xE0,0x03,0xF0,0x03,0x30,0x7C,0x10,0xFE,0x90,0x8F,0xD0,0x8F,0xE0,0xF1,0xE0,0x70,0xF0,0x04,0x30,0x07,0x30,0x06,0x20,0x04,0x40,0x00, // &
  3,  0x00,0xE0,0x00,0xFC,0x00,0xE0, // '
  5,  0xE0,0x07,0xF8,0x1F,0x0C,0x30,0x02,0x40,0x01,0x80, // (
  5,  0x01,0x80,0x02,0x40,0x0C,0x30,0xF8,0x1F,0xE0,0x07, // )
  7,  0x00,0x60,0x00,0x6C,0x00,0xAC,0x00,0xF0,0x00,0xAC,0x00,0x6C,0x00,0x60, // *
  9,  0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0xE0,0x3F,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02, // +
  3,  0x72,0x00,0x74,0x00,0x38,0x00, // ,
  5,  0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00, // -
  3,  0x70,0x00,0x70,0x00,0x70,0x00, // .
  5,  0x30,0x00,0xC0,0x01,0x00,0x0E,0x00,0x70,0x00,0x80, // /
  8,  0x80,0x1F,0xE0,0x7F,0xF0,0xFF,0x10,0x80,0x10,0x80,0xF0,0xFF,0xE0,0x7F,0x80,0x1F, // 0
  7,  0x10,0x20,0x10,0x60,0xF0,0x7F,0xF0,0x7F,0xF0,0xFF,0x10,0x00,0x10,0x00, // 1
  9,  0x10,0x00,0x30,0x60,0x70,0xC0,0xB0,0xC0,0x30,0xE3,0x30,0xFE,0x30,0x7C,0x30,0x38,0x40,0x00, // 2
  8,  0x60,0x20,0x70,0x40,0x30,0xC4,0x10,0xCE,0x10,0xFF,0xE0,0xF7,0xE0,0x73,0xC0,0x01, // 3
  8,  0x80,0x03,0x80,0x05,0x80,0x09,0x80,0x11,0xF0,0x7F,0xF0,0xFF,0xF0,0xFF,0x80,0x01, // 4
  8,  0x60,0x0C,0x70,0x7C,0x30,0xDC,0x30,0xDC,0x10,0xDE,0x10,0xCE,0x20,0xCF,0xC0,0x83, // 5
  8,  0xC0,0x07,0xE0,0x1F,0xF0,0x3F,0x30,0x78,0x10,0x4C,0xF0,0xCF,0xE0,0x87,0xC0,0x83, // 6
  8,  0x00,0x60,0x00,0xC0,0x00,0xC0,0x30,0xC0,0xC0,0xC0,0x00,0xC7,0x00,0xF8,0x00,0xC0, // 7
  8,  0xE0,0x70,0xF0,0x79,0x10,0xFE,0x10,0x8E,0x10,0x8F,0xF0,0x8F,0xE0,0xFB,0xC0,0x71, // 8
  8,  0x10,0x3C,0x10,0x7E,0x30,0xFF,0x20,0x83,0xE0,0xC1,0xC0,0xFF,0x80,0x7F,0x00,0x3E, // 9
  3,  0x70,0x1C,0x70,0x1C,0x70,0x1C, // :
  3,  0x72,0x1C,0x74,0x1C,0x38,0x1C, // ;
  10, 0x00,0x04,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x11,0x00,0x11,0x80,0x20,0x80,0x20,0x80,0x20,0x40,0x40, // <
  9,  0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09, // =
  10,  0x40,0x40,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x11,0x00,0x11,0x00,0x0A,0x00,0x0A,0x00,0x0A,0x00,0x04, // >
  8,   0x00,0x70,0x00,0x70,0x70,0xB0,0x70,0x83,0x70,0x84,0x00,0xFC,0x00,0xF8,0x00,0x70, // ?
  17, 0xE0,0x07,0x18,0x0C,0x04,0x30,0x02,0x20,0xE2,0x41,0xF1,0x47,0xF1,0x8F,0x11,0x9E,0x61,0x90,0xF1,0x8F,0xF1,0x9F,0x11,0x9F,0x12,0x50,0x22,0x60,0xC4,0x30,0x08,0x1F,0x10,0x00, // @
  13, 0x10,0x00,0x10,0x00,0x70,0x00,0x90,0x03,0x80,0x0C,0x80,0x30,0x80,0xFC,0x90,0x7F,0xF0,0x1F,0xF0,0x03,0xF0,0x00,0x30,0x00,0x10,0x00, // A
  12, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x84,0x10,0x84,0x10,0x84,0x30,0xCE,0xF0,0xFF,0xE0,0x7B,0xC0,0x31, // B
  12, 0x80,0x0F,0xC0,0x3F,0xE0,0x7F,0x70,0x60,0x30,0xC0,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x40,0x20,0x60,0x40,0xF0, // C
  13, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x80,0x10,0x80,0x10,0x80,0x30,0xC0,0x60,0x60,0xE0,0x7F,0xC0,0x3F,0x80,0x0F, // D
  12, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x84,0x10,0x84,0x10,0x9F,0x10,0x80,0x10,0xC0,0x30,0xE0,0xF0,0x00, // E
  11, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x84,0x10,0x84,0x00,0x9F,0x00,0x80,0x00,0xC0,0x00,0xE0, // F
  14, 0x80,0x0F,0xC0,0x3F,0xE0,0x7F,0x60,0x70,0x30,0xC0,0x10,0x80,0x10,0x80,0x10,0x81,0x10,0x81,0xF0,0x41,0xE0,0x61,0xE0,0xF1,0x00,0x01,0x00,0x01, // G
  14, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x84,0x00,0x04,0x00,0x04,0x10,0x84,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x80,0x10,0x80, // H
  7,  0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x80,0x10,0x80, // I
  10, 0xE0,0x00,0xE0,0x00,0xD0,0x00,0x10,0x80,0x10,0x80,0xF0,0xFF,0xE0,0xFF,0xC0,0xFF,0x00,0x80,0x00,0x80, // J
  14, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x84,0x10,0x86,0x80,0x0F,0xD0,0x13,0xF0,0xA1,0x70,0xA0,0x30,0xC0,0x10,0x80,0x10,0x80, // K
  11, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x80,0x10,0x80,0x10,0x00,0x10,0x00,0x30,0x00,0xF0,0x00, // L
  18, 0x10,0x80,0x10,0x80,0xF0,0xFF,0x10,0xC0,0x10,0xF0,0x00,0xFE,0x80,0x3F,0xE0,0x0F,0xF0,0x01,0xC0,0x01,0x00,0x06,0x10,0x38,0x10,0xC0,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x80,0x10,0x80, // M
  14, 0x10,0x00,0x10,0x80,0xF0,0xFF,0x10,0xF0,0x10,0x78,0x00,0x3C,0x00,0x1E,0x00,0x0F,0x80,0x07,0xC0,0x83,0xE0,0x81,0xF0,0xFF,0x00,0x80,0x00,0x80, // N
  13, 0x00,0x0F,0xC0,0x3F,0xE0,0x7F,0x60,0x60,0x30,0xC0,0x10,0x80,0x10,0x80,0x10,0x80,0x30,0xC0,0x60,0x60,0xE0,0x7F,0xC0,0x3F,0x00,0x0F, // O
  11, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x82,0x10,0x82,0x00,0xC6,0x00,0xFE,0x00,0x7C,0x00,0x38, // P
  13, 0x80,0x0F,0xC0,0x3F,0xE0,0x7F,0x70,0x60,0x30,0xC0,0x18,0x80,0x1C,0x80,0x1E,0x80,0x36,0xC0,0x72,0x60,0xE2,0x7F,0xC2,0x3F,0x80,0x0F, // Q
  14, 0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x82,0x10,0x83,0x80,0x83,0xC0,0xC7,0xE0,0xFC,0x70,0x7C,0x30,0x38,0x10,0x00,0x10,0x00, // R
  9,  0xF0,0x39,0x60,0x7C,0x20,0xFC,0x10,0x8E,0x10,0x86,0x10,0x87,0xF0,0x43,0xE0,0xF3,0xC0,0x01, // S
  11, 0x00,0xE0,0x00,0x80,0x10,0x80,0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x80,0x10,0x80,0x00,0x80,0x00,0xE0, // T
  13, 0x00,0x80,0x00,0x80,0xC0,0xFF,0xE0,0xFF,0xF0,0xFF,0x30,0x80,0x10,0x80,0x10,0x00,0x10,0x80,0x20,0x80,0xC0,0xFF,0x00,0x80,0x00,0x80, // U
  13, 0x00,0x80,0x00,0xC0,0x00,0xF0,0x00,0xFC,0x80,0xBF,0xE0,0x8F,0xF0,0x03,0x60,0x00,0x80,0x03,0x00,0x8C,0x00,0xB0,0x00,0xC0,0x00,0x80, // V
  19, 0x00,0x80,0x00,0xC0,0x00,0xF0,0x00,0xFC,0x00,0xBF,0xE0,0x8F,0xF0,0x03,0xE0,0x80,0x00,0x83,0x00,0xEC,0x00,0xF8,0x00,0xFF,0xE0,0x9F,0xF0,0x03,0xE0,0x00,0x00,0x07,0x00,0x98,0x00,0xE0,0x00,0x80, // W
  13, 0x10,0x80,0x10,0x80,0x30,0xC0,0x50,0xF0,0x90,0xF8,0x00,0xBF,0x00,0x0F,0xD0,0x0F,0xF0,0x91,0xF0,0xA0,0x30,0xC0,0x10,0x80,0x10,0x80, // X
  13, 0x00,0x80,0x00,0xC0,0x00,0xF0,0x10,0xF8,0x10,0xBE,0xF0,0x8F,0xF0,0x07,0xF0,0x03,0x10,0x04,0x10,0x98,0x00,0xA0,0x00,0xC0,0x00,0x80, // Y
  12, 0x10,0x00,0x30,0xF0,0xF0,0xC0,0xF0,0x81,0xD0,0x87,0x10,0x8F,0x10,0xBE,0x10,0xF8,0x10,0xF0,0x10,0xC0,0x30,0x80,0xF0,0x00, // Z
  4,  0xFF,0xFF,0xFF,0xFF,0x01,0x80,0x01,0x80, // [
  5,  0x00,0xC0,0x00,0x38,0x00,0x07,0xE0,0x00,0x10,0x00, // backslash
  4,  0x01,0x80,0x01,0x80,0xFF,0xFF,0xFF,0xFF, // ]
  9,  0x00,0x04,0x00,0x18,0x00,0x20,0x00,0x40,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x18,0x00,0x04, // ^
  10, 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00, // _
  3,  0xD0,0x0A,0x00,0xC0,0x00,0x60, // '
  9,  0x60,0x0E,0xF0,0x0E,0xF0,0x16,0x90,0x11,0x20,0x11,0xF0,0x1F,0xF0,0x1F,0xF0,0x0F,0x10,0x00, // a
  9,  0x00,0x80,0xF0,0xFF,0xE0,0xFF,0xE0,0xFF,0x10,0x08,0x10,0x10,0xF0,0x1F,0xE0,0x0F,0xC0,0x07, // b
  7,  0xC0,0x07,0xE0,0x0F,0xF0,0x1F,0x30,0x10,0x10,0x10,0x10,0x1C,0x20,0x0C, // c
  9,  0xC0,0x07,0xE0,0x0F,0xF0,0x1F,0x10,0x10,0x20,0x88,0xF0,0xFF,0xF0,0xFF,0xE0,0xFF,0x20,0x00, // d
  7,  0xC0,0x07,0xE0,0x0F,0xF0,0x1F,0x30,0x12,0x10,0x1E,0x10,0x0E,0x20,0x06, // e
  7,  0x10,0x10,0xF0,0x7F,0xF0,0xFF,0xF0,0xFF,0x10,0x90,0x00,0xC0,0x00,0xC0, // f
  9,  0x36,0x07,0x79,0x0F,0xB9,0x1F,0xB9,0x10,0xB9,0x10,0xB9,0x1F,0x39,0x1F,0x3A,0x16,0x1C,0x10, // g
  10, 0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x08,0x00,0x10,0xF0,0x1F,0xF0,0x1F,0xF0,0x0F,0x10,0x00, // h
  5,  0x10,0x10,0xF0,0xDF,0xF0,0xDF,0xF0,0xDF,0x10,0x00, // i
  6,  0x06,0x00,0x07,0x00,0x01,0x10,0xFF,0xDF,0xFF,0xDF,0xFE,0xDF, // j
  11, 0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x01,0x80,0x03,0xD0,0x13,0xF0,0x1C,0x70,0x18,0x30,0x10,0x10,0x00, // k
  5,  0x10,0x80,0xF0,0xFF,0xF0,0xFF,0xF0,0xFF,0x10,0x00, // l
  15, 0x10,0x10,0xF0,0x1F,0xF0,0x1F,0xF0,0x1F,0x10,0x08,0x00,0x10,0xF0,0x1F,0xF0,0x1F,0xF0,0x0F,0x10,0x08,0x00,0x10,0xF0,0x1F,0xF0,0x1F,0xF0,0x0F,0x10,0x00, // m
  10, 0x10,0x10,0xF0,0x1F,0xF0,0x1F,0xF0,0x1F,0x10,0x08,0x00,0x10,0xF0,0x1F,0xF0,0x1F,0xF0,0x0F,0x10,0x00, // n
  8,  0xC0,0x07,0xE0,0x0F,0xF0,0x1F,0x10,0x10,0x10,0x10,0xF0,0x1F,0xE0,0x0F,0xC0,0x07, // o
  9,  0x01,0x10,0xFF,0x1F,0xFF,0x1F,0xFF,0x1F,0x21,0x08,0x10,0x10,0xF0,0x1F,0xE0,0x0F,0xC0,0x07, // p
  9,  0xC0,0x07,0xE0,0x0F,0xF0,0x1F,0x10,0x10,0x21,0x10,0xFF,0x1F,0xFF,0x0F,0xFF,0x1F,0x01,0x00, // q
  8,  0x10,0x10,0xF0,0x1F,0xF0,0x1F,0xF0,0x1F,0x10,0x08,0x00,0x10,0x00,0x1C,0x00,0x1C, // r
  6,  0x70,0x0E,0x20,0x1F,0x90,0x17,0xD0,0x13,0xF0,0x09,0xE0,0x1C, // s
  6,  0x00,0x10,0xE0,0x1F,0xF0,0x3F,0xF0,0xFF,0x10,0x10,0x20,0x10, // t
  10, 0x00,0x10,0xE0,0x1F,0xF0,0x1F,0xF0,0x1F,0x10,0x00,0x20,0x10,0xF0,0x1F,0xF0,0x1F,0xF0,0x1F,0x10,0x00, // u
  9,  0x00,0x10,0x00,0x1C,0x80,0x1F,0xE0,0x1F,0xF0,0x13,0x60,0x00,0x80,0x13,0x00,0x1C,0x00,0x10, // v
  14, 0x00,0x10,0x00,0x1C,0x00,0x1F,0xE0,0x1F,0xF0,0x13,0xE0,0x00,0x00,0x17,0x00,0x1E,0xE0,0x1F,0xF0,0x17,0xE0,0x00,0x00,0x17,0x00,0x18,0x00,0x10, // w
  9,  0x10,0x10,0x10,0x10,0x30,0x1C,0x50,0x1F,0xC0,0x1F,0xF0,0x03,0xF0,0x14,0x30,0x18,0x10,0x10, // x
  9,  0x06,0x10,0x07,0x18,0x07,0x1E,0x82,0x1F,0xEC,0x17,0xF0,0x01,0x80,0x13,0x00,0x1C,0x00,0x10, // y
  8,  0x10,0x00,0x70,0x1C,0xF0,0x10,0xF0,0x13,0x90,0x1F,0x10,0x1F,0x30,0x1C,0x70,0x10, // z
  5,  0x00,0x01,0x8C,0x32,0xFE,0x7E,0x73,0xCC,0x01,0x80, // {
  1,  0xFF,0xFF, // |
  5,  0x01,0x80,0x73,0xCC,0xFE,0x7E,0x8C,0x32,0x00,0x01, // )
  10, 0x00,0x03,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x06, // ~
  0}; // end

const byte DigitsFont[] PROGMEM = {
  7, // ymax
  1, // descender
  '-', //first char
  5, 0x08,0x08,0x08,0x08,0x08,                 // -
  1, 0x02,                                     // .
  3, 0x06,0x38,0xC0,                           // /
  4, 0x7C,0x82,0x82,0x7C,                      // 0
  2, 0x40,0xFE,                                // 1
  4, 0x46,0x8A,0x92,0x62,                      // 2
  4, 0x44,0x82,0x92,0x6C,                      // 3
  4, 0x18,0x68,0xFE,0x08,                      // 4
  4, 0xF4,0xA2,0xA2,0x9C,                      // 5
  4, 0x7C,0x92,0x92,0x4C,                      // 6
  4, 0x80,0x8E,0xB0,0xC0,                      // 7
  4, 0x6C,0x92,0x92,0x6C,                      // 8
  4, 0x64,0x92,0x92,0x7C,                      // 9
  0}; // end

#endif
Соседние файлы в предмете Электроника и схемотехника