This commit is contained in:
liuyihui 2022-01-08 18:32:31 +08:00
commit 0276c35750
13 changed files with 1303 additions and 0 deletions

8
.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
.pio
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/ipch
*.code-workspace
tool.py

7
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
]
}

8
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,8 @@
{
"files.associations": {
"algorithm": "cpp",
"atomic": "cpp",
"*.tcc": "cpp",
"ostream": "cpp"
}
}

0
include/.gitkeep Normal file
View File

856
lib/image/font.h Normal file
View File

@ -0,0 +1,856 @@
// Created by http://oleddisplay.squix.ch/ Consider a donation
// In case of problems make sure that you are using the font file with the correct version!
#ifndef __FONT__
#define __FONT__
#include <sys/pgmspace.h>
const unsigned char Roboto_Mono_13[] PROGMEM = {
0x08, // Width: 8
0x11, // Height: 17
0x20, // First Char: 32
0xE0, // Numbers of Chars: 224
// Jump Table:
0xFF, 0xFF, 0x00, 0x08, // 32:65535
0x00, 0x00, 0x0E, 0x08, // 33:0
0x00, 0x0E, 0x0D, 0x08, // 34:14
0x00, 0x1B, 0x14, 0x08, // 35:27
0x00, 0x2F, 0x14, 0x08, // 36:47
0x00, 0x43, 0x17, 0x08, // 37:67
0x00, 0x5A, 0x17, 0x08, // 38:90
0x00, 0x71, 0x0A, 0x08, // 39:113
0x00, 0x7B, 0x11, 0x08, // 40:123
0x00, 0x8C, 0x0E, 0x08, // 41:140
0x00, 0x9A, 0x13, 0x08, // 42:154
0x00, 0xAD, 0x14, 0x08, // 43:173
0x00, 0xC1, 0x0B, 0x08, // 44:193
0x00, 0xCC, 0x11, 0x08, // 45:204
0x00, 0xDD, 0x0E, 0x08, // 46:221
0x00, 0xEB, 0x13, 0x08, // 47:235
0x00, 0xFE, 0x14, 0x08, // 48:254
0x01, 0x12, 0x0E, 0x08, // 49:274
0x01, 0x20, 0x14, 0x08, // 50:288
0x01, 0x34, 0x11, 0x08, // 51:308
0x01, 0x45, 0x14, 0x08, // 52:325
0x01, 0x59, 0x14, 0x08, // 53:345
0x01, 0x6D, 0x14, 0x08, // 54:365
0x01, 0x81, 0x13, 0x08, // 55:385
0x01, 0x94, 0x14, 0x08, // 56:404
0x01, 0xA8, 0x14, 0x08, // 57:424
0x01, 0xBC, 0x0E, 0x08, // 58:444
0x01, 0xCA, 0x0E, 0x08, // 59:458
0x01, 0xD8, 0x11, 0x08, // 60:472
0x01, 0xE9, 0x14, 0x08, // 61:489
0x01, 0xFD, 0x14, 0x08, // 62:509
0x02, 0x11, 0x13, 0x08, // 63:529
0x02, 0x24, 0x14, 0x08, // 64:548
0x02, 0x38, 0x14, 0x08, // 65:568
0x02, 0x4C, 0x14, 0x08, // 66:588
0x02, 0x60, 0x14, 0x08, // 67:608
0x02, 0x74, 0x14, 0x08, // 68:628
0x02, 0x88, 0x14, 0x08, // 69:648
0x02, 0x9C, 0x13, 0x08, // 70:668
0x02, 0xAF, 0x14, 0x08, // 71:687
0x02, 0xC3, 0x14, 0x08, // 72:707
0x02, 0xD7, 0x14, 0x08, // 73:727
0x02, 0xEB, 0x14, 0x08, // 74:747
0x02, 0xFF, 0x17, 0x08, // 75:767
0x03, 0x16, 0x14, 0x08, // 76:790
0x03, 0x2A, 0x14, 0x08, // 77:810
0x03, 0x3E, 0x14, 0x08, // 78:830
0x03, 0x52, 0x14, 0x08, // 79:850
0x03, 0x66, 0x13, 0x08, // 80:870
0x03, 0x79, 0x14, 0x08, // 81:889
0x03, 0x8D, 0x14, 0x08, // 82:909
0x03, 0xA1, 0x14, 0x08, // 83:929
0x03, 0xB5, 0x13, 0x08, // 84:949
0x03, 0xC8, 0x14, 0x08, // 85:968
0x03, 0xDC, 0x13, 0x08, // 86:988
0x03, 0xEF, 0x16, 0x08, // 87:1007
0x04, 0x05, 0x14, 0x08, // 88:1029
0x04, 0x19, 0x13, 0x08, // 89:1049
0x04, 0x2C, 0x14, 0x08, // 90:1068
0x04, 0x40, 0x0E, 0x08, // 91:1088
0x04, 0x4E, 0x11, 0x08, // 92:1102
0x04, 0x5F, 0x0E, 0x08, // 93:1119
0x04, 0x6D, 0x11, 0x08, // 94:1133
0x04, 0x7E, 0x14, 0x08, // 95:1150
0x04, 0x92, 0x0D, 0x08, // 96:1170
0x04, 0x9F, 0x14, 0x08, // 97:1183
0x04, 0xB3, 0x14, 0x08, // 98:1203
0x04, 0xC7, 0x14, 0x08, // 99:1223
0x04, 0xDB, 0x14, 0x08, // 100:1243
0x04, 0xEF, 0x14, 0x08, // 101:1263
0x05, 0x03, 0x13, 0x08, // 102:1283
0x05, 0x16, 0x14, 0x08, // 103:1302
0x05, 0x2A, 0x14, 0x08, // 104:1322
0x05, 0x3E, 0x14, 0x08, // 105:1342
0x05, 0x52, 0x0E, 0x08, // 106:1362
0x05, 0x60, 0x14, 0x08, // 107:1376
0x05, 0x74, 0x14, 0x08, // 108:1396
0x05, 0x88, 0x14, 0x08, // 109:1416
0x05, 0x9C, 0x14, 0x08, // 110:1436
0x05, 0xB0, 0x14, 0x08, // 111:1456
0x05, 0xC4, 0x14, 0x08, // 112:1476
0x05, 0xD8, 0x14, 0x08, // 113:1496
0x05, 0xEC, 0x13, 0x08, // 114:1516
0x05, 0xFF, 0x14, 0x08, // 115:1535
0x06, 0x13, 0x14, 0x08, // 116:1555
0x06, 0x27, 0x14, 0x08, // 117:1575
0x06, 0x3B, 0x13, 0x08, // 118:1595
0x06, 0x4E, 0x16, 0x08, // 119:1614
0x06, 0x64, 0x14, 0x08, // 120:1636
0x06, 0x78, 0x13, 0x08, // 121:1656
0x06, 0x8B, 0x14, 0x08, // 122:1675
0x06, 0x9F, 0x11, 0x08, // 123:1695
0x06, 0xB0, 0x0B, 0x08, // 124:1712
0x06, 0xBB, 0x11, 0x08, // 125:1723
0x06, 0xCC, 0x14, 0x08, // 126:1740
0xFF, 0xFF, 0x00, 0x08, // 127:65535
0xFF, 0xFF, 0x00, 0x08, // 128:65535
0xFF, 0xFF, 0x00, 0x08, // 129:65535
0xFF, 0xFF, 0x00, 0x08, // 130:65535
0xFF, 0xFF, 0x00, 0x08, // 131:65535
0xFF, 0xFF, 0x00, 0x08, // 132:65535
0xFF, 0xFF, 0x00, 0x08, // 133:65535
0xFF, 0xFF, 0x00, 0x08, // 134:65535
0xFF, 0xFF, 0x00, 0x08, // 135:65535
0xFF, 0xFF, 0x00, 0x08, // 136:65535
0xFF, 0xFF, 0x00, 0x08, // 137:65535
0xFF, 0xFF, 0x00, 0x08, // 138:65535
0xFF, 0xFF, 0x00, 0x08, // 139:65535
0xFF, 0xFF, 0x00, 0x08, // 140:65535
0xFF, 0xFF, 0x00, 0x08, // 141:65535
0xFF, 0xFF, 0x00, 0x08, // 142:65535
0xFF, 0xFF, 0x00, 0x08, // 143:65535
0xFF, 0xFF, 0x00, 0x08, // 144:65535
0xFF, 0xFF, 0x00, 0x08, // 145:65535
0xFF, 0xFF, 0x00, 0x08, // 146:65535
0xFF, 0xFF, 0x00, 0x08, // 147:65535
0xFF, 0xFF, 0x00, 0x08, // 148:65535
0xFF, 0xFF, 0x00, 0x08, // 149:65535
0xFF, 0xFF, 0x00, 0x08, // 150:65535
0xFF, 0xFF, 0x00, 0x08, // 151:65535
0xFF, 0xFF, 0x00, 0x08, // 152:65535
0xFF, 0xFF, 0x00, 0x08, // 153:65535
0xFF, 0xFF, 0x00, 0x08, // 154:65535
0xFF, 0xFF, 0x00, 0x08, // 155:65535
0xFF, 0xFF, 0x00, 0x08, // 156:65535
0xFF, 0xFF, 0x00, 0x08, // 157:65535
0xFF, 0xFF, 0x00, 0x08, // 158:65535
0xFF, 0xFF, 0x00, 0x08, // 159:65535
0xFF, 0xFF, 0x00, 0x08, // 160:65535
0x06, 0xE0, 0x0D, 0x08, // 161:1760
0x06, 0xED, 0x14, 0x08, // 162:1773
0x07, 0x01, 0x14, 0x08, // 163:1793
0x07, 0x15, 0x14, 0x08, // 164:1813
0x07, 0x29, 0x16, 0x08, // 165:1833
0x07, 0x3F, 0x0B, 0x08, // 166:1855
0x07, 0x4A, 0x14, 0x08, // 167:1866
0x07, 0x5E, 0x10, 0x08, // 168:1886
0x07, 0x6E, 0x14, 0x08, // 169:1902
0x07, 0x82, 0x11, 0x08, // 170:1922
0x07, 0x93, 0x11, 0x08, // 171:1939
0x07, 0xA4, 0x11, 0x08, // 172:1956
0x07, 0xB5, 0x11, 0x08, // 173:1973
0x07, 0xC6, 0x14, 0x08, // 174:1990
0x07, 0xDA, 0x10, 0x08, // 175:2010
0x07, 0xEA, 0x10, 0x08, // 176:2026
0x07, 0xFA, 0x14, 0x08, // 177:2042
0x08, 0x0E, 0x11, 0x08, // 178:2062
0x08, 0x1F, 0x10, 0x08, // 179:2079
0x08, 0x2F, 0x0D, 0x08, // 180:2095
0x08, 0x3C, 0x14, 0x08, // 181:2108
0x08, 0x50, 0x11, 0x08, // 182:2128
0x08, 0x61, 0x0E, 0x08, // 183:2145
0x08, 0x6F, 0x0E, 0x08, // 184:2159
0x08, 0x7D, 0x0E, 0x08, // 185:2173
0x08, 0x8B, 0x10, 0x08, // 186:2187
0x08, 0x9B, 0x11, 0x08, // 187:2203
0x08, 0xAC, 0x14, 0x08, // 188:2220
0x08, 0xC0, 0x14, 0x08, // 189:2240
0x08, 0xD4, 0x14, 0x08, // 190:2260
0x08, 0xE8, 0x14, 0x08, // 191:2280
0x08, 0xFC, 0x14, 0x08, // 192:2300
0x09, 0x10, 0x14, 0x08, // 193:2320
0x09, 0x24, 0x14, 0x08, // 194:2340
0x09, 0x38, 0x14, 0x08, // 195:2360
0x09, 0x4C, 0x14, 0x08, // 196:2380
0x09, 0x60, 0x14, 0x08, // 197:2400
0x09, 0x74, 0x17, 0x08, // 198:2420
0x09, 0x8B, 0x14, 0x08, // 199:2443
0x09, 0x9F, 0x14, 0x08, // 200:2463
0x09, 0xB3, 0x14, 0x08, // 201:2483
0x09, 0xC7, 0x14, 0x08, // 202:2503
0x09, 0xDB, 0x14, 0x08, // 203:2523
0x09, 0xEF, 0x14, 0x08, // 204:2543
0x0A, 0x03, 0x14, 0x08, // 205:2563
0x0A, 0x17, 0x14, 0x08, // 206:2583
0x0A, 0x2B, 0x14, 0x08, // 207:2603
0x0A, 0x3F, 0x14, 0x08, // 208:2623
0x0A, 0x53, 0x14, 0x08, // 209:2643
0x0A, 0x67, 0x14, 0x08, // 210:2663
0x0A, 0x7B, 0x14, 0x08, // 211:2683
0x0A, 0x8F, 0x14, 0x08, // 212:2703
0x0A, 0xA3, 0x14, 0x08, // 213:2723
0x0A, 0xB7, 0x14, 0x08, // 214:2743
0x0A, 0xCB, 0x14, 0x08, // 215:2763
0x0A, 0xDF, 0x14, 0x08, // 216:2783
0x0A, 0xF3, 0x14, 0x08, // 217:2803
0x0B, 0x07, 0x14, 0x08, // 218:2823
0x0B, 0x1B, 0x14, 0x08, // 219:2843
0x0B, 0x2F, 0x14, 0x08, // 220:2863
0x0B, 0x43, 0x13, 0x08, // 221:2883
0x0B, 0x56, 0x14, 0x08, // 222:2902
0x0B, 0x6A, 0x14, 0x08, // 223:2922
0x0B, 0x7E, 0x14, 0x08, // 224:2942
0x0B, 0x92, 0x14, 0x08, // 225:2962
0x0B, 0xA6, 0x14, 0x08, // 226:2982
0x0B, 0xBA, 0x14, 0x08, // 227:3002
0x0B, 0xCE, 0x14, 0x08, // 228:3022
0x0B, 0xE2, 0x14, 0x08, // 229:3042
0x0B, 0xF6, 0x17, 0x08, // 230:3062
0x0C, 0x0D, 0x14, 0x08, // 231:3085
0x0C, 0x21, 0x14, 0x08, // 232:3105
0x0C, 0x35, 0x14, 0x08, // 233:3125
0x0C, 0x49, 0x14, 0x08, // 234:3145
0x0C, 0x5D, 0x14, 0x08, // 235:3165
0x0C, 0x71, 0x14, 0x08, // 236:3185
0x0C, 0x85, 0x14, 0x08, // 237:3205
0x0C, 0x99, 0x14, 0x08, // 238:3225
0x0C, 0xAD, 0x14, 0x08, // 239:3245
0x0C, 0xC1, 0x14, 0x08, // 240:3265
0x0C, 0xD5, 0x14, 0x08, // 241:3285
0x0C, 0xE9, 0x14, 0x08, // 242:3305
0x0C, 0xFD, 0x14, 0x08, // 243:3325
0x0D, 0x11, 0x14, 0x08, // 244:3345
0x0D, 0x25, 0x14, 0x08, // 245:3365
0x0D, 0x39, 0x14, 0x08, // 246:3385
0x0D, 0x4D, 0x14, 0x08, // 247:3405
0x0D, 0x61, 0x14, 0x08, // 248:3425
0x0D, 0x75, 0x14, 0x08, // 249:3445
0x0D, 0x89, 0x14, 0x08, // 250:3465
0x0D, 0x9D, 0x14, 0x08, // 251:3485
0x0D, 0xB1, 0x14, 0x08, // 252:3505
0x0D, 0xC5, 0x13, 0x08, // 253:3525
0x0D, 0xD8, 0x14, 0x08, // 254:3544
0x0D, 0xEC, 0x13, 0x08, // 255:3564
// Font Data:
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x13,0x00,0x00,0x10, // 33
0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x38, // 34
0x00,0x02,0x00,0x40,0x12,0x00,0xC0,0x0F,0x00,0x70,0x02,0x00,0x40,0x1E,0x00,0xE0,0x03,0x00,0x50,0x02, // 35
0x00,0x00,0x00,0x60,0x0C,0x00,0xF0,0x18,0x00,0x88,0x10,0x00,0x8C,0x31,0x00,0x10,0x1B,0x00,0x20,0x0E, // 36
0x60,0x00,0x00,0x90,0x00,0x00,0x90,0x0C,0x00,0x60,0x03,0x00,0x80,0x0C,0x00,0x60,0x12,0x00,0x00,0x12,0x00,0x00,0x0C, // 37
0x00,0x00,0x00,0x40,0x0E,0x00,0xF0,0x13,0x00,0x90,0x13,0x00,0x90,0x16,0x00,0x60,0x0C,0x00,0x00,0x16,0x00,0x00,0x10, // 38
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38, // 39
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0xE0,0x38,0x00,0x18,0x40,0x00,0x08,0x80, // 40
0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x80,0x00,0x10,0x60,0x00,0xE0,0x1F, // 41
0x00,0x00,0x00,0x80,0x00,0x00,0x80,0x04,0x00,0x00,0x03,0x00,0xE0,0x03,0x00,0x80,0x04,0x00,0x80, // 42
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x01,0x00,0x00,0x01, // 43
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x70, // 44
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01, // 45
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x18, // 46
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x70,0x00,0x00,0x10, // 47
0x00,0x00,0x00,0xE0,0x0F,0x00,0x30,0x1A,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0xB0,0x18,0x00,0xE0,0x0F, // 48
0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x10,0x00,0x00,0xF0,0x1F, // 49
0x00,0x00,0x00,0x60,0x18,0x00,0x10,0x1C,0x00,0x10,0x16,0x00,0x10,0x13,0x00,0xE0,0x10,0x00,0x00,0x10, // 50
0x00,0x00,0x00,0x20,0x08,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0xE0,0x0E, // 51
0x00,0x04,0x00,0x00,0x06,0x00,0x80,0x05,0x00,0x40,0x04,0x00,0x30,0x04,0x00,0xF0,0x1F,0x00,0x00,0x04, // 52
0x00,0x00,0x00,0x00,0x0C,0x00,0xF0,0x19,0x00,0x90,0x10,0x00,0x90,0x10,0x00,0x90,0x19,0x00,0x10,0x0F, // 53
0x00,0x00,0x00,0xC0,0x0F,0x00,0x20,0x19,0x00,0x90,0x10,0x00,0x90,0x10,0x00,0x80,0x19,0x00,0x00,0x06, // 54
0x00,0x00,0x00,0x10,0x00,0x00,0x10,0x10,0x00,0x10,0x0C,0x00,0x10,0x03,0x00,0xF0,0x00,0x00,0x30, // 55
0x00,0x00,0x00,0x40,0x0E,0x00,0xF0,0x1A,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0xB0,0x1A,0x00,0xE0,0x0E, // 56
0x00,0x00,0x00,0xE0,0x01,0x00,0x30,0x13,0x00,0x10,0x12,0x00,0x10,0x1A,0x00,0x60,0x0D,0x00,0xC0,0x03, // 57
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x00,0x60,0x18, // 58
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x80,0x00,0x60,0x70, // 59
0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x80,0x02,0x00,0x80,0x04,0x00,0xC0,0x0C, // 60
0x00,0x00,0x00,0x80,0x04,0x00,0x80,0x04,0x00,0x80,0x04,0x00,0x80,0x04,0x00,0x80,0x04,0x00,0x80,0x04, // 61
0x00,0x00,0x00,0x40,0x0C,0x00,0x80,0x04,0x00,0x80,0x04,0x00,0x80,0x02,0x00,0x00,0x03,0x00,0x00,0x01, // 62
0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x10,0x16,0x00,0x10,0x13,0x00,0xF0,0x01,0x00,0x60, // 63
0x80,0x03,0x00,0x60,0x0C,0x00,0xB0,0x17,0x00,0x50,0x14,0x00,0x50,0x13,0x00,0x90,0x14,0x00,0xE0,0x07, // 64
0x00,0x00,0x00,0x00,0x1C,0x00,0x80,0x03,0x00,0x70,0x02,0x00,0x70,0x02,0x00,0x80,0x03,0x00,0x00,0x1C, // 65
0x00,0x00,0x00,0xF0,0x1F,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0xB0,0x11,0x00,0xE0,0x0E, // 66
0x00,0x00,0x00,0xE0,0x0F,0x00,0x30,0x18,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0x30,0x18,0x00,0x60,0x0C, // 67
0x00,0x00,0x00,0xF0,0x1F,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0x20,0x08,0x00,0xC0,0x07, // 68
0x00,0x00,0x00,0xF0,0x1F,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x10,0x10, // 69
0x00,0x00,0x00,0xF0,0x1F,0x00,0x10,0x01,0x00,0x10,0x01,0x00,0x10,0x01,0x00,0x10,0x01,0x00,0x10, // 70
0x00,0x00,0x00,0xE0,0x0F,0x00,0x30,0x18,0x00,0x10,0x10,0x00,0x10,0x11,0x00,0x30,0x11,0x00,0x20,0x0F, // 71
0x00,0x00,0x00,0xF0,0x1F,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0xF0,0x1F, // 72
0x00,0x00,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0xF0,0x1F,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0x10,0x10, // 73
0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0xF0,0x0F,0x00,0xF0,0x07, // 74
0x00,0x00,0x00,0xF0,0x1F,0x00,0x00,0x03,0x00,0x80,0x01,0x00,0x40,0x06,0x00,0x30,0x0C,0x00,0x10,0x18,0x00,0x00,0x10, // 75
0x00,0x00,0x00,0xF0,0x1F,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10, // 76
0x00,0x00,0x00,0xF0,0x1F,0x00,0x70,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x70,0x00,0x00,0xF0,0x1F, // 77
0x00,0x00,0x00,0xF0,0x1F,0x00,0x60,0x00,0x00,0x80,0x01,0x00,0x00,0x06,0x00,0x00,0x1C,0x00,0xF0,0x1F, // 78
0x00,0x00,0x00,0xE0,0x0F,0x00,0x30,0x18,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0x30,0x18,0x00,0xC0,0x07, // 79
0x00,0x00,0x00,0xF0,0x1F,0x00,0x10,0x01,0x00,0x10,0x01,0x00,0x10,0x01,0x00,0x10,0x01,0x00,0xE0, // 80
0x00,0x00,0x00,0xE0,0x0F,0x00,0x30,0x18,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0x30,0x38,0x00,0xE0,0x2F, // 81
0x00,0x00,0x00,0xF0,0x1F,0x00,0x10,0x01,0x00,0x10,0x01,0x00,0x10,0x03,0x00,0xB0,0x0F,0x00,0xE0,0x18, // 82
0x00,0x00,0x00,0xE0,0x0C,0x00,0xB0,0x18,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x30,0x13,0x00,0x60,0x0E, // 83
0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0xF0,0x1F,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10, // 84
0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x18,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x18,0x00,0xF0,0x0F, // 85
0x10,0x00,0x00,0x70,0x00,0x00,0x80,0x03,0x00,0x00,0x1C,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x70, // 86
0x10,0x00,0x00,0xF0,0x0F,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0xF0,0x01,0x00,0x00,0x1E,0x00,0xF0,0x0F,0x00,0x10, // 87
0x00,0x00,0x00,0x10,0x18,0x00,0x60,0x0C,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x60,0x0C,0x00,0x10,0x10, // 88
0x10,0x00,0x00,0x30,0x00,0x00,0xC0,0x00,0x00,0x00,0x1F,0x00,0x80,0x01,0x00,0x60,0x00,0x00,0x30, // 89
0x00,0x00,0x00,0x10,0x18,0x00,0x10,0x16,0x00,0x10,0x13,0x00,0xD0,0x10,0x00,0x70,0x10,0x00,0x10,0x10, // 90
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x7F,0x00,0x04,0x40, // 91
0x00,0x00,0x00,0x10,0x00,0x00,0x70,0x00,0x00,0x80,0x01,0x00,0x00,0x0E,0x00,0x00,0x30, // 92
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x40,0x00,0xFC,0x7F, // 93
0x00,0x00,0x00,0x00,0x01,0x00,0xC0,0x01,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x80,0x01, // 94
0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20, // 95
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x10, // 96
0x00,0x00,0x00,0x80,0x0C,0x00,0xC0,0x12,0x00,0x40,0x12,0x00,0x40,0x12,0x00,0xC0,0x1F,0x00,0x00,0x1F, // 97
0x00,0x00,0x00,0xF8,0x1F,0x00,0x80,0x08,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xC0,0x18,0x00,0x80,0x0F, // 98
0x00,0x00,0x00,0x80,0x0F,0x00,0xC0,0x18,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xC0,0x18,0x00,0x80,0x08, // 99
0x00,0x00,0x00,0x80,0x0F,0x00,0xC0,0x18,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xF8,0x0F,0x00,0xF8,0x1F, // 100
0x00,0x00,0x00,0x80,0x0F,0x00,0xC0,0x1A,0x00,0x40,0x12,0x00,0x40,0x12,0x00,0xC0,0x12,0x00,0x80,0x0B, // 101
0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xF0,0x1F,0x00,0x48,0x00,0x00,0x48,0x00,0x00,0x48, // 102
0x00,0x00,0x00,0x80,0x4F,0x00,0xC0,0x98,0x00,0x40,0x90,0x00,0x40,0x90,0x00,0x80,0xE8,0x00,0xC0,0x3F, // 103
0x00,0x00,0x00,0xF8,0x1F,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xC0,0x00,0x00,0x80,0x1F, // 104
0x00,0x00,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0x50,0x10,0x00,0xD0,0x1F,0x00,0x00,0x10,0x00,0x00,0x10, // 105
0x00,0x00,0x00,0x00,0x80,0x00,0x40,0x80,0x00,0x40,0x80,0x00,0xD0,0x7F, // 106
0x00,0x00,0x00,0xF8,0x1F,0x00,0x00,0x02,0x00,0x00,0x03,0x00,0x80,0x04,0x00,0x40,0x18,0x00,0x40,0x10, // 107
0x00,0x00,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0xF8,0x1F,0x00,0x00,0x10,0x00,0x00,0x10, // 108
0x00,0x00,0x00,0xC0,0x1F,0x00,0x40,0x00,0x00,0xC0,0x1F,0x00,0xC0,0x00,0x00,0x40,0x00,0x00,0xC0,0x1F, // 109
0x00,0x00,0x00,0xC0,0x1F,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xC0,0x00,0x00,0x80,0x1F, // 110
0x00,0x00,0x00,0x80,0x0F,0x00,0xC0,0x18,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xC0,0x18,0x00,0x80,0x0F, // 111
0x00,0x00,0x00,0xC0,0xFF,0x00,0x80,0x08,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xC0,0x18,0x00,0x80,0x0F, // 112
0x00,0x00,0x00,0x80,0x0F,0x00,0xC0,0x18,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0x80,0xFF,0x00,0xC0,0xFF, // 113
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1F,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x40, // 114
0x00,0x00,0x00,0x80,0x09,0x00,0xC0,0x19,0x00,0x40,0x12,0x00,0x40,0x12,0x00,0xC0,0x16,0x00,0x80,0x0C, // 115
0x00,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0xF0,0x1F,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0x40,0x10, // 116
0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0xC0,0x1F, // 117
0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x07,0x00,0x00,0x1C,0x00,0x00,0x1C,0x00,0x80,0x03,0x00,0xC0, // 118
0x40,0x00,0x00,0x80,0x0F,0x00,0x00,0x1C,0x00,0xC0,0x03,0x00,0x80,0x07,0x00,0x00,0x18,0x00,0xC0,0x07,0x00,0x40, // 119
0x00,0x00,0x00,0x40,0x10,0x00,0x80,0x08,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0xC0,0x08,0x00,0x40,0x10, // 120
0x40,0x00,0x00,0xC0,0x80,0x00,0x00,0xC7,0x00,0x00,0x7C,0x00,0x00,0x1C,0x00,0x80,0x03,0x00,0xC0, // 121
0x00,0x00,0x00,0x40,0x10,0x00,0x40,0x1C,0x00,0x40,0x16,0x00,0x40,0x13,0x00,0xC0,0x10,0x00,0x40,0x10, // 122
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x80,0x03,0x00,0xF8,0x3E,0x00,0x04,0x40, // 123
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF, // 124
0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x40,0x00,0x7C,0x7C,0x00,0xF0,0x1E,0x00,0x00,0x01, // 125
0x00,0x03,0x00,0x80,0x00,0x00,0x80,0x00,0x00,0x80,0x01,0x00,0x00,0x03,0x00,0x00,0x02,0x00,0x80,0x03, // 126
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xFC,0x00,0x40, // 161
0x00,0x00,0x00,0x00,0x0F,0x00,0x80,0x10,0x00,0x60,0x60,0x00,0x60,0x60,0x00,0x80,0x10,0x00,0x00,0x09, // 162
0x00,0x00,0x00,0x00,0x11,0x00,0xE0,0x1F,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x10,0x10,0x00,0x20,0x10, // 163
0x00,0x00,0x00,0xC0,0x1F,0x00,0xC0,0x18,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xC0,0x18,0x00,0xC0,0x1F, // 164
0x10,0x00,0x00,0x30,0x05,0x00,0xC0,0x05,0x00,0x00,0x1F,0x00,0x80,0x05,0x00,0x60,0x05,0x00,0x30,0x05,0x00,0x10, // 165
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x7D, // 166
0x00,0x00,0x00,0xE0,0x67,0x00,0x90,0x89,0x00,0x10,0x89,0x00,0x10,0x89,0x00,0x30,0xD9,0x00,0x60,0x7E, // 167
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10, // 168
0x00,0x00,0x00,0x80,0x0F,0x00,0x40,0x17,0x00,0xC0,0x18,0x00,0xC0,0x18,0x00,0x40,0x15,0x00,0x80,0x0F, // 169
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x50,0x01,0x00,0x50,0x01,0x00,0xE0,0x01, // 170
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x08,0x00,0x00,0x07,0x00,0x80,0x08, // 171
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x03, // 172
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01, // 173
0x00,0x00,0x00,0x80,0x0F,0x00,0x40,0x15,0x00,0xC0,0x12,0x00,0xC0,0x16,0x00,0x40,0x11,0x00,0x80,0x0F, // 174
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x10, // 175
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x50,0x00,0x00,0x50,0x00,0x00,0x20, // 176
0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x11,0x00,0xE0,0x17,0x00,0xE0,0x17,0x00,0x00,0x11,0x00,0x00,0x11, // 177
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x01,0x00,0x90,0x01,0x00,0x50,0x01,0x00,0x20,0x01, // 178
0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x00,0x50,0x01,0x00,0x50,0x01,0x00,0xA0, // 179
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x10, // 180
0x00,0x00,0x00,0xC0,0xFF,0x00,0x00,0x18,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0xC0,0x0F,0x00,0xC0,0x1F, // 181
0x00,0x00,0x00,0xC0,0x00,0x00,0xE0,0x01,0x00,0xF0,0x03,0x00,0xF0,0x03,0x00,0xF0,0x1F, // 182
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01, // 183
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0xC0, // 184
0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x10,0x00,0x00,0xF0,0x01, // 185
0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x10,0x01,0x00,0x10,0x01,0x00,0xE0, // 186
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x09,0x00,0x00,0x07,0x00,0x80,0x09,0x00,0x00,0x07, // 187
0x10,0x00,0x00,0xF0,0x00,0x00,0x08,0x0C,0x00,0x00,0x03,0x00,0xC0,0x0C,0x00,0x20,0x0A,0x00,0x00,0x1F, // 188
0x10,0x00,0x00,0xF0,0x00,0x00,0x08,0x0C,0x00,0x00,0x03,0x00,0xC0,0x12,0x00,0x20,0x19,0x00,0x00,0x16, // 189
0x90,0x00,0x00,0xA8,0x00,0x00,0xF0,0x0C,0x00,0x00,0x03,0x00,0xC0,0x0C,0x00,0x20,0x0A,0x00,0x00,0x1F, // 190
0x00,0x00,0x00,0x00,0x70,0x00,0x00,0xD8,0x00,0x40,0x87,0x00,0x40,0x83,0x00,0x00,0xC0,0x00,0x00,0x20, // 191
0x00,0x00,0x00,0x00,0x1C,0x00,0x84,0x03,0x00,0x78,0x02,0x00,0x70,0x02,0x00,0x80,0x03,0x00,0x00,0x1C, // 192
0x00,0x00,0x00,0x00,0x1C,0x00,0x80,0x03,0x00,0x70,0x02,0x00,0x74,0x02,0x00,0x84,0x03,0x00,0x00,0x1C, // 193
0x00,0x00,0x00,0x00,0x1C,0x00,0x84,0x03,0x00,0x72,0x02,0x00,0x72,0x02,0x00,0x84,0x03,0x00,0x00,0x1C, // 194
0x00,0x00,0x00,0x00,0x1C,0x00,0x86,0x03,0x00,0x72,0x02,0x00,0x74,0x02,0x00,0x86,0x03,0x00,0x00,0x1C, // 195
0x00,0x00,0x00,0x00,0x1C,0x00,0x84,0x03,0x00,0x70,0x02,0x00,0x70,0x02,0x00,0x84,0x03,0x00,0x00,0x1C, // 196
0x00,0x00,0x00,0x00,0x1C,0x00,0x82,0x03,0x00,0x75,0x02,0x00,0x77,0x02,0x00,0x80,0x03,0x00,0x00,0x1C, // 197
0x00,0x10,0x00,0x00,0x1C,0x00,0x80,0x07,0x00,0x60,0x04,0x00,0xF0,0x1F,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x00,0x10, // 198
0x00,0x00,0x00,0xE0,0x0F,0x00,0x30,0x18,0x00,0x10,0xB0,0x00,0x10,0xD0,0x00,0x30,0x18,0x00,0x60,0x0C, // 199
0x00,0x00,0x00,0xF0,0x1F,0x00,0x14,0x11,0x00,0x18,0x11,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x10,0x10, // 200
0x00,0x00,0x00,0xF0,0x1F,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x14,0x11,0x00,0x14,0x11,0x00,0x10,0x10, // 201
0x00,0x00,0x00,0xF0,0x1F,0x00,0x14,0x11,0x00,0x12,0x11,0x00,0x12,0x11,0x00,0x14,0x11,0x00,0x10,0x10, // 202
0x00,0x00,0x00,0xF0,0x1F,0x00,0x14,0x11,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x14,0x11,0x00,0x10,0x10, // 203
0x00,0x00,0x00,0x10,0x10,0x00,0x14,0x10,0x00,0xF8,0x1F,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0x10,0x10, // 204
0x00,0x00,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0xF4,0x1F,0x00,0x14,0x10,0x00,0x10,0x10,0x00,0x10,0x10, // 205
0x00,0x00,0x00,0x14,0x10,0x00,0x12,0x10,0x00,0xF2,0x1F,0x00,0x14,0x10,0x00,0x10,0x10,0x00,0x10,0x10, // 206
0x00,0x00,0x00,0x10,0x10,0x00,0x14,0x10,0x00,0xF0,0x1F,0x00,0x10,0x10,0x00,0x14,0x10,0x00,0x10,0x10, // 207
0x00,0x01,0x00,0xF0,0x1F,0x00,0x10,0x11,0x00,0x10,0x11,0x00,0x10,0x10,0x00,0x20,0x08,0x00,0xE0,0x0F, // 208
0x00,0x00,0x00,0xF0,0x1F,0x00,0x66,0x00,0x00,0x82,0x01,0x00,0x04,0x06,0x00,0x06,0x1C,0x00,0xF0,0x1F, // 209
0x00,0x00,0x00,0xE0,0x0F,0x00,0x34,0x18,0x00,0x18,0x10,0x00,0x10,0x10,0x00,0x30,0x18,0x00,0xC0,0x07, // 210
0x00,0x00,0x00,0xE0,0x0F,0x00,0x30,0x18,0x00,0x10,0x10,0x00,0x14,0x10,0x00,0x34,0x18,0x00,0xC0,0x07, // 211
0x00,0x00,0x00,0xE0,0x0F,0x00,0x34,0x18,0x00,0x12,0x10,0x00,0x12,0x10,0x00,0x34,0x18,0x00,0xC0,0x07, // 212
0x00,0x00,0x00,0xE0,0x0F,0x00,0x36,0x18,0x00,0x12,0x10,0x00,0x14,0x10,0x00,0x36,0x18,0x00,0xC0,0x07, // 213
0x00,0x00,0x00,0xE0,0x0F,0x00,0x34,0x18,0x00,0x10,0x10,0x00,0x10,0x10,0x00,0x34,0x18,0x00,0xC0,0x07, // 214
0x00,0x00,0x00,0x40,0x08,0x00,0xC0,0x04,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0xC0,0x04,0x00,0x40,0x08, // 215
0x00,0x10,0x00,0xE0,0x1F,0x00,0x30,0x1C,0x00,0x10,0x13,0x00,0x90,0x10,0x00,0x70,0x18,0x00,0xD8,0x07, // 216
0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x18,0x00,0x04,0x10,0x00,0x08,0x10,0x00,0x00,0x18,0x00,0xF0,0x0F, // 217
0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x18,0x00,0x00,0x10,0x00,0x04,0x10,0x00,0x04,0x18,0x00,0xF0,0x0F, // 218
0x00,0x00,0x00,0xF0,0x0F,0x00,0x04,0x18,0x00,0x02,0x10,0x00,0x02,0x10,0x00,0x04,0x18,0x00,0xF0,0x0F, // 219
0x00,0x00,0x00,0xF0,0x0F,0x00,0x04,0x18,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x04,0x18,0x00,0xF0,0x0F, // 220
0x10,0x00,0x00,0x30,0x00,0x00,0xC0,0x00,0x00,0x00,0x1F,0x00,0x84,0x01,0x00,0x64,0x00,0x00,0x30, // 221
0x00,0x00,0x00,0xF0,0x1F,0x00,0x40,0x04,0x00,0x40,0x04,0x00,0x40,0x04,0x00,0x40,0x04,0x00,0x80,0x03, // 222
0x00,0x00,0x00,0xF0,0x1F,0x00,0x18,0x00,0x00,0x08,0x10,0x00,0xC8,0x11,0x00,0x30,0x12,0x00,0x00,0x0C, // 223
0x00,0x00,0x00,0x80,0x0C,0x00,0xD0,0x12,0x00,0x60,0x12,0x00,0x40,0x12,0x00,0xC0,0x1F,0x00,0x00,0x1F, // 224
0x00,0x00,0x00,0x80,0x0C,0x00,0xC0,0x12,0x00,0x40,0x12,0x00,0x50,0x12,0x00,0xD0,0x1F,0x00,0x00,0x1F, // 225
0x00,0x00,0x00,0x80,0x0C,0x00,0xD0,0x12,0x00,0x48,0x12,0x00,0x48,0x12,0x00,0xD0,0x1F,0x00,0x00,0x1F, // 226
0x00,0x00,0x00,0x80,0x0C,0x00,0xD8,0x12,0x00,0x48,0x12,0x00,0x50,0x12,0x00,0xD8,0x1F,0x00,0x00,0x1F, // 227
0x00,0x00,0x00,0x80,0x0C,0x00,0xD0,0x12,0x00,0x40,0x12,0x00,0x40,0x12,0x00,0xD0,0x1F,0x00,0x00,0x1F, // 228
0x00,0x00,0x00,0x80,0x0C,0x00,0xC8,0x12,0x00,0x54,0x12,0x00,0x5C,0x12,0x00,0xC0,0x1F,0x00,0x00,0x1F, // 229
0x80,0x0C,0x00,0xC0,0x16,0x00,0x40,0x12,0x00,0xC0,0x0F,0x00,0xC0,0x1A,0x00,0x40,0x12,0x00,0xC0,0x13,0x00,0x00,0x03, // 230
0x00,0x00,0x00,0x80,0x0F,0x00,0xC0,0x18,0x00,0x40,0xB0,0x00,0x40,0xD0,0x00,0xC0,0x18,0x00,0x80,0x08, // 231
0x00,0x00,0x00,0x80,0x0F,0x00,0xD0,0x1A,0x00,0x60,0x12,0x00,0x40,0x12,0x00,0xC0,0x12,0x00,0x80,0x0B, // 232
0x00,0x00,0x00,0x80,0x0F,0x00,0xC0,0x1A,0x00,0x40,0x12,0x00,0x50,0x12,0x00,0xD0,0x12,0x00,0x80,0x0B, // 233
0x00,0x00,0x00,0x80,0x0F,0x00,0xD0,0x1A,0x00,0x48,0x12,0x00,0x48,0x12,0x00,0xD0,0x12,0x00,0x80,0x0B, // 234
0x00,0x00,0x00,0x80,0x0F,0x00,0xD0,0x1A,0x00,0x40,0x12,0x00,0x40,0x12,0x00,0xD0,0x12,0x00,0x80,0x0B, // 235
0x00,0x00,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0x50,0x10,0x00,0xE0,0x1F,0x00,0x00,0x10,0x00,0x00,0x10, // 236
0x00,0x00,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xD0,0x1F,0x00,0x10,0x10,0x00,0x00,0x10, // 237
0x00,0x00,0x00,0x40,0x10,0x00,0x50,0x10,0x00,0x48,0x10,0x00,0xC8,0x1F,0x00,0x10,0x10,0x00,0x00,0x10, // 238
0x00,0x00,0x00,0x40,0x10,0x00,0x50,0x10,0x00,0x40,0x10,0x00,0xC0,0x1F,0x00,0x10,0x10,0x00,0x00,0x10, // 239
0x00,0x04,0x00,0x00,0x0F,0x00,0xC0,0x10,0x00,0xB0,0x10,0x00,0xB0,0x10,0x00,0xF0,0x0D,0x00,0x90,0x07, // 240
0x00,0x00,0x00,0xC0,0x1F,0x00,0x98,0x00,0x00,0x48,0x00,0x00,0x50,0x00,0x00,0xD8,0x00,0x00,0x80,0x1F, // 241
0x00,0x00,0x00,0x80,0x0F,0x00,0xD0,0x18,0x00,0x60,0x10,0x00,0x40,0x10,0x00,0xC0,0x18,0x00,0x80,0x0F, // 242
0x00,0x00,0x00,0x80,0x0F,0x00,0xC0,0x18,0x00,0x40,0x10,0x00,0x50,0x10,0x00,0xD0,0x18,0x00,0x80,0x0F, // 243
0x00,0x00,0x00,0x80,0x0F,0x00,0xD0,0x18,0x00,0x48,0x10,0x00,0x48,0x10,0x00,0xD0,0x18,0x00,0x80,0x0F, // 244
0x00,0x00,0x00,0x80,0x0F,0x00,0xD8,0x18,0x00,0x48,0x10,0x00,0x50,0x10,0x00,0xD8,0x18,0x00,0x80,0x0F, // 245
0x00,0x00,0x00,0x80,0x0F,0x00,0xD0,0x18,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xD0,0x18,0x00,0x80,0x0F, // 246
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x40,0x09,0x00,0x40,0x09,0x00,0x00,0x01,0x00,0x00,0x01, // 247
0x00,0x00,0x00,0x80,0x1F,0x00,0xC0,0x18,0x00,0x40,0x16,0x00,0x40,0x11,0x00,0xE0,0x18,0x00,0x80,0x0F, // 248
0x00,0x00,0x00,0xC0,0x0F,0x00,0x10,0x18,0x00,0x20,0x10,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0xC0,0x1F, // 249
0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x18,0x00,0x00,0x10,0x00,0x10,0x10,0x00,0x10,0x08,0x00,0xC0,0x1F, // 250
0x00,0x00,0x00,0xC0,0x0F,0x00,0x10,0x18,0x00,0x08,0x10,0x00,0x08,0x10,0x00,0x10,0x08,0x00,0xC0,0x1F, // 251
0x00,0x00,0x00,0xC0,0x0F,0x00,0x10,0x18,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x10,0x08,0x00,0xC0,0x1F, // 252
0x40,0x00,0x00,0xC0,0x80,0x00,0x00,0xC7,0x00,0x00,0x7C,0x00,0x10,0x1C,0x00,0x90,0x03,0x00,0xC0, // 253
0x00,0x00,0x00,0xF8,0xFF,0x00,0x80,0x08,0x00,0x40,0x10,0x00,0x40,0x10,0x00,0xC0,0x18,0x00,0x80,0x0F, // 254
0x40,0x00,0x00,0xC0,0x80,0x00,0x10,0xC7,0x00,0x00,0x7C,0x00,0x00,0x1C,0x00,0x90,0x03,0x00,0xC0 // 255
};
const unsigned char Roboto_Mono_10[] PROGMEM = {
0x06, // Width: 6
0x0D, // Height: 13
0x20, // First Char: 32
0xE0, // Numbers of Chars: 224
// Jump Table:
0xFF, 0xFF, 0x00, 0x06, // 32:65535
0x00, 0x00, 0x08, 0x06, // 33:0
0x00, 0x08, 0x07, 0x06, // 34:8
0x00, 0x0F, 0x0B, 0x06, // 35:15
0x00, 0x1A, 0x0A, 0x06, // 36:26
0x00, 0x24, 0x0C, 0x06, // 37:36
0x00, 0x30, 0x0C, 0x06, // 38:48
0x00, 0x3C, 0x05, 0x06, // 39:60
0x00, 0x41, 0x08, 0x06, // 40:65
0x00, 0x49, 0x08, 0x06, // 41:73
0x00, 0x51, 0x09, 0x06, // 42:81
0x00, 0x5A, 0x09, 0x06, // 43:90
0x00, 0x63, 0x06, 0x06, // 44:99
0x00, 0x69, 0x09, 0x06, // 45:105
0x00, 0x72, 0x08, 0x06, // 46:114
0x00, 0x7A, 0x09, 0x06, // 47:122
0x00, 0x83, 0x0A, 0x06, // 48:131
0x00, 0x8D, 0x08, 0x06, // 49:141
0x00, 0x95, 0x0A, 0x06, // 50:149
0x00, 0x9F, 0x0A, 0x06, // 51:159
0x00, 0xA9, 0x0B, 0x06, // 52:169
0x00, 0xB4, 0x0A, 0x06, // 53:180
0x00, 0xBE, 0x0A, 0x06, // 54:190
0x00, 0xC8, 0x09, 0x06, // 55:200
0x00, 0xD1, 0x0A, 0x06, // 56:209
0x00, 0xDB, 0x0A, 0x06, // 57:219
0x00, 0xE5, 0x08, 0x06, // 58:229
0x00, 0xED, 0x08, 0x06, // 59:237
0x00, 0xF5, 0x0A, 0x06, // 60:245
0x00, 0xFF, 0x09, 0x06, // 61:255
0x01, 0x08, 0x09, 0x06, // 62:264
0x01, 0x11, 0x09, 0x06, // 63:273
0x01, 0x1A, 0x0B, 0x06, // 64:282
0x01, 0x25, 0x0C, 0x06, // 65:293
0x01, 0x31, 0x0A, 0x06, // 66:305
0x01, 0x3B, 0x0A, 0x06, // 67:315
0x01, 0x45, 0x0B, 0x06, // 68:325
0x01, 0x50, 0x0A, 0x06, // 69:336
0x01, 0x5A, 0x09, 0x06, // 70:346
0x01, 0x63, 0x0A, 0x06, // 71:355
0x01, 0x6D, 0x0A, 0x06, // 72:365
0x01, 0x77, 0x0A, 0x06, // 73:375
0x01, 0x81, 0x0A, 0x06, // 74:385
0x01, 0x8B, 0x0C, 0x06, // 75:395
0x01, 0x97, 0x0A, 0x06, // 76:407
0x01, 0xA1, 0x0A, 0x06, // 77:417
0x01, 0xAB, 0x0A, 0x06, // 78:427
0x01, 0xB5, 0x0A, 0x06, // 79:437
0x01, 0xBF, 0x0B, 0x06, // 80:447
0x01, 0xCA, 0x0C, 0x06, // 81:458
0x01, 0xD6, 0x0C, 0x06, // 82:470
0x01, 0xE2, 0x0B, 0x06, // 83:482
0x01, 0xED, 0x0B, 0x06, // 84:493
0x01, 0xF8, 0x0A, 0x06, // 85:504
0x02, 0x02, 0x0B, 0x06, // 86:514
0x02, 0x0D, 0x0B, 0x06, // 87:525
0x02, 0x18, 0x0C, 0x06, // 88:536
0x02, 0x24, 0x0B, 0x06, // 89:548
0x02, 0x2F, 0x0A, 0x06, // 90:559
0x02, 0x39, 0x08, 0x06, // 91:569
0x02, 0x41, 0x0A, 0x06, // 92:577
0x02, 0x4B, 0x08, 0x06, // 93:587
0x02, 0x53, 0x09, 0x06, // 94:595
0x02, 0x5C, 0x0A, 0x06, // 95:604
0x02, 0x66, 0x07, 0x06, // 96:614
0x02, 0x6D, 0x0A, 0x06, // 97:621
0x02, 0x77, 0x0A, 0x06, // 98:631
0x02, 0x81, 0x0A, 0x06, // 99:641
0x02, 0x8B, 0x0A, 0x06, // 100:651
0x02, 0x95, 0x0A, 0x06, // 101:661
0x02, 0x9F, 0x0B, 0x06, // 102:671
0x02, 0xAA, 0x0A, 0x06, // 103:682
0x02, 0xB4, 0x0A, 0x06, // 104:692
0x02, 0xBE, 0x0A, 0x06, // 105:702
0x02, 0xC8, 0x08, 0x06, // 106:712
0x02, 0xD0, 0x0C, 0x06, // 107:720
0x02, 0xDC, 0x0A, 0x06, // 108:732
0x02, 0xE6, 0x0C, 0x06, // 109:742
0x02, 0xF2, 0x0A, 0x06, // 110:754
0x02, 0xFC, 0x0A, 0x06, // 111:764
0x03, 0x06, 0x0A, 0x06, // 112:774
0x03, 0x10, 0x0A, 0x06, // 113:784
0x03, 0x1A, 0x09, 0x06, // 114:794
0x03, 0x23, 0x0A, 0x06, // 115:803
0x03, 0x2D, 0x0A, 0x06, // 116:813
0x03, 0x37, 0x0A, 0x06, // 117:823
0x03, 0x41, 0x0B, 0x06, // 118:833
0x03, 0x4C, 0x0B, 0x06, // 119:844
0x03, 0x57, 0x0C, 0x06, // 120:855
0x03, 0x63, 0x0B, 0x06, // 121:867
0x03, 0x6E, 0x0A, 0x06, // 122:878
0x03, 0x78, 0x0A, 0x06, // 123:888
0x03, 0x82, 0x06, 0x06, // 124:898
0x03, 0x88, 0x09, 0x06, // 125:904
0x03, 0x91, 0x0B, 0x06, // 126:913
0xFF, 0xFF, 0x00, 0x06, // 127:65535
0xFF, 0xFF, 0x00, 0x06, // 128:65535
0xFF, 0xFF, 0x00, 0x06, // 129:65535
0xFF, 0xFF, 0x00, 0x06, // 130:65535
0xFF, 0xFF, 0x00, 0x06, // 131:65535
0xFF, 0xFF, 0x00, 0x06, // 132:65535
0xFF, 0xFF, 0x00, 0x06, // 133:65535
0xFF, 0xFF, 0x00, 0x06, // 134:65535
0xFF, 0xFF, 0x00, 0x06, // 135:65535
0xFF, 0xFF, 0x00, 0x06, // 136:65535
0xFF, 0xFF, 0x00, 0x06, // 137:65535
0xFF, 0xFF, 0x00, 0x06, // 138:65535
0xFF, 0xFF, 0x00, 0x06, // 139:65535
0xFF, 0xFF, 0x00, 0x06, // 140:65535
0xFF, 0xFF, 0x00, 0x06, // 141:65535
0xFF, 0xFF, 0x00, 0x06, // 142:65535
0xFF, 0xFF, 0x00, 0x06, // 143:65535
0xFF, 0xFF, 0x00, 0x06, // 144:65535
0xFF, 0xFF, 0x00, 0x06, // 145:65535
0xFF, 0xFF, 0x00, 0x06, // 146:65535
0xFF, 0xFF, 0x00, 0x06, // 147:65535
0xFF, 0xFF, 0x00, 0x06, // 148:65535
0xFF, 0xFF, 0x00, 0x06, // 149:65535
0xFF, 0xFF, 0x00, 0x06, // 150:65535
0xFF, 0xFF, 0x00, 0x06, // 151:65535
0xFF, 0xFF, 0x00, 0x06, // 152:65535
0xFF, 0xFF, 0x00, 0x06, // 153:65535
0xFF, 0xFF, 0x00, 0x06, // 154:65535
0xFF, 0xFF, 0x00, 0x06, // 155:65535
0xFF, 0xFF, 0x00, 0x06, // 156:65535
0xFF, 0xFF, 0x00, 0x06, // 157:65535
0xFF, 0xFF, 0x00, 0x06, // 158:65535
0xFF, 0xFF, 0x00, 0x06, // 159:65535
0xFF, 0xFF, 0x00, 0x06, // 160:65535
0x03, 0x9C, 0x07, 0x06, // 161:924
0x03, 0xA3, 0x0A, 0x06, // 162:931
0x03, 0xAD, 0x0C, 0x06, // 163:941
0x03, 0xB9, 0x0C, 0x06, // 164:953
0x03, 0xC5, 0x0B, 0x06, // 165:965
0x03, 0xD0, 0x06, 0x06, // 166:976
0x03, 0xD6, 0x0B, 0x06, // 167:982
0x03, 0xE1, 0x09, 0x06, // 168:993
0x03, 0xEA, 0x0B, 0x06, // 169:1002
0x03, 0xF5, 0x09, 0x06, // 170:1013
0x03, 0xFE, 0x0A, 0x06, // 171:1022
0x04, 0x08, 0x09, 0x06, // 172:1032
0x04, 0x11, 0x09, 0x06, // 173:1041
0x04, 0x1A, 0x0B, 0x06, // 174:1050
0x04, 0x25, 0x09, 0x06, // 175:1061
0x04, 0x2E, 0x07, 0x06, // 176:1070
0x04, 0x35, 0x0A, 0x06, // 177:1077
0x04, 0x3F, 0x09, 0x06, // 178:1087
0x04, 0x48, 0x09, 0x06, // 179:1096
0x04, 0x51, 0x07, 0x06, // 180:1105
0x04, 0x58, 0x0A, 0x06, // 181:1112
0x04, 0x62, 0x0A, 0x06, // 182:1122
0x04, 0x6C, 0x07, 0x06, // 183:1132
0x04, 0x73, 0x08, 0x06, // 184:1139
0x04, 0x7B, 0x07, 0x06, // 185:1147
0x04, 0x82, 0x09, 0x06, // 186:1154
0x04, 0x8B, 0x09, 0x06, // 187:1163
0x04, 0x94, 0x0C, 0x06, // 188:1172
0x04, 0xA0, 0x0C, 0x06, // 189:1184
0x04, 0xAC, 0x0C, 0x06, // 190:1196
0x04, 0xB8, 0x0A, 0x06, // 191:1208
0x04, 0xC2, 0x0C, 0x06, // 192:1218
0x04, 0xCE, 0x0C, 0x06, // 193:1230
0x04, 0xDA, 0x0C, 0x06, // 194:1242
0x04, 0xE6, 0x0C, 0x06, // 195:1254
0x04, 0xF2, 0x0C, 0x06, // 196:1266
0x04, 0xFE, 0x0C, 0x06, // 197:1278
0x05, 0x0A, 0x0C, 0x06, // 198:1290
0x05, 0x16, 0x0A, 0x06, // 199:1302
0x05, 0x20, 0x0A, 0x06, // 200:1312
0x05, 0x2A, 0x0A, 0x06, // 201:1322
0x05, 0x34, 0x0A, 0x06, // 202:1332
0x05, 0x3E, 0x0A, 0x06, // 203:1342
0x05, 0x48, 0x0A, 0x06, // 204:1352
0x05, 0x52, 0x0A, 0x06, // 205:1362
0x05, 0x5C, 0x0A, 0x06, // 206:1372
0x05, 0x66, 0x0A, 0x06, // 207:1382
0x05, 0x70, 0x0B, 0x06, // 208:1392
0x05, 0x7B, 0x0A, 0x06, // 209:1403
0x05, 0x85, 0x0A, 0x06, // 210:1413
0x05, 0x8F, 0x0A, 0x06, // 211:1423
0x05, 0x99, 0x0A, 0x06, // 212:1433
0x05, 0xA3, 0x0A, 0x06, // 213:1443
0x05, 0xAD, 0x0A, 0x06, // 214:1453
0x05, 0xB7, 0x0A, 0x06, // 215:1463
0x05, 0xC1, 0x0B, 0x06, // 216:1473
0x05, 0xCC, 0x0A, 0x06, // 217:1484
0x05, 0xD6, 0x0A, 0x06, // 218:1494
0x05, 0xE0, 0x0A, 0x06, // 219:1504
0x05, 0xEA, 0x0A, 0x06, // 220:1514
0x05, 0xF4, 0x0B, 0x06, // 221:1524
0x05, 0xFF, 0x09, 0x06, // 222:1535
0x06, 0x08, 0x0A, 0x06, // 223:1544
0x06, 0x12, 0x0A, 0x06, // 224:1554
0x06, 0x1C, 0x0A, 0x06, // 225:1564
0x06, 0x26, 0x0A, 0x06, // 226:1574
0x06, 0x30, 0x0A, 0x06, // 227:1584
0x06, 0x3A, 0x0A, 0x06, // 228:1594
0x06, 0x44, 0x0A, 0x06, // 229:1604
0x06, 0x4E, 0x0C, 0x06, // 230:1614
0x06, 0x5A, 0x0A, 0x06, // 231:1626
0x06, 0x64, 0x0A, 0x06, // 232:1636
0x06, 0x6E, 0x0A, 0x06, // 233:1646
0x06, 0x78, 0x0A, 0x06, // 234:1656
0x06, 0x82, 0x0A, 0x06, // 235:1666
0x06, 0x8C, 0x0A, 0x06, // 236:1676
0x06, 0x96, 0x0A, 0x06, // 237:1686
0x06, 0xA0, 0x0A, 0x06, // 238:1696
0x06, 0xAA, 0x0A, 0x06, // 239:1706
0x06, 0xB4, 0x0A, 0x06, // 240:1716
0x06, 0xBE, 0x0A, 0x06, // 241:1726
0x06, 0xC8, 0x0A, 0x06, // 242:1736
0x06, 0xD2, 0x0A, 0x06, // 243:1746
0x06, 0xDC, 0x0A, 0x06, // 244:1756
0x06, 0xE6, 0x0A, 0x06, // 245:1766
0x06, 0xF0, 0x0A, 0x06, // 246:1776
0x06, 0xFA, 0x09, 0x06, // 247:1786
0x07, 0x03, 0x0A, 0x06, // 248:1795
0x07, 0x0D, 0x0A, 0x06, // 249:1805
0x07, 0x17, 0x0A, 0x06, // 250:1815
0x07, 0x21, 0x0A, 0x06, // 251:1825
0x07, 0x2B, 0x0A, 0x06, // 252:1835
0x07, 0x35, 0x0B, 0x06, // 253:1845
0x07, 0x40, 0x0A, 0x06, // 254:1856
0x07, 0x4A, 0x0B, 0x06, // 255:1866
// Font Data:
0x00,0x00,0x00,0x00,0x7C,0x02,0x00,0x02, // 33
0x00,0x00,0x00,0x00,0x1C,0x00,0x1C, // 34
0x80,0x00,0x90,0x03,0xFC,0x00,0x90,0x03,0xFC,0x00,0x10, // 35
0x00,0x00,0x38,0x01,0x24,0x02,0x46,0x06,0xD8,0x03, // 36
0x18,0x00,0x24,0x01,0xD8,0x00,0xB0,0x01,0x48,0x02,0x80,0x01, // 37
0x00,0x00,0xD8,0x03,0x24,0x02,0xDC,0x02,0x00,0x03,0xC0,0x02, // 38
0x00,0x00,0x00,0x00,0x1C, // 39
0x00,0x00,0x00,0x00,0xF0,0x07,0x0C,0x08, // 40
0x00,0x00,0x00,0x00,0x0C,0x0C,0xF0,0x03, // 41
0x00,0x00,0xB0,0x00,0xE0,0x00,0x78,0x00,0xA0, // 42
0x00,0x00,0x40,0x00,0x40,0x00,0xF8,0x01,0x40, // 43
0x00,0x00,0x00,0x00,0x00,0x0E, // 44
0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40, // 45
0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x03, // 46
0x00,0x00,0x00,0x02,0x80,0x01,0x70,0x00,0x0C, // 47
0x00,0x00,0xF8,0x01,0x44,0x02,0x24,0x02,0xF8,0x01, // 48
0x00,0x00,0x08,0x00,0x08,0x00,0xFC,0x03, // 49
0x10,0x00,0x0C,0x03,0x84,0x02,0x44,0x02,0x38,0x02, // 50
0x80,0x00,0x0C,0x03,0x24,0x02,0x24,0x02,0xD8,0x01, // 51
0x80,0x00,0xE0,0x00,0x90,0x00,0x8C,0x00,0xFC,0x03,0x80, // 52
0x00,0x00,0x3C,0x01,0x24,0x02,0x24,0x02,0xE4,0x03, // 53
0x00,0x00,0xF8,0x01,0x24,0x02,0x24,0x02,0xC0,0x01, // 54
0x00,0x00,0x04,0x02,0x84,0x03,0x64,0x00,0x1C, // 55
0x00,0x00,0xD8,0x01,0x24,0x02,0x24,0x02,0xDC,0x03, // 56
0x00,0x00,0x38,0x00,0x44,0x02,0x44,0x02,0xF8,0x01, // 57
0x00,0x00,0x00,0x00,0x20,0x02,0x30,0x03, // 58
0x00,0x00,0x00,0x00,0x20,0x00,0x30,0x0E, // 59
0x00,0x00,0xC0,0x00,0xC0,0x00,0xA0,0x00,0x20,0x01, // 60
0x00,0x00,0xA0,0x00,0xA0,0x00,0xA0,0x00,0xA0, // 61
0x00,0x00,0x20,0x01,0xA0,0x00,0xC0,0x00,0x40, // 62
0x00,0x00,0x08,0x00,0x84,0x02,0x44,0x02,0x3C, // 63
0xF0,0x00,0x48,0x03,0xB4,0x02,0x74,0x02,0x8C,0x00,0x70, // 64
0x00,0x02,0xC0,0x01,0xB8,0x00,0x9C,0x00,0xE0,0x01,0x00,0x02, // 65
0x00,0x00,0xFC,0x03,0x24,0x02,0x24,0x02,0xDC,0x03, // 66
0x00,0x00,0xF8,0x01,0x04,0x02,0x04,0x02,0x0C,0x03, // 67
0x00,0x00,0xFC,0x03,0x04,0x02,0x04,0x02,0x98,0x01,0x60, // 68
0x00,0x00,0xFC,0x03,0x24,0x02,0x24,0x02,0x24,0x02, // 69
0x00,0x00,0xFC,0x03,0x44,0x00,0x44,0x00,0x44, // 70
0x60,0x00,0x98,0x01,0x04,0x02,0x44,0x02,0xCC,0x03, // 71
0x00,0x00,0xFC,0x03,0x20,0x00,0x20,0x00,0xFC,0x03, // 72
0x00,0x00,0x04,0x02,0xFC,0x03,0x04,0x02,0x04,0x02, // 73
0x80,0x00,0x00,0x03,0x00,0x02,0x00,0x02,0xFC,0x01, // 74
0x00,0x00,0xFC,0x03,0x20,0x00,0xD8,0x00,0x0C,0x03,0x04,0x02, // 75
0x00,0x00,0xFC,0x03,0x00,0x02,0x00,0x02,0x00,0x02, // 76
0x00,0x00,0xFC,0x03,0xF0,0x00,0x70,0x00,0xFC,0x03, // 77
0x00,0x00,0xFC,0x03,0x30,0x00,0xC0,0x00,0xFC,0x03, // 78
0x00,0x00,0xF8,0x01,0x04,0x02,0x04,0x02,0xF8,0x01, // 79
0x00,0x00,0xFC,0x03,0x44,0x00,0x44,0x00,0x6C,0x00,0x10, // 80
0x60,0x00,0x98,0x01,0x04,0x02,0x04,0x02,0x98,0x05,0x60,0x04, // 81
0x00,0x00,0xFC,0x03,0x44,0x00,0xC4,0x00,0x3C,0x03,0x00,0x02, // 82
0x00,0x00,0x38,0x01,0x24,0x02,0x44,0x02,0xCC,0x03,0x90, // 83
0x04,0x00,0x04,0x00,0x04,0x00,0xFC,0x03,0x04,0x00,0x04, // 84
0x00,0x00,0xFC,0x01,0x00,0x02,0x00,0x02,0xFC,0x01, // 85
0x04,0x00,0x38,0x00,0xC0,0x03,0xC0,0x03,0x3C,0x00,0x04, // 86
0x0C,0x00,0xF0,0x03,0xF8,0x00,0x7C,0x00,0xE0,0x03,0x1C, // 87
0x04,0x02,0x0C,0x03,0xF0,0x00,0xF0,0x00,0x0C,0x03,0x04,0x02, // 88
0x04,0x00,0x1C,0x00,0xE0,0x03,0x70,0x00,0x0C,0x00,0x04, // 89
0x00,0x00,0x04,0x03,0xC4,0x02,0x34,0x02,0x0C,0x02, // 90
0x00,0x00,0x00,0x00,0xFE,0x0F,0x02,0x08, // 91
0x00,0x00,0x04,0x00,0x38,0x00,0xC0,0x01,0x00,0x02, // 92
0x00,0x00,0x00,0x00,0x02,0x08,0xFE,0x0F, // 93
0x00,0x00,0x20,0x00,0x1C,0x00,0x1C,0x00,0x20, // 94
0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04, // 95
0x00,0x00,0x00,0x00,0x04,0x00,0x04, // 96
0x00,0x00,0xB0,0x03,0x50,0x02,0x50,0x02,0xE0,0x03, // 97
0x00,0x00,0xFC,0x03,0x10,0x02,0x10,0x02,0xF0,0x03, // 98
0x00,0x00,0xE0,0x01,0x10,0x02,0x10,0x02,0x30,0x01, // 99
0x00,0x00,0xE0,0x01,0x10,0x02,0x10,0x02,0xFC,0x03, // 100
0x00,0x00,0xE0,0x01,0x50,0x02,0x50,0x02,0x70,0x03, // 101
0x00,0x00,0x10,0x00,0xFC,0x03,0x12,0x00,0x12,0x00,0x02, // 102
0x00,0x00,0xE0,0x09,0x10,0x0A,0x10,0x0A,0xF0,0x07, // 103
0x00,0x00,0xFC,0x03,0x10,0x00,0x10,0x00,0xF0,0x03, // 104
0x00,0x00,0x10,0x02,0x10,0x02,0xF4,0x03,0x00,0x02, // 105
0x00,0x00,0x10,0x08,0x10,0x08,0xF4,0x07, // 106
0x00,0x00,0xFC,0x03,0x40,0x00,0xA0,0x01,0x10,0x02,0x00,0x02, // 107
0x00,0x00,0x04,0x02,0x04,0x02,0xFC,0x03,0x00,0x02, // 108
0xF0,0x03,0x10,0x00,0x10,0x00,0xF0,0x03,0x10,0x00,0xE0,0x03, // 109
0x00,0x00,0xF0,0x03,0x10,0x00,0x10,0x00,0xF0,0x03, // 110
0x00,0x00,0xE0,0x01,0x10,0x02,0x10,0x02,0xE0,0x01, // 111
0x00,0x00,0xF0,0x0F,0x10,0x02,0x10,0x02,0xE0,0x01, // 112
0x00,0x00,0xE0,0x01,0x10,0x02,0x10,0x02,0xF0,0x0F, // 113
0x00,0x00,0x00,0x00,0xF0,0x03,0x10,0x00,0x10, // 114
0x00,0x00,0x60,0x01,0x50,0x02,0x90,0x02,0xB0,0x03, // 115
0x00,0x00,0x10,0x00,0xFC,0x01,0x10,0x02,0x10,0x02, // 116
0x00,0x00,0xF0,0x03,0x00,0x02,0x00,0x02,0xF0,0x03, // 117
0x10,0x00,0x70,0x00,0x80,0x03,0x80,0x03,0x70,0x00,0x10, // 118
0x30,0x00,0xC0,0x03,0xE0,0x00,0xF0,0x00,0xC0,0x03,0x30, // 119
0x00,0x00,0x10,0x02,0xE0,0x01,0xE0,0x00,0x30,0x03,0x10,0x02, // 120
0x10,0x00,0x70,0x08,0x80,0x07,0x80,0x01,0x70,0x00,0x10, // 121
0x00,0x00,0x10,0x03,0x90,0x02,0x70,0x02,0x30,0x02, // 122
0x00,0x00,0x00,0x00,0x40,0x00,0xBC,0x07,0x02,0x08, // 123
0x00,0x00,0x00,0x00,0xFC,0x0F, // 124
0x00,0x00,0x00,0x00,0x06,0x0C,0xB8,0x03,0x40, // 125
0x80,0x00,0x40,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x40, // 126
0x00,0x00,0x00,0x00,0x90,0x0F,0x10, // 161
0x00,0x00,0xE0,0x01,0x10,0x02,0x18,0x06,0x20,0x01, // 162
0x00,0x00,0xF8,0x03,0x44,0x02,0x44,0x02,0x0C,0x02,0x00,0x02, // 163
0x00,0x00,0xF0,0x03,0x10,0x02,0x10,0x02,0x30,0x03,0xD0,0x02, // 164
0x04,0x00,0xD8,0x00,0xF0,0x03,0xF0,0x00,0xD8,0x00,0x04, // 165
0x00,0x00,0x00,0x00,0xBC,0x07, // 166
0x80,0x04,0x7C,0x19,0x24,0x11,0x44,0x12,0x4C,0x1F,0x80, // 167
0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x00,0x04, // 168
0xC0,0x00,0x20,0x01,0xF0,0x03,0xF0,0x03,0x20,0x01,0xC0, // 169
0x00,0x00,0x20,0x00,0x54,0x00,0x54,0x00,0x68, // 170
0x00,0x00,0xC0,0x00,0x20,0x01,0xC0,0x00,0x20,0x01, // 171
0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0xC0, // 172
0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40, // 173
0xC0,0x00,0x20,0x01,0xF0,0x02,0xF0,0x02,0x20,0x01,0xC0, // 174
0x00,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04, // 175
0x00,0x00,0x00,0x00,0x1C,0x00,0x1C, // 176
0x00,0x00,0x20,0x02,0x20,0x02,0xF8,0x02,0x20,0x02, // 177
0x00,0x00,0x00,0x00,0x6C,0x00,0x54,0x00,0x48, // 178
0x00,0x00,0x00,0x00,0x64,0x00,0x54,0x00,0x28, // 179
0x00,0x00,0x00,0x00,0x04,0x00,0x04, // 180
0x00,0x00,0xF0,0x0F,0x00,0x02,0x00,0x02,0xF0,0x03, // 181
0x00,0x00,0x38,0x00,0x7C,0x00,0x7C,0x00,0xFC,0x03, // 182
0x00,0x00,0x00,0x00,0x40,0x00,0x40, // 183
0x00,0x00,0x00,0x00,0x00,0x0A,0x00,0x0C, // 184
0x00,0x00,0x00,0x00,0x04,0x00,0x3C, // 185
0x00,0x00,0x18,0x00,0x24,0x00,0x24,0x00,0x18, // 186
0x00,0x00,0x20,0x01,0xC0,0x00,0x20,0x01,0xC0, // 187
0x00,0x00,0x38,0x01,0xC0,0x00,0x20,0x01,0x90,0x01,0xC0,0x03, // 188
0x00,0x00,0x38,0x01,0x80,0x00,0x60,0x02,0x30,0x03,0xC0,0x02, // 189
0x24,0x00,0x34,0x01,0xFC,0x00,0x20,0x01,0x90,0x01,0xC0,0x03, // 190
0x00,0x00,0x00,0x07,0x90,0x08,0x50,0x08,0x00,0x04, // 191
0x00,0x02,0xC0,0x01,0xB9,0x00,0x9E,0x00,0xE0,0x01,0x00,0x02, // 192
0x00,0x02,0xC0,0x01,0xB8,0x00,0x9E,0x00,0xE1,0x01,0x00,0x02, // 193
0x00,0x02,0xC0,0x01,0xBA,0x00,0x9D,0x00,0xE2,0x01,0x00,0x02, // 194
0x00,0x02,0xC0,0x01,0xB9,0x00,0x9D,0x00,0xE1,0x01,0x00,0x02, // 195
0x00,0x02,0xC1,0x01,0xB8,0x00,0x9D,0x00,0xE1,0x01,0x00,0x02, // 196
0x00,0x02,0xC0,0x01,0xBF,0x00,0x9F,0x00,0xE0,0x01,0x00,0x02, // 197
0x00,0x02,0xC0,0x01,0xB8,0x00,0xFC,0x03,0x24,0x02,0x24,0x02, // 198
0x00,0x00,0xF8,0x01,0x04,0x0A,0x04,0x0E,0x0C,0x03, // 199
0x00,0x00,0xFD,0x03,0x26,0x02,0x24,0x02,0x24,0x02, // 200
0x00,0x00,0xFC,0x03,0x24,0x02,0x26,0x02,0x25,0x02, // 201
0x00,0x00,0xFC,0x03,0x26,0x02,0x25,0x02,0x26,0x02, // 202
0x00,0x00,0xFD,0x03,0x24,0x02,0x25,0x02,0x25,0x02, // 203
0x00,0x00,0x05,0x02,0xFE,0x03,0x04,0x02,0x04,0x02, // 204
0x00,0x00,0x04,0x02,0xFE,0x03,0x05,0x02,0x04,0x02, // 205
0x00,0x00,0x06,0x02,0xFD,0x03,0x06,0x02,0x04,0x02, // 206
0x00,0x00,0x05,0x02,0xFC,0x03,0x05,0x02,0x05,0x02, // 207
0x20,0x00,0xFC,0x03,0x24,0x02,0x04,0x02,0x08,0x01,0xF0, // 208
0x00,0x00,0xFC,0x03,0x31,0x00,0xC1,0x00,0xFD,0x03, // 209
0x00,0x00,0xF8,0x01,0x05,0x02,0x06,0x02,0xF8,0x01, // 210
0x00,0x00,0xF8,0x01,0x04,0x02,0x06,0x02,0xF9,0x01, // 211
0x00,0x00,0xF8,0x01,0x06,0x02,0x05,0x02,0xFA,0x01, // 212
0x00,0x00,0xF8,0x01,0x05,0x02,0x05,0x02,0xF9,0x01, // 213
0x00,0x00,0xF9,0x01,0x04,0x02,0x05,0x02,0xF9,0x01, // 214
0x00,0x00,0x20,0x01,0xC0,0x00,0xC0,0x00,0x20,0x01, // 215
0x60,0x02,0x98,0x03,0xC4,0x02,0x24,0x02,0xFC,0x01,0x04, // 216
0x00,0x00,0xFC,0x01,0x01,0x02,0x02,0x02,0xFC,0x01, // 217
0x00,0x00,0xFC,0x01,0x00,0x02,0x02,0x02,0xFD,0x01, // 218
0x00,0x00,0xFC,0x01,0x02,0x02,0x01,0x02,0xFE,0x01, // 219
0x00,0x00,0xFD,0x01,0x00,0x02,0x01,0x02,0xFD,0x01, // 220
0x04,0x00,0x1C,0x00,0xE0,0x03,0x72,0x00,0x0D,0x00,0x04, // 221
0x00,0x00,0xFC,0x03,0x90,0x00,0x90,0x00,0xF0, // 222
0x00,0x00,0xFC,0x03,0x02,0x02,0x72,0x02,0xCC,0x03, // 223
0x00,0x00,0xB4,0x03,0x58,0x02,0x50,0x02,0xE0,0x03, // 224
0x00,0x00,0xB0,0x03,0x50,0x02,0x58,0x02,0xE4,0x03, // 225
0x00,0x00,0xB0,0x03,0x58,0x02,0x54,0x02,0xE8,0x03, // 226
0x00,0x00,0xB0,0x03,0x54,0x02,0x54,0x02,0xE4,0x03, // 227
0x00,0x00,0xB4,0x03,0x50,0x02,0x54,0x02,0xE4,0x03, // 228
0x00,0x00,0xB0,0x03,0x5C,0x02,0x5C,0x02,0xE0,0x03, // 229
0xA0,0x01,0x50,0x02,0xF0,0x03,0x50,0x03,0x50,0x02,0x60,0x02, // 230
0x00,0x00,0xE0,0x01,0x10,0x0A,0x10,0x0E,0x30,0x01, // 231
0x00,0x00,0xE4,0x01,0x58,0x02,0x50,0x02,0x70,0x03, // 232
0x00,0x00,0xE0,0x01,0x50,0x02,0x58,0x02,0x74,0x03, // 233
0x00,0x00,0xE0,0x01,0x58,0x02,0x54,0x02,0x78,0x03, // 234
0x00,0x00,0xE4,0x01,0x50,0x02,0x54,0x02,0x74,0x03, // 235
0x00,0x00,0x10,0x02,0x14,0x02,0xF8,0x03,0x00,0x02, // 236
0x00,0x00,0x10,0x02,0x10,0x02,0xF8,0x03,0x04,0x02, // 237
0x00,0x00,0x10,0x02,0x18,0x02,0xF4,0x03,0x08,0x02, // 238
0x00,0x00,0x14,0x02,0x10,0x02,0xF4,0x03,0x04,0x02, // 239
0x80,0x00,0x60,0x03,0x34,0x02,0x28,0x02,0xF4,0x01, // 240
0x00,0x00,0xF0,0x03,0x14,0x00,0x14,0x00,0xF4,0x03, // 241
0x00,0x00,0xE4,0x01,0x18,0x02,0x10,0x02,0xE0,0x01, // 242
0x00,0x00,0xE0,0x01,0x10,0x02,0x18,0x02,0xE4,0x01, // 243
0x00,0x00,0xE0,0x01,0x18,0x02,0x14,0x02,0xE8,0x01, // 244
0x00,0x00,0xE0,0x01,0x14,0x02,0x14,0x02,0xE4,0x01, // 245
0x00,0x00,0xE4,0x01,0x10,0x02,0x14,0x02,0xE4,0x01, // 246
0x00,0x00,0x40,0x00,0x48,0x01,0x48,0x01,0x40, // 247
0x00,0x00,0xE0,0x03,0x90,0x03,0x70,0x02,0xE8,0x01, // 248
0x00,0x00,0xF4,0x03,0x08,0x02,0x00,0x02,0xF0,0x03, // 249
0x00,0x00,0xF0,0x03,0x00,0x02,0x08,0x02,0xF4,0x03, // 250
0x00,0x00,0xF0,0x03,0x08,0x02,0x04,0x02,0xF8,0x03, // 251
0x00,0x00,0xF4,0x03,0x00,0x02,0x04,0x02,0xF4,0x03, // 252
0x10,0x00,0x70,0x08,0x80,0x07,0x88,0x01,0x74,0x00,0x10, // 253
0x00,0x00,0xFE,0x0F,0x10,0x02,0x10,0x02,0xF0,0x01, // 254
0x10,0x00,0x74,0x08,0x80,0x07,0x84,0x01,0x74,0x00,0x10 // 255
};
#endif

76
lib/image/image.cpp Normal file
View File

@ -0,0 +1,76 @@
#ifndef __IMAGE__
#include <image.h>
#endif
#include <font.h>
#include <utils.h>
extern String ver;
extern String localIP;
// Overlays are statically drawn on top of a frame
int overlaysCount = 1;
OverlayCallback overlays[] = { msOverlay };
void msOverlay(OLEDDisplay *display, OLEDDisplayUiState* state) {
String time("");
if( localIP == "Unconnected" ) {
unsigned long mscount = millis();
unsigned long sec = mscount / 1000;
unsigned long mse = mscount / 100 - sec * 10;
time = (String)sec + "." + (String)mse;
}
display->setTextAlignment(TEXT_ALIGN_CENTER);
display->drawString(64, 50, time);
}
// frames
// int frameCount = 4;
// FrameCallback frames[] = { oled_web_page, oled_mqtt_page, oled_bilibili_page, oled_os_page };
int frameCount = 1;
FrameCallback frames[] = { oled_os_page };
static void oled_title(OLEDDisplay *display) {
// Title
display->setFont(Roboto_Mono_13);
display->setTextAlignment(TEXT_ALIGN_LEFT);
display->drawString(0, 0, "INFO BOARD");
display->setFont(Roboto_Mono_10);
}
void oled_web_page(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
}
void oled_mqtt_page(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
}
void oled_bilibili_page(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
}
void oled_os_page(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
// Title
oled_title(display);
// Version
display->drawFastImage(0, 16, 16, 16, board_icon);
display->drawString(24, 18, ver);
// WiFi
if( localIP == "Unconnected")
display->drawFastImage(0, 34, 16, 16, wifi_unconnected_icon);
else
display->drawFastImage(0, 34, 16, 16, wifi_connected_icon);
display->drawString(24, 36, localIP);
//
display->display();
}

74
lib/image/image.h Normal file
View File

@ -0,0 +1,74 @@
#ifndef __IMAGE__
#define __IMAGE__
#include <sys/pgmspace.h>
#include <SSD1306Wire.h>
#include <OLEDDisplayUi.h>
// wifi已连接图标 16*16
const unsigned char wifi_connected_icon[] PROGMEM = {
0x18,0x00,0x0c,0x00,0x8c,0x01,0x86,0x01,0xc6,0x00,0xc3,0x18,0x63,0x18,0x63,0xcc,
0x63,0xcc,0x63,0x18,0xc3,0x18,0xc6,0x00,0x86,0x01,0x8c,0x01,0x0c,0x00,0x18,0x00
};
// wifi未连接图标 16*16
const unsigned char wifi_unconnected_icon[] PROGMEM = {
0x18,0xc0,0x0c,0xe0,0x8c,0x71,0x86,0x39,0xc6,0x1c,0xc3,0x1e,0x63,0x1f,0xe3,0xcf,
0xe3,0xcd,0xe3,0x18,0xf3,0x18,0xfe,0x00,0x9e,0x01,0x8e,0x01,0x0f,0x00,0x1b,0x00
};
// 路由器图标 16*16
const unsigned char router_icon[] PROGMEM = {
0x38,0xfc,0x70,0x84,0xe0,0xb4,0xc0,0xa5,0x80,0xa7,0x00,0xa7,0x00,0x86,0x00,0x84,
0x00,0x84,0x00,0x86,0x00,0x87,0x80,0xb7,0xc0,0xb5,0xe0,0x84,0x70,0x84,0x38,0xfc,
};
// 板子图标 16*16
const unsigned char board_icon[] PROGMEM = {
0xff,0xff,0x01,0x80,0x3f,0x80,0x23,0x80,0x23,0x80,0x3f,0x80,0x01,0x80,0xff,0xff,
0x00,0x00,0x30,0x0c,0xe0,0x07,0x06,0x60,0x1c,0x38,0xf0,0x0f,0x00,0x00,0x00,0x00
};
// bilibili 24*24
const unsigned char bilibilitv_icon[] PROGMEM = {
0x00,0x00,0x02,0x00,0x00,0x03,0x30,0x00,0x01,0xe0,0x80,0x01,
0x80,0xc3,0x00,0x00,0xef,0x00,0xff,0xff,0xff,0x03,0x00,0xc0,
0xf9,0xff,0xdf,0x09,0x00,0xd0,0x09,0x00,0xd0,0x89,0xc1,0xd1,
0xe9,0x81,0xd3,0x69,0x00,0xd6,0x09,0x91,0xd0,0x09,0xdb,0xd0,
0x09,0x7e,0xd0,0x0d,0x00,0xd0,0x4d,0x89,0xdb,0xfb,0xff,0xdf,
0x03,0x00,0xc0,0xff,0xff,0xff,0x78,0x00,0x1e,0x30,0x00,0x0c
};
const uint8_t active_symbol_icon[] PROGMEM = {
B00000000,
B00000000,
B00011000,
B00100100,
B01000010,
B01000010,
B00100100,
B00011000
};
const uint8_t inactive_symbol_icon[] PROGMEM = {
B00000000,
B00000000,
B00000000,
B00000000,
B00011000,
B00011000,
B00000000,
B00000000
};
void oled_web_page(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y);
void oled_mqtt_page(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y);
void oled_bilibili_page(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y);
void oled_os_page(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y);
extern int frameCount;
extern FrameCallback frames[];
void msOverlay(OLEDDisplay *display, OLEDDisplayUiState* state);
extern int overlaysCount;
extern OverlayCallback overlays[];
#endif

55
lib/utils/utils.cpp Normal file
View File

@ -0,0 +1,55 @@
#ifdef __UTILS__
#include <utils.h>
#endif
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <ArduinoJson.h>
String ver("v0.0.1");
String localIP("Unconnected");
String NAME = "仙女小可"; //改成自己的名字
static String UID = "450115492"; //改成自己的UID
static String followerUrl = "http://api.bilibili.com/x/relation/stat?vmid=" + UID; // 粉丝数
static String viewAndLikesUrl = "http://api.bilibili.com/x/space/upstat?mid=" + UID; // 播放数、点赞数
long follower_hist = 0; // 历史粉丝数
long follower = 0; // 粉丝数
long view = 0; // 播放数
long likes = 0; // 获赞数
static DynamicJsonDocument jsonBuffer(256);
void getFollower(String url) {
HTTPClient http;
http.begin(url);
int res_code = http.GET();
if( res_code == 200 ) {
String res = http.getString();
DeserializationError error = deserializeJson(jsonBuffer, res);
if( error ) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(error.f_str());
return;
}
follower_hist = follower;
follower = jsonBuffer["data"]["follower"];
} else {
Serial.printf("[HTTP] GET... failed, error: %d\n", res_code);
}
http.end();
}
void getViewAndLikes(String url) {
}

18
lib/utils/utils.h Normal file
View File

@ -0,0 +1,18 @@
#ifndef __UTILS__
#define __UTILS__
#include <Arduino.h>
extern String ver;
extern String localIP;
extern String NAME;
extern long follower_hist;
extern long follower;
extern long view;
extern long likes;
void getFollower(String url);
void getViewAndLikes(String url);
#endif

22
platformio.ini Normal file
View File

@ -0,0 +1,22 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:nodemcuv2]
platform = espressif8266
board = nodemcuv2
framework = arduino
board_build.f_cpu = 80000000L
upload_speed = 115200
monitor_speed = 115200
lib_deps =
thingpulse/ESP8266 and ESP32 OLED driver for SSD1306 displays@^4.2.1
tzapu/WiFiManager@^0.16.0
arduino-libraries/NTPClient@^3.1.0
bblanchon/ArduinoJson@^6.18.5

81
src/main.back Normal file
View File

@ -0,0 +1,81 @@
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <WiFiManager.h>
#include <font.h>
#include <SSD1306Wire.h>
#include <icon.h>
#include <Ticker.h>
// Global arguments
Ticker tick;
// 128 * 64 display
SSD1306Wire display(0x3c, 4, 5);
void init_system();
void init_OLED();
void init_WiFi();
void configModeCallback(WiFiManager *config);
void blink();
void setup() {
init_system();
init_OLED();
// init_WiFi();
// tick.detach();
// digitalWrite(LED_BUILTIN, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
}
void init_system() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
tick.attach(1, blink);
}
void init_OLED() {
display.init();
display.flipScreenVertically();
display.setContrast(255);
display.setFont(Roboto_Mono_13);
oled_page1(display, "Unconnected");
}
void init_WiFi() {
WiFiManager manager;
manager.setDebugOutput(true);
manager.setRemoveDuplicateAPs(true);
manager.setMinimumSignalQuality(40);
manager.setAPCallback(configModeCallback);
manager.setAPStaticIPConfig(
IPAddress(10, 1, 1, 1),
IPAddress(10, 0, 1, 1),
IPAddress(255, 255, 255, 0)
);
if( !manager.autoConnect("Info Board", "cj160217") ) {
ESP.reset();
delay(1000);
}
oled_page1(display, WiFi.localIP().toString());
}
void configModeCallback(WiFiManager *config) {
tick.attach(0.1, blink);
}
void blink() {
int state = digitalRead(LED_BUILTIN);
digitalWrite(LED_BUILTIN, !state);
}

98
src/main.cpp Normal file
View File

@ -0,0 +1,98 @@
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <WiFiManager.h>
#include <font.h>
#include <image.h>
#include <SSD1306Wire.h>
#include <OLEDDisplayUi.h>
#include <Ticker.h>
// Global arguments
Ticker tick;
// 128 * 64 display
SSD1306Wire display(0x3c, 4, 5);
OLEDDisplayUi ui(&display);
void init_system();
void init_OLED();
void init_WiFi();
void configModeCallback(WiFiManager *config);
void blink();
void setup() {
init_system();
init_OLED();
// init_WiFi();
// tick.detach();
// digitalWrite(LED_BUILTIN, LOW);
}
void loop() {
int remainingTimeBudget = ui.update();
if (remainingTimeBudget > 0) {
// You can do some work here
// Don't do stuff if you are below your
// time budget.
delay(remainingTimeBudget);
}
}
void init_system() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
tick.attach(1, blink);
}
void init_OLED() {
display.init();
display.setContrast(255);
display.setFont(Roboto_Mono_10);
ui.setTargetFPS(15);
ui.setActiveSymbol(active_symbol_icon);
ui.setInactiveSymbol(inactive_symbol_icon);
ui.setIndicatorPosition(RIGHT);
ui.setIndicatorDirection(LEFT_RIGHT);
ui.setFrameAnimation(SLIDE_LEFT);
ui.setFrames(frames, frameCount);
ui.setOverlays(overlays, overlaysCount);
ui.init();
display.flipScreenVertically();
}
void init_WiFi() {
WiFiManager manager;
manager.setDebugOutput(true);
manager.setRemoveDuplicateAPs(true);
manager.setMinimumSignalQuality(40);
manager.setAPCallback(configModeCallback);
manager.setAPStaticIPConfig(
IPAddress(10, 1, 1, 1),
IPAddress(10, 0, 1, 1),
IPAddress(255, 255, 255, 0)
);
if( !manager.autoConnect("Info Board", "cj160217") ) {
ESP.reset();
delay(1000);
}
}
void configModeCallback(WiFiManager *config) {
tick.attach(0.1, blink);
}
void blink() {
int state = digitalRead(LED_BUILTIN);
digitalWrite(LED_BUILTIN, !state);
}

0
test/.gitkeep Normal file
View File