172 lines
6.3 KiB
C++
172 lines
6.3 KiB
C++
#include "prototypes.h"
|
|
|
|
const uint8_t font_numbers3x5_data[] PROGMEM = {
|
|
B01110, B10001, B01110, // 0
|
|
B01000, B11111, B00000, // 1
|
|
B01001, B10011, B01101, // 2
|
|
B10001, B10101, B01010, // 3
|
|
B11100, B00100, B11111, // 4
|
|
B11101, B10101, B10111, // 5
|
|
B01110, B10101, B10110, // 6
|
|
B10000, B10011, B11100, // 7
|
|
B11111, B10101, B11111, // 8
|
|
B01101, B10101, B01110, // 9
|
|
};
|
|
bool font_numbers3x5_check(const char c) { return c>='0' && c<='9'; }
|
|
uint16_t font_numbers3x5_get(const char c) { return c - '0'; }
|
|
Font font_numbers3x5 = {3, 5, &font_numbers3x5_data[0], font_numbers3x5_check, font_numbers3x5_get};
|
|
|
|
const uint8_t font_numbers3x3_data[] PROGMEM = {
|
|
B111, B101, B111, // 0
|
|
B101, B111, B001, // 1
|
|
B100, B111, B001, // 2
|
|
B101, B111, B111, // 3
|
|
B110, B010, B111, // 4
|
|
B001, B111, B100, // 5
|
|
B111, B011, B011, // 6
|
|
B100, B100, B111, // 7
|
|
B011, B111, B111, // 8
|
|
B110, B110, B111, // 9
|
|
};
|
|
bool font_numbers3x3_check(const char c) { return c>='0' && c<='9'; }
|
|
uint16_t font_numbers3x3_get(const char c) { return c - '0'; }
|
|
Font font_numbers3x3 = {3, 3, &font_numbers3x3_data[0], font_numbers3x3_check, font_numbers3x3_get};
|
|
|
|
const uint8_t font_numbers3x5_blocky_data[] PROGMEM = {
|
|
B11111, B10001, B11111, // 0
|
|
B00000, B11111, B00000, // 1
|
|
B10111, B10101, B11101, // 2
|
|
B10001, B10101, B11111, // 3
|
|
B11100, B00100, B11111, // 4
|
|
B11101, B10101, B10111, // 5
|
|
B11111, B10101, B10111, // 6
|
|
B10000, B10000, B11111, // 7
|
|
B11111, B10101, B11111, // 8
|
|
B11101, B10101, B11111, // 9
|
|
};
|
|
Font font_numbers3x5_blocky = {3, 5, &font_numbers3x5_blocky_data[0], font_numbers3x5_check, font_numbers3x5_get};
|
|
|
|
|
|
const uint8_t font_numbers4x7_data[] PROGMEM = {
|
|
0x3E, 0x51, 0x45, 0x3E,// 0
|
|
0x00, 0x42, 0x7F, 0x40,// 1
|
|
0x42, 0x61, 0x49, 0x46,// 2
|
|
0x21, 0x45, 0x4B, 0x31,// 3
|
|
0x18, 0x14, 0x7F, 0x10,// 4
|
|
0x27, 0x45, 0x45, 0x39,// 5
|
|
0x3C, 0x4A, 0x49, 0x30,// 6
|
|
0x01, 0x71, 0x09, 0x05,// 7
|
|
0x36, 0x49, 0x49, 0x36,// 8
|
|
0x06, 0x49, 0x29, 0x1E // 9
|
|
};
|
|
|
|
bool font_numbers4x7_check(const char c) { return c>='0' && c<='9'; }
|
|
|
|
uint16_t font_numbers4x7_get(const char c) { return c - '0'; }
|
|
|
|
Font font_numbers4x7 = {4, 7, &font_numbers4x7_data[0], font_numbers4x7_check, font_numbers4x7_get};
|
|
|
|
|
|
|
|
const uint8_t font5x7_data[] PROGMEM = {
|
|
0x00, 0x00, 0x00, 0x00, 0x00, // (space)
|
|
0x00, 0x00, 0x7D, 0x00, 0x00, // !
|
|
0x00, 0x70, 0x00, 0x70, 0x00, // "
|
|
0x14, 0x7F, 0x14, 0x7F, 0x14, // #
|
|
0x12, 0x2A, 0x7F, 0x2A, 0x24, // $
|
|
0x62, 0x64, 0x08, 0x13, 0x23, // %
|
|
0x36, 0x49, 0x55, 0x22, 0x05, // &
|
|
0x00, 0x50, 0x60, 0x00, 0x00, // '
|
|
0x00, 0x1C, 0x22, 0x41, 0x00, // (
|
|
0x00, 0x41, 0x22, 0x1C, 0x00, // )
|
|
0x08, 0x2A, 0x1C, 0x2A, 0x08, // *
|
|
0x08, 0x08, 0x3E, 0x08, 0x08, // +
|
|
0x00, 0x05, 0x06, 0x00, 0x00, // ,
|
|
0x08, 0x08, 0x08, 0x08, 0x08, // -
|
|
0x00, 0x03, 0x03, 0x00, 0x00, // .
|
|
0x02, 0x04, 0x08, 0x10, 0x20, // /
|
|
0x3E, 0x45, 0x49, 0x51, 0x3E, // 0
|
|
0x00, 0x21, 0x7F, 0x01, 0x00, // 1
|
|
0x21, 0x43, 0x45, 0x49, 0x31, // 2
|
|
0x42, 0x41, 0x51, 0x69, 0x46, // 3
|
|
0x0C, 0x14, 0x24, 0x7F, 0x04, // 4
|
|
0x72, 0x51, 0x51, 0x51, 0x4E, // 5
|
|
0x1E, 0x29, 0x49, 0x49, 0x06, // 6
|
|
0x40, 0x47, 0x48, 0x50, 0x60, // 7
|
|
0x36, 0x49, 0x49, 0x49, 0x36, // 8
|
|
0x30, 0x49, 0x49, 0x4A, 0x3C, // 9
|
|
0x00, 0x36, 0x36, 0x00, 0x00, // :
|
|
0x00, 0x35, 0x36, 0x00, 0x00, // ;
|
|
0x00, 0x08, 0x14, 0x22, 0x41, // <
|
|
0x14, 0x14, 0x14, 0x14, 0x14, // =
|
|
0x41, 0x22, 0x14, 0x08, 0x00, // >
|
|
0x20, 0x40, 0x45, 0x48, 0x30, // ?
|
|
0x26, 0x49, 0x4F, 0x41, 0x3E, // @
|
|
0x3F, 0x44, 0x44, 0x44, 0x3F, // A
|
|
0x7F, 0x49, 0x49, 0x49, 0x36, // B
|
|
0x3E, 0x41, 0x41, 0x41, 0x22, // C
|
|
0x7F, 0x41, 0x41, 0x22, 0x1C, // D
|
|
0x7F, 0x49, 0x49, 0x49, 0x41, // E
|
|
0x7F, 0x48, 0x48, 0x40, 0x40, // F
|
|
0x3E, 0x41, 0x41, 0x45, 0x26, // G
|
|
0x7F, 0x08, 0x08, 0x08, 0x7F, // H
|
|
0x00, 0x41, 0x7F, 0x41, 0x00, // I
|
|
0x02, 0x01, 0x41, 0x7E, 0x40, // J
|
|
0x7F, 0x08, 0x14, 0x22, 0x41, // K
|
|
0x7F, 0x01, 0x01, 0x01, 0x01, // L
|
|
0x7F, 0x20, 0x10, 0x20, 0x7F, // M
|
|
0x7F, 0x10, 0x08, 0x04, 0x7F, // N
|
|
0x3E, 0x41, 0x41, 0x41, 0x3E, // O
|
|
0x7F, 0x48, 0x48, 0x48, 0x30, // P
|
|
0x3E, 0x41, 0x45, 0x42, 0x3D, // Q
|
|
0x7F, 0x48, 0x4C, 0x4A, 0x31, // R
|
|
0x31, 0x49, 0x49, 0x49, 0x46, // S
|
|
0x40, 0x40, 0x7F, 0x40, 0x40, // T
|
|
0x7E, 0x01, 0x01, 0x01, 0x7E, // U
|
|
0x7C, 0x02, 0x01, 0x02, 0x7C, // V
|
|
0x7F, 0x02, 0x0C, 0x02, 0x7F, // W
|
|
0x63, 0x14, 0x08, 0x14, 0x63, // X
|
|
0x60, 0x10, 0x0F, 0x10, 0x60, // Y
|
|
0x43, 0x45, 0x49, 0x51, 0x61, // Z
|
|
0x00, 0x00, 0x7F, 0x41, 0x41, // [
|
|
0x20, 0x10, 0x08, 0x04, 0x02, // backslash
|
|
0x41, 0x41, 0x7F, 0x00, 0x00, // ]
|
|
0x10, 0x20, 0x40, 0x20, 0x10, // ^
|
|
0x01, 0x01, 0x01, 0x01, 0x01, // _
|
|
0x00, 0x40, 0x20, 0x10, 0x00, // `
|
|
0x02, 0x15, 0x15, 0x15, 0x0F, // a
|
|
0x7F, 0x09, 0x11, 0x11, 0x0E, // b
|
|
0x0E, 0x11, 0x11, 0x11, 0x02, // c
|
|
0x0E, 0x11, 0x11, 0x09, 0x7F, // d
|
|
0x0E, 0x15, 0x15, 0x15, 0x0C, // e
|
|
0x08, 0x3F, 0x48, 0x40, 0x20, // f
|
|
0x08, 0x14, 0x15, 0x15, 0x1E, // g
|
|
0x7F, 0x08, 0x10, 0x10, 0x0F, // h
|
|
0x00, 0x11, 0x5F, 0x01, 0x00, // i
|
|
0x02, 0x01, 0x11, 0x5E, 0x00, // j
|
|
0x00, 0x7F, 0x04, 0x0A, 0x11, // k
|
|
0x00, 0x41, 0x7F, 0x01, 0x00, // l
|
|
0x1F, 0x10, 0x0C, 0x10, 0x0F, // m
|
|
0x1F, 0x08, 0x10, 0x10, 0x0F, // n
|
|
0x0E, 0x11, 0x11, 0x11, 0x0E, // o
|
|
0x1F, 0x14, 0x14, 0x14, 0x08, // p
|
|
0x08, 0x14, 0x14, 0x0C, 0x1F, // q
|
|
0x1F, 0x08, 0x10, 0x10, 0x08, // r
|
|
0x09, 0x15, 0x15, 0x15, 0x02, // s
|
|
0x10, 0x7E, 0x11, 0x01, 0x02, // t
|
|
0x1E, 0x01, 0x01, 0x02, 0x1F, // u
|
|
0x1C, 0x02, 0x01, 0x02, 0x1C, // v
|
|
0x1E, 0x01, 0x06, 0x01, 0x1E, // w
|
|
0x11, 0x0A, 0x04, 0x0A, 0x11, // x
|
|
0x18, 0x05, 0x05, 0x05, 0x1E, // y
|
|
0x11, 0x13, 0x15, 0x19, 0x11, // z
|
|
0x00, 0x08, 0x36, 0x41, 0x00, // {
|
|
0x00, 0x00, 0x7F, 0x00, 0x00, // |
|
|
0x00, 0x41, 0x36, 0x08, 0x00, // }
|
|
0x08, 0x08, 0x2A, 0x1C, 0x08, // ->
|
|
0x08, 0x1C, 0x2A, 0x08, 0x08, // <-
|
|
};
|
|
bool font5x7_check(const char c) { return c>=' ' && c<='}'; }
|
|
uint16_t font5x7_get(const char c) { return c - ' '; }
|
|
Font font5x7 = {5, 7, &font5x7_data[0], font5x7_check, font5x7_get};
|