Senzory 1.0
font.h
1/*
2 * font.h
3 *
4 * Created by Michael Köhler on 13.09.18.
5 * Copyright 2018 Skie-Systems. All rights reserved.
6 *
7 */
8#ifndef _font_h_
9# define _font_h_
10# include <avr/pgmspace.h>
11
12// extern const char ssd1306oled_font[][6] PROGMEM;
13// extern const char special_char[][2] PROGMEM;
14
15const char ssd1306oled_font[][6] PROGMEM = {
16 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // sp
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}, // 0
33 {0x00, 0x00, 0x42, 0x7F, 0x40, 0x00}, // 1
34 {0x00, 0x42, 0x61, 0x51, 0x49, 0x46}, // 2
35 {0x00, 0x21, 0x41, 0x45, 0x4B, 0x31}, // 3
36 {0x00, 0x18, 0x14, 0x12, 0x7F, 0x10}, // 4
37 {0x00, 0x27, 0x45, 0x45, 0x45, 0x39}, // 5
38 {0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30}, // 6
39 {0x00, 0x01, 0x71, 0x09, 0x05, 0x03}, // 7
40 {0x00, 0x36, 0x49, 0x49, 0x49, 0x36}, // 8
41 {0x00, 0x06, 0x49, 0x49, 0x29, 0x1E}, // 9
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}, // A
50 {0x00, 0x7F, 0x49, 0x49, 0x49, 0x36}, // B
51 {0x00, 0x3E, 0x41, 0x41, 0x41, 0x22}, // C
52 {0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C}, // D
53 {0x00, 0x7F, 0x49, 0x49, 0x49, 0x41}, // E
54 {0x00, 0x7F, 0x09, 0x09, 0x09, 0x01}, // F
55 {0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A}, // G
56 {0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F}, // H
57 {0x00, 0x00, 0x41, 0x7F, 0x41, 0x00}, // I
58 {0x00, 0x20, 0x40, 0x41, 0x3F, 0x01}, // J
59 {0x00, 0x7F, 0x08, 0x14, 0x22, 0x41}, // K
60 {0x00, 0x7F, 0x40, 0x40, 0x40, 0x40}, // L
61 {0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F}, // M
62 {0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F}, // N
63 {0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E}, // O
64 {0x00, 0x7F, 0x09, 0x09, 0x09, 0x06}, // P
65 {0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E}, // Q
66 {0x00, 0x7F, 0x09, 0x19, 0x29, 0x46}, // R
67 {0x00, 0x46, 0x49, 0x49, 0x49, 0x31}, // S
68 {0x00, 0x01, 0x01, 0x7F, 0x01, 0x01}, // T
69 {0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F}, // U
70 {0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F}, // V
71 {0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F}, // W
72 {0x00, 0x63, 0x14, 0x08, 0x14, 0x63}, // X
73 {0x00, 0x07, 0x08, 0x70, 0x08, 0x07}, // Y
74 {0x00, 0x61, 0x51, 0x49, 0x45, 0x43}, // Z
75 {0x00, 0x00, 0x7F, 0x41, 0x41, 0x00}, // [
76 {0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55}, // backslash
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}, // a
82 {0x00, 0x7F, 0x48, 0x44, 0x44, 0x38}, // b
83 {0x00, 0x38, 0x44, 0x44, 0x44, 0x20}, // c
84 {0x00, 0x38, 0x44, 0x44, 0x48, 0x7F}, // d
85 {0x00, 0x38, 0x54, 0x54, 0x54, 0x18}, // e
86 {0x00, 0x08, 0x7E, 0x09, 0x01, 0x02}, // f
87 {0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C}, // g
88 {0x00, 0x7F, 0x08, 0x04, 0x04, 0x78}, // h
89 {0x00, 0x00, 0x44, 0x7D, 0x40, 0x00}, // i
90 {0x00, 0x40, 0x80, 0x84, 0x7D, 0x00}, // j
91 {0x00, 0x7F, 0x10, 0x28, 0x44, 0x00}, // k
92 {0x00, 0x00, 0x41, 0x7F, 0x40, 0x00}, // l
93 {0x00, 0x7C, 0x04, 0x18, 0x04, 0x78}, // m
94 {0x00, 0x7C, 0x08, 0x04, 0x04, 0x78}, // n
95 {0x00, 0x38, 0x44, 0x44, 0x44, 0x38}, // o
96 {0x00, 0xFC, 0x24, 0x24, 0x24, 0x18}, // p
97 {0x00, 0x18, 0x24, 0x24, 0x18, 0xFC}, // q
98 {0x00, 0x7C, 0x08, 0x04, 0x04, 0x08}, // r
99 {0x00, 0x48, 0x54, 0x54, 0x54, 0x20}, // s
100 {0x00, 0x04, 0x3F, 0x44, 0x40, 0x20}, // t
101 {0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C}, // u
102 {0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C}, // v
103 {0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C}, // w
104 {0x00, 0x44, 0x28, 0x10, 0x28, 0x44}, // x
105 {0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C}, // y
106 {0x00, 0x44, 0x64, 0x54, 0x4C, 0x44}, // z
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}, // ~
111 /* end of normal char-set */
112 /* put your own signs/chars here, edit special_char too */
113 /* be sure that your first special char stand here */
114 {0x00, 0x3A, 0x40, 0x40, 0x20, 0x7A}, // ü, !!! Important: this must be special_char[0] !!!
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} // Ω
125};
126
127const char special_char[][2] PROGMEM = {
128 // define position of special char in font
129 // {special char, position in font}
130 // be sure that last element of this
131 // array are {0xff, 0xff} and first element
132 // are {first special char, first element after normal char-set in font}
133 {'ü', 95}, // special_char[0]
134 {'Ü', 96},
135 {'ä', 97},
136 {'Ä', 98},
137 {'ö', 99},
138 {'Ö', 100},
139 {'°', 101},
140 {'ß', 102},
141 {'µ', 103},
142 {'ω', 104},
143 {'Ω', 105},
144 {0xff, 0xff} // end of table special_char
145};
146
147#endif