diff --git a/lib/font.h b/lib/font.h index d1c4ac4..e12fb85 100644 --- a/lib/font.h +++ b/lib/font.h @@ -1,17 +1,23 @@ -/** - * ---------------------------------------------------------------+ - * @desc FONTs - * ---------------------------------------------------------------+ +/** + * -------------------------------------------------------------------------------------+ + * @desc LCD FONT 5x8 + * -------------------------------------------------------------------------------------+ + * @source * Copyright (C) 2020 Marian Hrinko. * Written by Marian Hrinko (mato.hrinko@gmail.com) * * @author Marian Hrinko - * @datum 07.10.2020 + * @date 08.12.2020 + * @update 08.12.2022 * @file font.h - * @tested AVR Atmega16, Atmega8, Atmega328 + * @version 1.0 + * @tested AVR Atmega328p * * @depend - * ---------------------------------------------------------------+ + * -------------------------------------------------------------------------------------+ + * @descr LCD pixel fonts + * -------------------------------------------------------------------------------------+ + * @usage Display characters */ #ifndef __FONT_H__ @@ -24,7 +30,105 @@ // ----------------------------------- // number of columns for chars #define CHARS_COLS_LENGTH 5 + // @const Characters - extern const uint8_t FONTS[][CHARS_COLS_LENGTH]; + static const uint8_t FONTS[][CHARS_COLS_LENGTH] PROGMEM = { + { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 20 space + { 0x81, 0x81, 0x18, 0x81, 0x81 }, // 21 ! + { 0x00, 0x07, 0x00, 0x07, 0x00 }, // 22 " + { 0x14, 0x7f, 0x14, 0x7f, 0x14 }, // 23 # + { 0x24, 0x2a, 0x7f, 0x2a, 0x12 }, // 24 $ + { 0x23, 0x13, 0x08, 0x64, 0x62 }, // 25 % + { 0x36, 0x49, 0x55, 0x22, 0x50 }, // 26 & + { 0x00, 0x05, 0x03, 0x00, 0x00 }, // 27 ' + { 0x00, 0x1c, 0x22, 0x41, 0x00 }, // 28 ( + { 0x00, 0x41, 0x22, 0x1c, 0x00 }, // 29 ) + { 0x14, 0x08, 0x3e, 0x08, 0x14 }, // 2a * + { 0x08, 0x08, 0x3e, 0x08, 0x08 }, // 2b + + { 0x00, 0x50, 0x30, 0x00, 0x00 }, // 2c , + { 0x08, 0x08, 0x08, 0x08, 0x08 }, // 2d - + { 0x00, 0x60, 0x60, 0x00, 0x00 }, // 2e . + { 0x20, 0x10, 0x08, 0x04, 0x02 }, // 2f / + { 0x3e, 0x51, 0x49, 0x45, 0x3e }, // 30 0 + { 0x00, 0x42, 0x7f, 0x40, 0x00 }, // 31 1 + { 0x42, 0x61, 0x51, 0x49, 0x46 }, // 32 2 + { 0x21, 0x41, 0x45, 0x4b, 0x31 }, // 33 3 + { 0x18, 0x14, 0x12, 0x7f, 0x10 }, // 34 4 + { 0x27, 0x45, 0x45, 0x45, 0x39 }, // 35 5 + { 0x3c, 0x4a, 0x49, 0x49, 0x30 }, // 36 6 + { 0x01, 0x71, 0x09, 0x05, 0x03 }, // 37 7 + { 0x36, 0x49, 0x49, 0x49, 0x36 }, // 38 8 + { 0x06, 0x49, 0x49, 0x29, 0x1e }, // 39 9 + { 0x00, 0x36, 0x36, 0x00, 0x00 }, // 3a : + { 0x00, 0x56, 0x36, 0x00, 0x00 }, // 3b ; + { 0x08, 0x14, 0x22, 0x41, 0x00 }, // 3c < + { 0x14, 0x14, 0x14, 0x14, 0x14 }, // 3d = + { 0x00, 0x41, 0x22, 0x14, 0x08 }, // 3e > + { 0x02, 0x01, 0x51, 0x09, 0x06 }, // 3f ? + { 0x32, 0x49, 0x79, 0x41, 0x3e }, // 40 @ + { 0x7e, 0x11, 0x11, 0x11, 0x7e }, // 41 A + { 0x7f, 0x49, 0x49, 0x49, 0x36 }, // 42 B + { 0x3e, 0x41, 0x41, 0x41, 0x22 }, // 43 C + { 0x7f, 0x41, 0x41, 0x22, 0x1c }, // 44 D + { 0x7f, 0x49, 0x49, 0x49, 0x41 }, // 45 E + { 0x7f, 0x09, 0x09, 0x09, 0x01 }, // 46 F + { 0x3e, 0x41, 0x49, 0x49, 0x7a }, // 47 G + { 0x7f, 0x08, 0x08, 0x08, 0x7f }, // 48 H + { 0x00, 0x41, 0x7f, 0x41, 0x00 }, // 49 I + { 0x20, 0x40, 0x41, 0x3f, 0x01 }, // 4a J + { 0x7f, 0x08, 0x14, 0x22, 0x41 }, // 4b K + { 0x7f, 0x40, 0x40, 0x40, 0x40 }, // 4c L + { 0x7f, 0x02, 0x0c, 0x02, 0x7f }, // 4d M + { 0x7f, 0x04, 0x08, 0x10, 0x7f }, // 4e N + { 0x3e, 0x41, 0x41, 0x41, 0x3e }, // 4f O + { 0x7f, 0x09, 0x09, 0x09, 0x06 }, // 50 P + { 0x3e, 0x41, 0x51, 0x21, 0x5e }, // 51 Q + { 0x7f, 0x09, 0x19, 0x29, 0x46 }, // 52 R + { 0x46, 0x49, 0x49, 0x49, 0x31 }, // 53 S + { 0x01, 0x01, 0x7f, 0x01, 0x01 }, // 54 T + { 0x3f, 0x40, 0x40, 0x40, 0x3f }, // 55 U + { 0x1f, 0x20, 0x40, 0x20, 0x1f }, // 56 V + { 0x3f, 0x40, 0x38, 0x40, 0x3f }, // 57 W + { 0x63, 0x14, 0x08, 0x14, 0x63 }, // 58 X + { 0x07, 0x08, 0x70, 0x08, 0x07 }, // 59 Y + { 0x61, 0x51, 0x49, 0x45, 0x43 }, // 5a Z + { 0x00, 0x7f, 0x41, 0x41, 0x00 }, // 5b [ + { 0x02, 0x04, 0x08, 0x10, 0x20 }, // 5c backslash + { 0x00, 0x41, 0x41, 0x7f, 0x00 }, // 5d ] + { 0x04, 0x02, 0x01, 0x02, 0x04 }, // 5e ^ + { 0x40, 0x40, 0x40, 0x40, 0x40 }, // 5f _ + { 0x00, 0x01, 0x02, 0x04, 0x00 }, // 60 ` + { 0x20, 0x54, 0x54, 0x54, 0x78 }, // 61 a + { 0x7f, 0x48, 0x44, 0x44, 0x38 }, // 62 b + { 0x38, 0x44, 0x44, 0x44, 0x20 }, // 63 c + { 0x38, 0x44, 0x44, 0x48, 0x7f }, // 64 d + { 0x38, 0x54, 0x54, 0x54, 0x18 }, // 65 e + { 0x08, 0x7e, 0x09, 0x01, 0x02 }, // 66 f + { 0x0c, 0x52, 0x52, 0x52, 0x3e }, // 67 g + { 0x7f, 0x08, 0x04, 0x04, 0x78 }, // 68 h + { 0x00, 0x44, 0x7d, 0x40, 0x00 }, // 69 i + { 0x20, 0x40, 0x44, 0x3d, 0x00 }, // 6a j + { 0x7f, 0x10, 0x28, 0x44, 0x00 }, // 6b k + { 0x00, 0x41, 0x7f, 0x40, 0x00 }, // 6c l + { 0x7c, 0x04, 0x18, 0x04, 0x78 }, // 6d m + { 0x7c, 0x08, 0x04, 0x04, 0x78 }, // 6e n + { 0x38, 0x44, 0x44, 0x44, 0x38 }, // 6f o + { 0x7c, 0x14, 0x14, 0x14, 0x08 }, // 70 p + { 0x08, 0x14, 0x14, 0x14, 0x7c }, // 71 q + { 0x7c, 0x08, 0x04, 0x04, 0x08 }, // 72 r + { 0x48, 0x54, 0x54, 0x54, 0x20 }, // 73 s + { 0x04, 0x3f, 0x44, 0x40, 0x20 }, // 74 t + { 0x3c, 0x40, 0x40, 0x20, 0x7c }, // 75 u + { 0x1c, 0x20, 0x40, 0x20, 0x1c }, // 76 v + { 0x3c, 0x40, 0x30, 0x40, 0x3c }, // 77 w + { 0x44, 0x28, 0x10, 0x28, 0x44 }, // 78 x + { 0x0c, 0x50, 0x50, 0x50, 0x3c }, // 79 y + { 0x44, 0x64, 0x54, 0x4c, 0x44 }, // 7a z + { 0x00, 0x08, 0x36, 0x41, 0x00 }, // 7b { + { 0x00, 0x00, 0x7f, 0x00, 0x00 }, // 7c | + { 0x00, 0x41, 0x36, 0x08, 0x00 }, // 7d } + { 0x10, 0x08, 0x08, 0x10, 0x08 }, // 7e ~ + { 0x00, 0x00, 0x00, 0x00, 0x00 } // 7f + }; #endif diff --git a/lib/font5x8.h b/lib/font5x8.h new file mode 100644 index 0000000..436d4f0 --- /dev/null +++ b/lib/font5x8.h @@ -0,0 +1,135 @@ +/** + * -------------------------------------------------------------------------------------+ + * @desc LCD FONT 5x8 + * -------------------------------------------------------------------------------------+ + * @source https://github.com/basti79/LCD-fonts/blob/master/5x8_vertikal_LSB_1.h + * Copyright (C) 2020 Marian Hrinko. + * Written by Marian Hrinko (mato.hrinko@gmail.com) + * + * @author Marian Hrinko + * @date 08.12.2020 + * @update 08.12.2022 + * @file font5x8.h + * @version 1.0 + * @tested AVR Atmega328p + * + * @depend + * -------------------------------------------------------------------------------------+ + * @descr LCD pixel fonts + * -------------------------------------------------------------------------------------+ + * @usage Display characters + */ + +#ifndef __FONT5x8_H__ +#define __FONT5x8_H__ + + // includes + #include + + // Characters definition + // ----------------------------------- + // number of columns for chars + #define CHARS_COLS_LENGTH 5 + + // @author basti79 + // @source https://github.com/basti79/LCD-fonts/blob/master/5x8_vertikal_LSB_1.h + static const uint8_t FONTS[][CHARS_COLS_LENGTH] PROGMEM = { + {0x00,0x00,0x00,0x00,0x00}, // 0x20 + {0x00,0x00,0x2F,0x00,0x00}, // 0x21 + {0x00,0x03,0x00,0x03,0x00}, // 0x22 + {0x34,0x1C,0x36,0x1C,0x16}, // 0x23 + {0x00,0x26,0x7F,0x32,0x00}, // 0x24 + {0x32,0x0D,0x1E,0x2C,0x13}, // 0x25 + {0x18,0x26,0x2D,0x12,0x28}, // 0x26 + {0x00,0x00,0x03,0x00,0x00}, // 0x27 + {0x00,0x1C,0x22,0x41,0x41}, // 0x28 + {0x41,0x41,0x22,0x1C,0x00}, // 0x29 + {0x00,0x0A,0x05,0x0A,0x00}, // 0x2A + {0x00,0x10,0x38,0x10,0x00}, // 0x2B + {0x00,0x80,0x60,0x00,0x00}, // 0x2C + {0x00,0x08,0x08,0x08,0x00}, // 0x2D + {0x00,0x00,0x20,0x00,0x00}, // 0x2E + {0x00,0x60,0x18,0x06,0x01}, // 0x2F + {0x00,0x1E,0x21,0x21,0x1E}, // 0x30 + {0x00,0x22,0x3F,0x20,0x00}, // 0x31 + {0x00,0x31,0x29,0x26,0x00}, // 0x32 + {0x00,0x25,0x25,0x1A,0x00}, // 0x33 + {0x00,0x0C,0x0A,0x3F,0x08}, // 0x34 + {0x00,0x27,0x25,0x19,0x00}, // 0x35 + {0x00,0x1E,0x25,0x25,0x18}, // 0x36 + {0x00,0x01,0x39,0x05,0x03}, // 0x37 + {0x00,0x1A,0x25,0x25,0x1A}, // 0x38 + {0x00,0x06,0x29,0x29,0x1E}, // 0x39 + {0x00,0x00,0x24,0x00,0x00}, // 0x3A + {0x00,0x80,0x64,0x00,0x00}, // 0x3B + {0x00,0x08,0x08,0x14,0x22}, // 0x3C + {0x00,0x14,0x14,0x14,0x14}, // 0x3D + {0x00,0x22,0x14,0x08,0x08}, // 0x3E + {0x00,0x01,0x29,0x05,0x02}, // 0x3F + {0x3C,0x42,0x59,0x55,0x5E}, // 0x40 + {0x30,0x1C,0x12,0x1C,0x30}, // 0x41 + {0x00,0x3E,0x2A,0x36,0x00}, // 0x42 + {0x00,0x1C,0x22,0x22,0x22}, // 0x43 + {0x00,0x3E,0x22,0x22,0x1C}, // 0x44 + {0x00,0x3E,0x2A,0x2A,0x00}, // 0x45 + {0x00,0x3E,0x0A,0x0A,0x00}, // 0x46 + {0x00,0x1C,0x22,0x2A,0x3A}, // 0x47 + {0x00,0x3E,0x08,0x08,0x3E}, // 0x48 + {0x00,0x22,0x3E,0x22,0x00}, // 0x49 + {0x00,0x22,0x22,0x1E,0x00}, // 0x4A + {0x00,0x3E,0x08,0x14,0x22}, // 0x4B + {0x00,0x3E,0x20,0x20,0x20}, // 0x4C + {0x3E,0x04,0x18,0x04,0x3E}, // 0x4D + {0x00,0x3E,0x04,0x08,0x3E}, // 0x4E + {0x1C,0x22,0x22,0x22,0x1C}, // 0x4F + {0x00,0x3E,0x0A,0x0A,0x04}, // 0x50 + {0x1C,0x22,0x22,0x62,0x9C}, // 0x51 + {0x00,0x3E,0x0A,0x14,0x20}, // 0x52 + {0x00,0x24,0x2A,0x12,0x00}, // 0x53 + {0x02,0x02,0x3E,0x02,0x02}, // 0x54 + {0x00,0x1E,0x20,0x20,0x1E}, // 0x55 + {0x00,0x0E,0x30,0x30,0x0E}, // 0x56 + {0x0E,0x30,0x0C,0x30,0x0E}, // 0x57 + {0x22,0x14,0x08,0x14,0x22}, // 0x58 + {0x02,0x04,0x38,0x04,0x02}, // 0x59 + {0x00,0x32,0x2A,0x2A,0x26}, // 0x5A + {0x00,0x00,0x7F,0x41,0x00}, // 0x5B + {0x01,0x06,0x18,0x60,0x00}, // 0x5C + {0x00,0x41,0x7F,0x00,0x00}, // 0x5D + {0x18,0x06,0x01,0x06,0x18}, // 0x5E + {0x40,0x40,0x40,0x40,0x40}, // 0x5F + {0x00,0x01,0x02,0x00,0x00}, // 0x60 + {0x00,0x34,0x34,0x38,0x20}, // 0x61 + {0x00,0x3F,0x24,0x24,0x18}, // 0x62 + {0x00,0x18,0x24,0x24,0x00}, // 0x63 + {0x18,0x24,0x24,0x3F,0x00}, // 0x64 + {0x00,0x18,0x2C,0x28,0x00}, // 0x65 + {0x00,0x04,0x3E,0x05,0x05}, // 0x66 + {0x00,0x58,0x54,0x54,0x3C}, // 0x67 + {0x00,0x3F,0x08,0x04,0x38}, // 0x68 + {0x00,0x04,0x3D,0x00,0x00}, // 0x69 + {0x00,0x44,0x44,0x3D,0x00}, // 0x6A + {0x00,0x3F,0x08,0x14,0x20}, // 0x6B + {0x00,0x01,0x3F,0x00,0x00}, // 0x6C + {0x3C,0x08,0x3C,0x08,0x3C}, // 0x6D + {0x00,0x3C,0x08,0x04,0x38}, // 0x6E + {0x00,0x18,0x24,0x24,0x18}, // 0x6F + {0x00,0x7C,0x24,0x24,0x18}, // 0x70 + {0x18,0x24,0x24,0x7C,0x00}, // 0x71 + {0x00,0x3C,0x08,0x04,0x00}, // 0x72 + {0x00,0x28,0x2C,0x14,0x00}, // 0x73 + {0x00,0x04,0x1E,0x24,0x04}, // 0x74 + {0x00,0x1C,0x20,0x10,0x3C}, // 0x75 + {0x00,0x0C,0x30,0x30,0x0C}, // 0x76 + {0x0C,0x30,0x1C,0x30,0x0C}, // 0x77 + {0x00,0x24,0x18,0x18,0x24}, // 0x78 + {0x40,0x4C,0x70,0x30,0x0C}, // 0x79 + {0x00,0x34,0x2C,0x2C,0x00}, // 0x7A + {0x00,0x08,0x36,0x41,0x00}, // 0x7B + {0x00,0x00,0x7F,0x00,0x00}, // 0x7C + {0x00,0x41,0x36,0x08,0x00}, // 0x7D + {0x10,0x08,0x08,0x10,0x08}, // 0x7E + {0x00,0x3C,0x22,0x3C,0x00}, // 0x7F + }; + +#endif diff --git a/lib/font6x8.h b/lib/font6x8.h new file mode 100644 index 0000000..c1c49f3 --- /dev/null +++ b/lib/font6x8.h @@ -0,0 +1,135 @@ +/** + * -------------------------------------------------------------------------------------+ + * @desc LCD FONT 6x8 + * -------------------------------------------------------------------------------------+ + * @source https://github.com/basti79/LCD-fonts/blob/master/6x8_vertikal_LSB_1.h + * Copyright (C) 2020 Marian Hrinko. + * Written by Marian Hrinko (mato.hrinko@gmail.com) + * + * @author Marian Hrinko + * @date 08.12.2020 + * @update 08.12.2022 + * @file font6x8.h + * @version 1.0 + * @tested AVR Atmega328p + * + * @depend + * -------------------------------------------------------------------------------------+ + * @descr LCD pixel fonts + * -------------------------------------------------------------------------------------+ + * @usage Display characters + */ + +#ifndef __FONT6x8_H__ +#define __FONT6x8_H__ + + // includes + #include + + // Characters definition + // ----------------------------------- + // number of columns for chars + #define CHARS_COLS_LENGTH 6 + + // @author basti79 + // @source https://github.com/basti79/LCD-fonts/blob/master/6x8_vertikal_LSB_1.h + static const uint8_t FONTS[][CHARS_COLS_LENGTH] PROGMEM = { + {0x00,0x00,0x00,0x00,0x00,0x00}, // 0x20 + {0x00,0x00,0x06,0x5F,0x06,0x00}, // 0x21 + {0x00,0x07,0x03,0x00,0x07,0x03}, // 0x22 + {0x00,0x24,0x7E,0x24,0x7E,0x24}, // 0x23 + {0x00,0x24,0x2B,0x6A,0x12,0x00}, // 0x24 + {0x00,0x63,0x13,0x08,0x64,0x63}, // 0x25 + {0x00,0x36,0x49,0x56,0x20,0x50}, // 0x26 + {0x00,0x00,0x07,0x03,0x00,0x00}, // 0x27 + {0x00,0x00,0x3E,0x41,0x00,0x00}, // 0x28 + {0x00,0x00,0x41,0x3E,0x00,0x00}, // 0x29 + {0x00,0x08,0x3E,0x1C,0x3E,0x08}, // 0x2A + {0x00,0x08,0x08,0x3E,0x08,0x08}, // 0x2B + {0x00,0x00,0xE0,0x60,0x00,0x00}, // 0x2C + {0x00,0x08,0x08,0x08,0x08,0x08}, // 0x2D + {0x00,0x00,0x60,0x60,0x00,0x00}, // 0x2E + {0x00,0x20,0x10,0x08,0x04,0x02}, // 0x2F + {0x00,0x3E,0x51,0x49,0x45,0x3E}, // 0x30 + {0x00,0x00,0x42,0x7F,0x40,0x00}, // 0x31 + {0x00,0x62,0x51,0x49,0x49,0x46}, // 0x32 + {0x00,0x22,0x49,0x49,0x49,0x36}, // 0x33 + {0x00,0x18,0x14,0x12,0x7F,0x10}, // 0x34 + {0x00,0x2F,0x49,0x49,0x49,0x31}, // 0x35 + {0x00,0x3C,0x4A,0x49,0x49,0x30}, // 0x36 + {0x00,0x01,0x71,0x09,0x05,0x03}, // 0x37 + {0x00,0x36,0x49,0x49,0x49,0x36}, // 0x38 + {0x00,0x06,0x49,0x49,0x29,0x1E}, // 0x39 + {0x00,0x00,0x6C,0x6C,0x00,0x00}, // 0x3A + {0x00,0x00,0xEC,0x6C,0x00,0x00}, // 0x3B + {0x00,0x08,0x14,0x22,0x41,0x00}, // 0x3C + {0x00,0x24,0x24,0x24,0x24,0x24}, // 0x3D + {0x00,0x00,0x41,0x22,0x14,0x08}, // 0x3E + {0x00,0x02,0x01,0x59,0x09,0x06}, // 0x3F + {0x00,0x3E,0x41,0x5D,0x55,0x1E}, // 0x40 + {0x00,0x7E,0x11,0x11,0x11,0x7E}, // 0x41 + {0x00,0x7F,0x49,0x49,0x49,0x36}, // 0x42 + {0x00,0x3E,0x41,0x41,0x41,0x22}, // 0x43 + {0x00,0x7F,0x41,0x41,0x41,0x3E}, // 0x44 + {0x00,0x7F,0x49,0x49,0x49,0x41}, // 0x45 + {0x00,0x7F,0x09,0x09,0x09,0x01}, // 0x46 + {0x00,0x3E,0x41,0x49,0x49,0x7A}, // 0x47 + {0x00,0x7F,0x08,0x08,0x08,0x7F}, // 0x48 + {0x00,0x00,0x41,0x7F,0x41,0x00}, // 0x49 + {0x00,0x30,0x40,0x40,0x40,0x3F}, // 0x4A + {0x00,0x7F,0x08,0x14,0x22,0x41}, // 0x4B + {0x00,0x7F,0x40,0x40,0x40,0x40}, // 0x4C + {0x00,0x7F,0x02,0x04,0x02,0x7F}, // 0x4D + {0x00,0x7F,0x02,0x04,0x08,0x7F}, // 0x4E + {0x00,0x3E,0x41,0x41,0x41,0x3E}, // 0x4F + {0x00,0x7F,0x09,0x09,0x09,0x06}, // 0x50 + {0x00,0x3E,0x41,0x51,0x21,0x5E}, // 0x51 + {0x00,0x7F,0x09,0x09,0x19,0x66}, // 0x52 + {0x00,0x26,0x49,0x49,0x49,0x32}, // 0x53 + {0x00,0x01,0x01,0x7F,0x01,0x01}, // 0x54 + {0x00,0x3F,0x40,0x40,0x40,0x3F}, // 0x55 + {0x00,0x1F,0x20,0x40,0x20,0x1F}, // 0x56 + {0x00,0x3F,0x40,0x3C,0x40,0x3F}, // 0x57 + {0x00,0x63,0x14,0x08,0x14,0x63}, // 0x58 + {0x00,0x07,0x08,0x70,0x08,0x07}, // 0x59 + {0x00,0x71,0x49,0x45,0x43,0x00}, // 0x5A + {0x00,0x00,0x7F,0x41,0x41,0x00}, // 0x5B + {0x00,0x02,0x04,0x08,0x10,0x20}, // 0x5C + {0x00,0x00,0x41,0x41,0x7F,0x00}, // 0x5D + {0x00,0x04,0x02,0x01,0x02,0x04}, // 0x5E + {0x80,0x80,0x80,0x80,0x80,0x80}, // 0x5F + {0x00,0x00,0x03,0x07,0x00,0x00}, // 0x60 + {0x00,0x20,0x54,0x54,0x54,0x78}, // 0x61 + {0x00,0x7F,0x44,0x44,0x44,0x38}, // 0x62 + {0x00,0x38,0x44,0x44,0x44,0x28}, // 0x63 + {0x00,0x38,0x44,0x44,0x44,0x7F}, // 0x64 + {0x00,0x38,0x54,0x54,0x54,0x08}, // 0x65 + {0x00,0x08,0x7E,0x09,0x09,0x00}, // 0x66 + {0x00,0x18,0xA4,0xA4,0xA4,0x7C}, // 0x67 + {0x00,0x7F,0x04,0x04,0x78,0x00}, // 0x68 + {0x00,0x00,0x00,0x7D,0x40,0x00}, // 0x69 + {0x00,0x40,0x80,0x84,0x7D,0x00}, // 0x6A + {0x00,0x7F,0x10,0x28,0x44,0x00}, // 0x6B + {0x00,0x00,0x00,0x7F,0x40,0x00}, // 0x6C + {0x00,0x7C,0x04,0x18,0x04,0x78}, // 0x6D + {0x00,0x7C,0x04,0x04,0x78,0x00}, // 0x6E + {0x00,0x38,0x44,0x44,0x44,0x38}, // 0x6F + {0x00,0xFC,0x44,0x44,0x44,0x38}, // 0x70 + {0x00,0x38,0x44,0x44,0x44,0xFC}, // 0x71 + {0x00,0x44,0x78,0x44,0x04,0x08}, // 0x72 + {0x00,0x08,0x54,0x54,0x54,0x20}, // 0x73 + {0x00,0x04,0x3E,0x44,0x24,0x00}, // 0x74 + {0x00,0x3C,0x40,0x20,0x7C,0x00}, // 0x75 + {0x00,0x1C,0x20,0x40,0x20,0x1C}, // 0x76 + {0x00,0x3C,0x60,0x30,0x60,0x3C}, // 0x77 + {0x00,0x6C,0x10,0x10,0x6C,0x00}, // 0x78 + {0x00,0x9C,0xA0,0x60,0x3C,0x00}, // 0x79 + {0x00,0x64,0x54,0x54,0x4C,0x00}, // 0x7A + {0x00,0x08,0x3E,0x41,0x41,0x00}, // 0x7B + {0x00,0x00,0x00,0x77,0x00,0x00}, // 0x7C + {0x00,0x00,0x41,0x41,0x3E,0x08}, // 0x7D + {0x00,0x02,0x01,0x02,0x01,0x00}, // 0x7E + {0x00,0x3C,0x26,0x23,0x26,0x3C}, // 0x7F + }; + +#endif diff --git a/lib/font8x8.h b/lib/font8x8.h new file mode 100644 index 0000000..286ec42 --- /dev/null +++ b/lib/font8x8.h @@ -0,0 +1,135 @@ +/** + * -------------------------------------------------------------------------------------+ + * @desc LCD FONT 6x8 + * -------------------------------------------------------------------------------------+ + * @source https://github.com/basti79/LCD-fonts/blob/master/8x8_vertikal_LSB_1.h + * Copyright (C) 2020 Marian Hrinko. + * Written by Marian Hrinko (mato.hrinko@gmail.com) + * + * @author Marian Hrinko + * @date 08.12.2020 + * @update 08.12.2022 + * @file font6x8.h + * @version 1.0 + * @tested AVR Atmega328p + * + * @depend + * -------------------------------------------------------------------------------------+ + * @descr LCD pixel fonts + * -------------------------------------------------------------------------------------+ + * @usage Display characters + */ + +#ifndef __FONT8x8_H__ +#define __FONT8x8_H__ + + // includes + #include + + // Characters definition + // ----------------------------------- + // number of columns for chars + #define CHARS_COLS_LENGTH 8 + + // @author basti79 + // @source https://github.com/basti79/LCD-fonts/blob/master/8x8_vertikal_LSB_1.h + static const uint8_t FONTS[][CHARS_COLS_LENGTH] PROGMEM = { + {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 0x20 + {0x00,0x06,0x5F,0x5F,0x06,0x00,0x00,0x00}, // 0x21 + {0x00,0x07,0x07,0x00,0x07,0x07,0x00,0x00}, // 0x22 + {0x14,0x7F,0x7F,0x14,0x7F,0x7F,0x14,0x00}, // 0x23 + {0x24,0x2E,0x6B,0x6B,0x3A,0x12,0x00,0x00}, // 0x24 + {0x46,0x66,0x30,0x18,0x0C,0x66,0x62,0x00}, // 0x25 + {0x30,0x7A,0x4F,0x5D,0x37,0x7A,0x48,0x00}, // 0x26 + {0x04,0x07,0x03,0x00,0x00,0x00,0x00,0x00}, // 0x27 + {0x00,0x1C,0x3E,0x63,0x41,0x00,0x00,0x00}, // 0x28 + {0x00,0x41,0x63,0x3E,0x1C,0x00,0x00,0x00}, // 0x29 + {0x08,0x2A,0x3E,0x1C,0x1C,0x3E,0x2A,0x08}, // 0x2A + {0x08,0x08,0x3E,0x3E,0x08,0x08,0x00,0x00}, // 0x2B + {0x00,0xA0,0xE0,0x60,0x00,0x00,0x00,0x00}, // 0x2C + {0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00}, // 0x2D + {0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00}, // 0x2E + {0x60,0x30,0x18,0x0C,0x06,0x03,0x01,0x00}, // 0x2F + {0x3E,0x7F,0x59,0x4D,0x7F,0x3E,0x00,0x00}, // 0x30 + {0x42,0x42,0x7F,0x7F,0x40,0x40,0x00,0x00}, // 0x31 + {0x62,0x73,0x59,0x49,0x6F,0x66,0x00,0x00}, // 0x32 + {0x22,0x63,0x49,0x49,0x7F,0x36,0x00,0x00}, // 0x33 + {0x18,0x1C,0x16,0x13,0x7F,0x7F,0x10,0x00}, // 0x34 + {0x27,0x67,0x45,0x45,0x7D,0x39,0x00,0x00}, // 0x35 + {0x3C,0x7E,0x4B,0x49,0x79,0x30,0x00,0x00}, // 0x36 + {0x03,0x63,0x71,0x19,0x0F,0x07,0x00,0x00}, // 0x37 + {0x36,0x7F,0x49,0x49,0x7F,0x36,0x00,0x00}, // 0x38 + {0x06,0x4F,0x49,0x69,0x3F,0x1E,0x00,0x00}, // 0x39 + {0x00,0x00,0x6C,0x6C,0x00,0x00,0x00,0x00}, // 0x3A + {0x00,0xA0,0xEC,0x6C,0x00,0x00,0x00,0x00}, // 0x3B + {0x08,0x1C,0x36,0x63,0x41,0x00,0x00,0x00}, // 0x3C + {0x14,0x14,0x14,0x14,0x14,0x14,0x00,0x00}, // 0x3D + {0x00,0x41,0x63,0x36,0x1C,0x08,0x00,0x00}, // 0x3E + {0x02,0x03,0x51,0x59,0x0F,0x06,0x00,0x00}, // 0x3F + {0x3E,0x7F,0x41,0x5D,0x5D,0x1F,0x1E,0x00}, // 0x40 + {0x7C,0x7E,0x13,0x13,0x7E,0x7C,0x00,0x00}, // 0x41 + {0x41,0x7F,0x7F,0x49,0x49,0x7F,0x36,0x00}, // 0x42 + {0x1C,0x3E,0x63,0x41,0x41,0x63,0x22,0x00}, // 0x43 + {0x41,0x7F,0x7F,0x41,0x63,0x7F,0x1C,0x00}, // 0x44 + {0x41,0x7F,0x7F,0x49,0x5D,0x41,0x63,0x00}, // 0x45 + {0x41,0x7F,0x7F,0x49,0x1D,0x01,0x03,0x00}, // 0x46 + {0x1C,0x3E,0x63,0x41,0x51,0x73,0x72,0x00}, // 0x47 + {0x7F,0x7F,0x08,0x08,0x7F,0x7F,0x00,0x00}, // 0x48 + {0x00,0x41,0x7F,0x7F,0x41,0x00,0x00,0x00}, // 0x49 + {0x30,0x70,0x40,0x41,0x7F,0x3F,0x01,0x00}, // 0x4A + {0x41,0x7F,0x7F,0x08,0x1C,0x77,0x63,0x00}, // 0x4B + {0x41,0x7F,0x7F,0x41,0x40,0x60,0x70,0x00}, // 0x4C + {0x7F,0x7F,0x06,0x0C,0x06,0x7F,0x7F,0x00}, // 0x4D + {0x7F,0x7F,0x06,0x0C,0x18,0x7F,0x7F,0x00}, // 0x4E + {0x1C,0x3E,0x63,0x41,0x63,0x3E,0x1C,0x00}, // 0x4F + {0x41,0x7F,0x7F,0x49,0x09,0x0F,0x06,0x00}, // 0x50 + {0x1E,0x3F,0x21,0x71,0x7F,0x5E,0x00,0x00}, // 0x51 + {0x41,0x7F,0x7F,0x19,0x39,0x6F,0x46,0x00}, // 0x52 + {0x26,0x67,0x4D,0x59,0x7B,0x32,0x00,0x00}, // 0x53 + {0x03,0x41,0x7F,0x7F,0x41,0x03,0x00,0x00}, // 0x54 + {0x7F,0x7F,0x40,0x40,0x7F,0x7F,0x00,0x00}, // 0x55 + {0x1F,0x3F,0x60,0x60,0x3F,0x1F,0x00,0x00}, // 0x56 + {0x7F,0x7F,0x30,0x18,0x30,0x7F,0x7F,0x00}, // 0x57 + {0x63,0x77,0x1C,0x08,0x1C,0x77,0x63,0x00}, // 0x58 + {0x07,0x4F,0x78,0x78,0x4F,0x07,0x00,0x00}, // 0x59 + {0x67,0x73,0x59,0x4D,0x47,0x63,0x71,0x00}, // 0x5A + {0x00,0x7F,0x7F,0x41,0x41,0x00,0x00,0x00}, // 0x5B + {0x01,0x03,0x06,0x0C,0x18,0x30,0x60,0x00}, // 0x5C + {0x00,0x41,0x41,0x7F,0x7F,0x00,0x00,0x00}, // 0x5D + {0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00}, // 0x5E + {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, // 0x5F + {0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00}, // 0x60 + {0x20,0x74,0x54,0x54,0x3C,0x78,0x40,0x00}, // 0x61 + {0x41,0x3F,0x7F,0x44,0x44,0x7C,0x38,0x00}, // 0x62 + {0x38,0x7C,0x44,0x44,0x6C,0x28,0x00,0x00}, // 0x63 + {0x30,0x78,0x48,0x49,0x3F,0x7F,0x40,0x00}, // 0x64 + {0x38,0x7C,0x54,0x54,0x5C,0x18,0x00,0x00}, // 0x65 + {0x48,0x7E,0x7F,0x49,0x03,0x02,0x00,0x00}, // 0x66 + {0x98,0xBC,0xA4,0xA4,0xF8,0x7C,0x04,0x00}, // 0x67 + {0x41,0x7F,0x7F,0x08,0x04,0x7C,0x78,0x00}, // 0x68 + {0x00,0x44,0x7D,0x7D,0x40,0x00,0x00,0x00}, // 0x69 + {0x40,0xC4,0x84,0xFD,0x7D,0x00,0x00,0x00}, // 0x6A + {0x41,0x7F,0x7F,0x10,0x38,0x6C,0x44,0x00}, // 0x6B + {0x00,0x41,0x7F,0x7F,0x40,0x00,0x00,0x00}, // 0x6C + {0x7C,0x7C,0x0C,0x18,0x0C,0x7C,0x78,0x00}, // 0x6D + {0x7C,0x7C,0x04,0x04,0x7C,0x78,0x00,0x00}, // 0x6E + {0x38,0x7C,0x44,0x44,0x7C,0x38,0x00,0x00}, // 0x6F + {0x84,0xFC,0xF8,0xA4,0x24,0x3C,0x18,0x00}, // 0x70 + {0x18,0x3C,0x24,0xA4,0xF8,0xFC,0x84,0x00}, // 0x71 + {0x44,0x7C,0x78,0x44,0x1C,0x18,0x00,0x00}, // 0x72 + {0x48,0x5C,0x54,0x54,0x74,0x24,0x00,0x00}, // 0x73 + {0x00,0x04,0x3E,0x7F,0x44,0x24,0x00,0x00}, // 0x74 + {0x3C,0x7C,0x40,0x40,0x3C,0x7C,0x40,0x00}, // 0x75 + {0x1C,0x3C,0x60,0x60,0x3C,0x1C,0x00,0x00}, // 0x76 + {0x3C,0x7C,0x60,0x30,0x60,0x7C,0x3C,0x00}, // 0x77 + {0x44,0x6C,0x38,0x10,0x38,0x6C,0x44,0x00}, // 0x78 + {0x9C,0xBC,0xA0,0xA0,0xFC,0x7C,0x00,0x00}, // 0x79 + {0x4C,0x64,0x74,0x5C,0x4C,0x64,0x00,0x00}, // 0x7A + {0x08,0x08,0x3E,0x77,0x41,0x41,0x00,0x00}, // 0x7B + {0x00,0x00,0x00,0x77,0x77,0x00,0x00,0x00}, // 0x7C + {0x41,0x41,0x77,0x3E,0x08,0x08,0x00,0x00}, // 0x7D + {0x02,0x03,0x01,0x03,0x02,0x03,0x01,0x00}, // 0x7E + {0x78,0x7C,0x46,0x43,0x46,0x7C,0x78,0x00}, // 0x7F + }; + +#endif