10# include <avr/pgmspace.h>
15const char ssd1306oled_font[][6] PROGMEM = {
16 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
17 {0x00, 0x00, 0x00, 0x2f, 0x00, 0x00},
18 {0x00, 0x00, 0x07, 0x00, 0x07, 0x00},
19 {0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14},
20 {0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12},
21 {0x00, 0x62, 0x64, 0x08, 0x13, 0x23},
22 {0x00, 0x36, 0x49, 0x55, 0x22, 0x50},
23 {0x00, 0x00, 0x05, 0x03, 0x00, 0x00},
24 {0x00, 0x00, 0x1c, 0x22, 0x41, 0x00},
25 {0x00, 0x00, 0x41, 0x22, 0x1c, 0x00},
26 {0x00, 0x14, 0x08, 0x3E, 0x08, 0x14},
27 {0x00, 0x08, 0x08, 0x3E, 0x08, 0x08},
28 {0x00, 0x00, 0x00, 0xA0, 0x60, 0x00},
29 {0x00, 0x08, 0x08, 0x08, 0x08, 0x08},
30 {0x00, 0x00, 0x60, 0x60, 0x00, 0x00},
31 {0x00, 0x20, 0x10, 0x08, 0x04, 0x02},
32 {0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E},
33 {0x00, 0x00, 0x42, 0x7F, 0x40, 0x00},
34 {0x00, 0x42, 0x61, 0x51, 0x49, 0x46},
35 {0x00, 0x21, 0x41, 0x45, 0x4B, 0x31},
36 {0x00, 0x18, 0x14, 0x12, 0x7F, 0x10},
37 {0x00, 0x27, 0x45, 0x45, 0x45, 0x39},
38 {0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30},
39 {0x00, 0x01, 0x71, 0x09, 0x05, 0x03},
40 {0x00, 0x36, 0x49, 0x49, 0x49, 0x36},
41 {0x00, 0x06, 0x49, 0x49, 0x29, 0x1E},
42 {0x00, 0x00, 0x36, 0x36, 0x00, 0x00},
43 {0x00, 0x00, 0x56, 0x36, 0x00, 0x00},
44 {0x00, 0x08, 0x14, 0x22, 0x41, 0x00},
45 {0x00, 0x14, 0x14, 0x14, 0x14, 0x14},
46 {0x00, 0x00, 0x41, 0x22, 0x14, 0x08},
47 {0x00, 0x02, 0x01, 0x51, 0x09, 0x06},
48 {0x00, 0x32, 0x49, 0x59, 0x51, 0x3E},
49 {0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C},
50 {0x00, 0x7F, 0x49, 0x49, 0x49, 0x36},
51 {0x00, 0x3E, 0x41, 0x41, 0x41, 0x22},
52 {0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C},
53 {0x00, 0x7F, 0x49, 0x49, 0x49, 0x41},
54 {0x00, 0x7F, 0x09, 0x09, 0x09, 0x01},
55 {0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A},
56 {0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F},
57 {0x00, 0x00, 0x41, 0x7F, 0x41, 0x00},
58 {0x00, 0x20, 0x40, 0x41, 0x3F, 0x01},
59 {0x00, 0x7F, 0x08, 0x14, 0x22, 0x41},
60 {0x00, 0x7F, 0x40, 0x40, 0x40, 0x40},
61 {0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F},
62 {0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F},
63 {0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E},
64 {0x00, 0x7F, 0x09, 0x09, 0x09, 0x06},
65 {0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E},
66 {0x00, 0x7F, 0x09, 0x19, 0x29, 0x46},
67 {0x00, 0x46, 0x49, 0x49, 0x49, 0x31},
68 {0x00, 0x01, 0x01, 0x7F, 0x01, 0x01},
69 {0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F},
70 {0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F},
71 {0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F},
72 {0x00, 0x63, 0x14, 0x08, 0x14, 0x63},
73 {0x00, 0x07, 0x08, 0x70, 0x08, 0x07},
74 {0x00, 0x61, 0x51, 0x49, 0x45, 0x43},
75 {0x00, 0x00, 0x7F, 0x41, 0x41, 0x00},
76 {0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55},
77 {0x00, 0x00, 0x41, 0x41, 0x7F, 0x00},
78 {0x00, 0x04, 0x02, 0x01, 0x02, 0x04},
79 {0x00, 0x40, 0x40, 0x40, 0x40, 0x40},
80 {0x00, 0x00, 0x01, 0x02, 0x04, 0x00},
81 {0x00, 0x20, 0x54, 0x54, 0x54, 0x78},
82 {0x00, 0x7F, 0x48, 0x44, 0x44, 0x38},
83 {0x00, 0x38, 0x44, 0x44, 0x44, 0x20},
84 {0x00, 0x38, 0x44, 0x44, 0x48, 0x7F},
85 {0x00, 0x38, 0x54, 0x54, 0x54, 0x18},
86 {0x00, 0x08, 0x7E, 0x09, 0x01, 0x02},
87 {0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C},
88 {0x00, 0x7F, 0x08, 0x04, 0x04, 0x78},
89 {0x00, 0x00, 0x44, 0x7D, 0x40, 0x00},
90 {0x00, 0x40, 0x80, 0x84, 0x7D, 0x00},
91 {0x00, 0x7F, 0x10, 0x28, 0x44, 0x00},
92 {0x00, 0x00, 0x41, 0x7F, 0x40, 0x00},
93 {0x00, 0x7C, 0x04, 0x18, 0x04, 0x78},
94 {0x00, 0x7C, 0x08, 0x04, 0x04, 0x78},
95 {0x00, 0x38, 0x44, 0x44, 0x44, 0x38},
96 {0x00, 0xFC, 0x24, 0x24, 0x24, 0x18},
97 {0x00, 0x18, 0x24, 0x24, 0x18, 0xFC},
98 {0x00, 0x7C, 0x08, 0x04, 0x04, 0x08},
99 {0x00, 0x48, 0x54, 0x54, 0x54, 0x20},
100 {0x00, 0x04, 0x3F, 0x44, 0x40, 0x20},
101 {0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C},
102 {0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C},
103 {0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C},
104 {0x00, 0x44, 0x28, 0x10, 0x28, 0x44},
105 {0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C},
106 {0x00, 0x44, 0x64, 0x54, 0x4C, 0x44},
107 {0x00, 0x00, 0x08, 0x77, 0x41, 0x00},
108 {0x00, 0x00, 0x00, 0x63, 0x00, 0x00},
109 {0x00, 0x00, 0x41, 0x77, 0x08, 0x00},
110 {0x00, 0x08, 0x04, 0x08, 0x08, 0x04},
114 {0x00, 0x3A, 0x40, 0x40, 0x20, 0x7A},
115 {0x00, 0x3D, 0x40, 0x40, 0x40, 0x3D},
116 {0x00, 0x21, 0x54, 0x54, 0x54, 0x79},
117 {0x00, 0x7D, 0x12, 0x11, 0x12, 0x7D},
118 {0x00, 0x39, 0x44, 0x44, 0x44, 0x39},
119 {0x00, 0x3D, 0x42, 0x42, 0x42, 0x3D},
120 {0x00, 0x02, 0x05, 0x02, 0x00, 0x00},
121 {0x00, 0x7E, 0x01, 0x49, 0x55, 0x73},
122 {0x00, 0x7C, 0x10, 0x10, 0x08, 0x1C},
123 {0x00, 0x30, 0x48, 0x20, 0x48, 0x30},
124 {0x00, 0x5C, 0x62, 0x02, 0x62, 0x5C}
127const char special_char[][2] PROGMEM = {