diff --git a/README.md b/README.md index e3f5ef7..8b91f12 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ by [Max-Plastix](https://github.com/Max-Plastix/tbeam-helium-mapper/) ### TL;DR -Read through the comments in the three source files listed below. Edit to taste, compile, and Upload to your TTGO T-Beam device. Drive around and map the Helium network! +This code loads onto Lilygo TTGO T-Beam board to make a Helium Network Mapper. To build one, download this build, configure three files, and upload it to your device. Go travel around to contribute to the Helium Network Map. ## Purpose -The goal of this version is to have a **TTGO T-Beam** Mapper that's ideally suited to walking or driving, taking cues from the USB Power source and movement for activity level. +The goal of this software is to have a **TTGO T-Beam** Mapper that's ideally suited to walking or driving, taking cues from the USB Power source and movement for activity level. This device uploads GPS coordinates from the TTGO T-Beam to the Helium network, be used for tracking and determining signal coverage of LoRaWAN gateways and hotspots. With this software and a T-Beam device, one can contribute to the [Helium Network](https://www.helium.com) Mapper or Cargo projects. @@ -166,7 +166,7 @@ The top status line alternates between two displays every few seconds: - `#ABC` is the last three hex digits of your DevEUI, so you can match it to the correct device in Console. Handy if you have several Mappers that look the same. - `4.10v` is the battery voltage - `48mA` is the charge (or discharge) current to the battery. The TTGO charges the battery cell at around 300mA from USB, when possible. -- Satellite Count is displayed on the right at all times. +- Satellite HDOP & Count is displayed on the right at all times. (Lower HDOP hints at better GSP accuracy.) - The GPS Time of Day (UTC) alternates on the display line every 2 seconds. - A `*** NO GPS ***` message will show when no GPS Fix is available. @@ -200,6 +200,10 @@ This turns the Base64 Payload into values for Lat, Long, Altitude, Speed, Batter The [Decoder Function](https://github.com/Max-Plastix/tbeam-helium-mapper/blob/main/console-decoders/unified_decoder.js) can be pasted directly into the Console custom function. (Note that HDOP is not sent in this data.) +## Grafana integration for custom maps + +If you want to maintain your own device map, there is an excellent [Grafana guide](https://friendsoflittleyus.nl/grafana-helium-gps-tracker-on-raspberry-pi/) here and [template scripts](https://github.com/takeabyte/helium_mapper_grafana) by @takeabyte available. + # Downlink This builds adds the option to reconfigure the Mapper remotely via Helium Downlink (network to device). You can change the maximum Time Interval, Distance, and Battery Cut-off voltage remotely. diff --git a/console-decoders/unified_decoder.js b/console-decoders/unified_decoder.js index e1a4a7b..e7849d2 100644 --- a/console-decoders/unified_decoder.js +++ b/console-decoders/unified_decoder.js @@ -36,8 +36,19 @@ function Decoder(bytes, port) { decoded.last_latitude = latitude; decoded.last_longitude = longitude; decoded.battery = parseFloat((bytes[6] / 100 + 2).toFixed(2)); - decoded.status = bytes[7]; decoded.value = bytes[8]; + decoded.status = bytes[7]; + switch (bytes[7]) { + case 1: + decoded.status = "BOOT"; + break; + case 2: + decoded.status = "USB ON"; + break + case 3: + decoded.status = "USB OFF"; + break; + } break; case 6: // Lost GPS decoded.last_latitude = latitude; diff --git a/main/font.cpp b/main/font.cpp new file mode 100644 index 0000000..0277d40 --- /dev/null +++ b/main/font.cpp @@ -0,0 +1,460 @@ +#include +#include "font.h" +// Created by http://oleddisplay.squix.ch/ +// Roboto Medium, Plain, 11 +const uint8_t Custom_Font[] PROGMEM = { + 0x0B, // Width: 11 + 0x0A, // Height: 13, hacked to 10 to fit four lines in scroll. + 0x20, // First Char: 32 + 0xE0, // Numbers of Chars: 224 + + // Jump Table: + 0xFF, 0xFF, 0x00, 0x03, // 32:65535 + 0x00, 0x00, 0x06, 0x04, // 33:0 + 0x00, 0x06, 0x07, 0x05, // 34:6 + 0x00, 0x0D, 0x0F, 0x08, // 35:13 + 0x00, 0x1C, 0x0C, 0x06, // 36:28 + 0x00, 0x28, 0x12, 0x0A, // 37:40 + 0x00, 0x3A, 0x10, 0x09, // 38:58 + 0x00, 0x4A, 0x03, 0x03, // 39:74 + 0x00, 0x4D, 0x06, 0x04, // 40:77 + 0x00, 0x53, 0x06, 0x04, // 41:83 + 0x00, 0x59, 0x09, 0x05, // 42:89 + 0x00, 0x62, 0x0F, 0x08, // 43:98 + 0x00, 0x71, 0x04, 0x03, // 44:113 + 0x00, 0x75, 0x07, 0x04, // 45:117 + 0x00, 0x7C, 0x04, 0x03, // 46:124 + 0x00, 0x80, 0x05, 0x03, // 47:128 + 0x00, 0x85, 0x0C, 0x06, // 48:133 + 0x00, 0x91, 0x0C, 0x06, // 49:145 + 0x00, 0x9D, 0x0C, 0x06, // 50:157 + 0x00, 0xA9, 0x0C, 0x06, // 51:169 + 0x00, 0xB5, 0x0B, 0x06, // 52:181 + 0x00, 0xC0, 0x0C, 0x06, // 53:192 + 0x00, 0xCC, 0x0C, 0x06, // 54:204 + 0x00, 0xD8, 0x0B, 0x06, // 55:216 + 0x00, 0xE3, 0x0C, 0x06, // 56:227 + 0x00, 0xEF, 0x0C, 0x06, // 57:239 + 0x00, 0xFB, 0x04, 0x03, // 58:251 + 0x00, 0xFF, 0x04, 0x03, // 59:255 + 0x01, 0x03, 0x0E, 0x08, // 60:259 + 0x01, 0x11, 0x0D, 0x08, // 61:273 + 0x01, 0x1E, 0x0D, 0x08, // 62:286 + 0x01, 0x2B, 0x09, 0x05, // 63:299 + 0x01, 0x34, 0x13, 0x0B, // 64:308 + 0x01, 0x47, 0x0E, 0x07, // 65:327 + 0x01, 0x55, 0x0C, 0x07, // 66:341 + 0x01, 0x61, 0x0E, 0x08, // 67:353 + 0x01, 0x6F, 0x0E, 0x08, // 68:367 + 0x01, 0x7D, 0x0C, 0x07, // 69:381 + 0x01, 0x89, 0x09, 0x06, // 70:393 + 0x01, 0x92, 0x0E, 0x08, // 71:402 + 0x01, 0xA0, 0x0E, 0x08, // 72:416 + 0x01, 0xAE, 0x04, 0x03, // 73:430 + 0x01, 0xB2, 0x04, 0x03, // 74:434 + 0x01, 0xB6, 0x0C, 0x07, // 75:438 + 0x01, 0xC2, 0x0C, 0x06, // 76:450 + 0x01, 0xCE, 0x10, 0x09, // 77:462 + 0x01, 0xDE, 0x0E, 0x08, // 78:478 + 0x01, 0xEC, 0x0E, 0x08, // 79:492 + 0x01, 0xFA, 0x0B, 0x07, // 80:506 + 0x02, 0x05, 0x0D, 0x08, // 81:517 + 0x02, 0x12, 0x0E, 0x07, // 82:530 + 0x02, 0x20, 0x0C, 0x07, // 83:544 + 0x02, 0x2C, 0x09, 0x05, // 84:556 + 0x02, 0x35, 0x0E, 0x08, // 85:565 + 0x02, 0x43, 0x0D, 0x07, // 86:579 + 0x02, 0x50, 0x11, 0x09, // 87:592 + 0x02, 0x61, 0x0C, 0x06, // 88:609 + 0x02, 0x6D, 0x0D, 0x07, // 89:621 + 0x02, 0x7A, 0x0C, 0x06, // 90:634 + 0x02, 0x86, 0x06, 0x04, // 91:646 + 0x02, 0x8C, 0x06, 0x03, // 92:652 + 0x02, 0x92, 0x06, 0x04, // 93:658 + 0x02, 0x98, 0x0D, 0x08, // 94:664 + 0x02, 0xA5, 0x0A, 0x05, // 95:677 + 0x02, 0xAF, 0x05, 0x05, // 96:687 + 0x02, 0xB4, 0x0C, 0x06, // 97:692 + 0x02, 0xC0, 0x0C, 0x06, // 98:704 + 0x02, 0xCC, 0x0A, 0x05, // 99:716 + 0x02, 0xD6, 0x0C, 0x06, // 100:726 + 0x02, 0xE2, 0x0C, 0x06, // 101:738 + 0x02, 0xEE, 0x07, 0x04, // 102:750 + 0x02, 0xF5, 0x0C, 0x06, // 103:757 + 0x03, 0x01, 0x0C, 0x06, // 104:769 + 0x03, 0x0D, 0x04, 0x02, // 105:781 + 0x03, 0x11, 0x04, 0x02, // 106:785 + 0x03, 0x15, 0x0A, 0x05, // 107:789 + 0x03, 0x1F, 0x04, 0x02, // 108:799 + 0x03, 0x23, 0x14, 0x0A, // 109:803 + 0x03, 0x37, 0x0C, 0x06, // 110:823 + 0x03, 0x43, 0x0C, 0x06, // 111:835 + 0x03, 0x4F, 0x0C, 0x06, // 112:847 + 0x03, 0x5B, 0x0C, 0x06, // 113:859 + 0x03, 0x67, 0x07, 0x04, // 114:871 + 0x03, 0x6E, 0x0A, 0x05, // 115:878 + 0x03, 0x78, 0x08, 0x04, // 116:888 + 0x03, 0x80, 0x0C, 0x06, // 117:896 + 0x03, 0x8C, 0x0B, 0x06, // 118:908 + 0x03, 0x97, 0x0F, 0x08, // 119:919 + 0x03, 0xA6, 0x0C, 0x06, // 120:934 + 0x03, 0xB2, 0x0B, 0x06, // 121:946 + 0x03, 0xBD, 0x0A, 0x05, // 122:957 + 0x03, 0xC7, 0x0A, 0x06, // 123:967 + 0x03, 0xD1, 0x04, 0x03, // 124:977 + 0x03, 0xD5, 0x09, 0x06, // 125:981 + 0x03, 0xDE, 0x0D, 0x08, // 126:990 + 0x03, 0xEB, 0x0C, 0x06, // 127:1003 + 0x03, 0xF7, 0x0C, 0x06, // 128:1015 + 0x04, 0x03, 0x0C, 0x06, // 129:1027 + 0x04, 0x0F, 0x0C, 0x06, // 130:1039 + 0x04, 0x1B, 0x0C, 0x06, // 131:1051 + 0x04, 0x27, 0x0C, 0x06, // 132:1063 + 0x04, 0x33, 0x0C, 0x06, // 133:1075 + 0x04, 0x3F, 0x0C, 0x06, // 134:1087 + 0x04, 0x4B, 0x0C, 0x06, // 135:1099 + 0x04, 0x57, 0x0C, 0x06, // 136:1111 + 0x04, 0x63, 0x0C, 0x06, // 137:1123 + 0x04, 0x6F, 0x0C, 0x06, // 138:1135 + 0x04, 0x7B, 0x0C, 0x06, // 139:1147 + 0x04, 0x87, 0x0C, 0x06, // 140:1159 + 0x04, 0x93, 0x0C, 0x06, // 141:1171 + 0x04, 0x9F, 0x0C, 0x06, // 142:1183 + 0x04, 0xAB, 0x0C, 0x06, // 143:1195 + 0x04, 0xB7, 0x0C, 0x06, // 144:1207 + 0x04, 0xC3, 0x0C, 0x06, // 145:1219 + 0x04, 0xCF, 0x0C, 0x06, // 146:1231 + 0x04, 0xDB, 0x0C, 0x06, // 147:1243 + 0x04, 0xE7, 0x0C, 0x06, // 148:1255 + 0x04, 0xF3, 0x0C, 0x06, // 149:1267 + 0x04, 0xFF, 0x0C, 0x06, // 150:1279 + 0x05, 0x0B, 0x0C, 0x06, // 151:1291 + 0x05, 0x17, 0x0C, 0x06, // 152:1303 + 0x05, 0x23, 0x0C, 0x06, // 153:1315 + 0x05, 0x2F, 0x0C, 0x06, // 154:1327 + 0x05, 0x3B, 0x0C, 0x06, // 155:1339 + 0x05, 0x47, 0x0C, 0x06, // 156:1351 + 0x05, 0x53, 0x0C, 0x06, // 157:1363 + 0x05, 0x5F, 0x0C, 0x06, // 158:1375 + 0x05, 0x6B, 0x0C, 0x06, // 159:1387 + 0xFF, 0xFF, 0x00, 0x03, // 160:65535 + 0x05, 0x77, 0x06, 0x04, // 161:1399 + 0x05, 0x7D, 0x0A, 0x06, // 162:1405 + 0x05, 0x87, 0x0C, 0x06, // 163:1415 + 0x05, 0x93, 0x0C, 0x06, // 164:1427 + 0x05, 0x9F, 0x0B, 0x06, // 165:1439 + 0x05, 0xAA, 0x04, 0x03, // 166:1450 + 0x05, 0xAE, 0x08, 0x05, // 167:1454 + 0x05, 0xB6, 0x07, 0x05, // 168:1462 + 0x05, 0xBD, 0x0F, 0x0A, // 169:1469 + 0x05, 0xCC, 0x0A, 0x05, // 170:1484 + 0x05, 0xD6, 0x0A, 0x06, // 171:1494 + 0x05, 0xE0, 0x0E, 0x08, // 172:1504 + 0x05, 0xEE, 0x07, 0x04, // 173:1518 + 0x05, 0xF5, 0x0F, 0x0A, // 174:1525 + 0x06, 0x04, 0x07, 0x05, // 175:1540 + 0x06, 0x0B, 0x07, 0x05, // 176:1547 + 0x06, 0x12, 0x10, 0x08, // 177:1554 + 0x06, 0x22, 0x07, 0x04, // 178:1570 + 0x06, 0x29, 0x07, 0x04, // 179:1577 + 0x06, 0x30, 0x07, 0x05, // 180:1584 + 0x06, 0x37, 0x0E, 0x07, // 181:1591 + 0x06, 0x45, 0x0C, 0x06, // 182:1605 + 0x06, 0x51, 0x03, 0x03, // 183:1617 + 0x06, 0x54, 0x06, 0x05, // 184:1620 + 0x06, 0x5A, 0x07, 0x04, // 185:1626 + 0x06, 0x61, 0x0A, 0x05, // 186:1633 + 0x06, 0x6B, 0x09, 0x06, // 187:1643 + 0x06, 0x74, 0x14, 0x0A, // 188:1652 + 0x06, 0x88, 0x14, 0x0A, // 189:1672 + 0x06, 0x9C, 0x14, 0x0A, // 190:1692 + 0x06, 0xB0, 0x0A, 0x05, // 191:1712 + 0x06, 0xBA, 0x0E, 0x07, // 192:1722 + 0x06, 0xC8, 0x0E, 0x07, // 193:1736 + 0x06, 0xD6, 0x0E, 0x07, // 194:1750 + 0x06, 0xE4, 0x0E, 0x07, // 195:1764 + 0x06, 0xF2, 0x0E, 0x07, // 196:1778 + 0x07, 0x00, 0x0E, 0x07, // 197:1792 + 0x07, 0x0E, 0x12, 0x0A, // 198:1806 + 0x07, 0x20, 0x0E, 0x08, // 199:1824 + 0x07, 0x2E, 0x0C, 0x07, // 200:1838 + 0x07, 0x3A, 0x0C, 0x07, // 201:1850 + 0x07, 0x46, 0x0C, 0x07, // 202:1862 + 0x07, 0x52, 0x0C, 0x07, // 203:1874 + 0x07, 0x5E, 0x04, 0x03, // 204:1886 + 0x07, 0x62, 0x05, 0x03, // 205:1890 + 0x07, 0x67, 0x05, 0x03, // 206:1895 + 0x07, 0x6C, 0x05, 0x03, // 207:1900 + 0x07, 0x71, 0x0E, 0x08, // 208:1905 + 0x07, 0x7F, 0x0E, 0x08, // 209:1919 + 0x07, 0x8D, 0x0E, 0x08, // 210:1933 + 0x07, 0x9B, 0x0E, 0x08, // 211:1947 + 0x07, 0xA9, 0x0E, 0x08, // 212:1961 + 0x07, 0xB7, 0x0E, 0x08, // 213:1975 + 0x07, 0xC5, 0x0E, 0x08, // 214:1989 + 0x07, 0xD3, 0x0E, 0x08, // 215:2003 + 0x07, 0xE1, 0x0E, 0x08, // 216:2017 + 0x07, 0xEF, 0x0E, 0x08, // 217:2031 + 0x07, 0xFD, 0x0E, 0x08, // 218:2045 + 0x08, 0x0B, 0x0E, 0x08, // 219:2059 + 0x08, 0x19, 0x0E, 0x08, // 220:2073 + 0x08, 0x27, 0x0D, 0x07, // 221:2087 + 0x08, 0x34, 0x0B, 0x07, // 222:2100 + 0x08, 0x3F, 0x0C, 0x06, // 223:2111 + 0x08, 0x4B, 0x0C, 0x06, // 224:2123 + 0x08, 0x57, 0x0C, 0x06, // 225:2135 + 0x08, 0x63, 0x0C, 0x06, // 226:2147 + 0x08, 0x6F, 0x0C, 0x06, // 227:2159 + 0x08, 0x7B, 0x0C, 0x06, // 228:2171 + 0x08, 0x87, 0x0C, 0x06, // 229:2183 + 0x08, 0x93, 0x14, 0x0A, // 230:2195 + 0x08, 0xA7, 0x0A, 0x05, // 231:2215 + 0x08, 0xB1, 0x0C, 0x06, // 232:2225 + 0x08, 0xBD, 0x0C, 0x06, // 233:2237 + 0x08, 0xC9, 0x0C, 0x06, // 234:2249 + 0x08, 0xD5, 0x0C, 0x06, // 235:2261 + 0x08, 0xE1, 0x04, 0x02, // 236:2273 + 0x08, 0xE5, 0x04, 0x02, // 237:2277 + 0x08, 0xE9, 0x04, 0x02, // 238:2281 + 0x08, 0xED, 0x04, 0x02, // 239:2285 + 0x08, 0xF1, 0x0C, 0x06, // 240:2289 + 0x08, 0xFD, 0x0C, 0x06, // 241:2301 + 0x09, 0x09, 0x0C, 0x06, // 242:2313 + 0x09, 0x15, 0x0C, 0x06, // 243:2325 + 0x09, 0x21, 0x0C, 0x06, // 244:2337 + 0x09, 0x2D, 0x0C, 0x06, // 245:2349 + 0x09, 0x39, 0x0C, 0x06, // 246:2361 + 0x09, 0x45, 0x0F, 0x08, // 247:2373 + 0x09, 0x54, 0x0C, 0x06, // 248:2388 + 0x09, 0x60, 0x0C, 0x06, // 249:2400 + 0x09, 0x6C, 0x0C, 0x06, // 250:2412 + 0x09, 0x78, 0x0C, 0x06, // 251:2424 + 0x09, 0x84, 0x0C, 0x06, // 252:2436 + 0x09, 0x90, 0x0B, 0x06, // 253:2448 + 0x09, 0x9B, 0x0C, 0x06, // 254:2459 + 0x09, 0xA7, 0x0B, 0x06, // 255:2471 + + // Font Data: + 0x00,0x00,0x00,0x00,0xF8,0x02, // 33 + 0x00,0x00,0x38,0x00,0x00,0x00,0x38, // 34 + 0x00,0x00,0x80,0x00,0xA0,0x03,0xF8,0x00,0xA0,0x00,0xE0,0x03,0xB8,0x00,0x20, // 35 + 0x00,0x00,0x60,0x02,0x50,0x02,0xF8,0x07,0x90,0x02,0x90,0x01, // 36 + 0x00,0x00,0x78,0x00,0x48,0x00,0x78,0x03,0xC0,0x00,0x60,0x00,0xD8,0x03,0x40,0x02,0xC0,0x03, // 37 + 0x00,0x00,0xC0,0x01,0x30,0x03,0x48,0x02,0x48,0x02,0x90,0x01,0x00,0x01,0xC0,0x02, // 38 + 0x00,0x00,0x38, // 39 + 0x00,0x00,0xF8,0x03,0x04,0x04, // 40 + 0x00,0x00,0x0C,0x06,0xF0,0x01, // 41 + 0x48,0x00,0x30,0x00,0x78,0x00,0x30,0x00,0x48, // 42 + 0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0xF8,0x03,0x40,0x00,0x40,0x00,0x40, // 43 + 0x00,0x00,0x00,0x06, // 44 + 0x00,0x00,0x80,0x00,0x80,0x00,0x80, // 45 + 0x00,0x00,0x00,0x02, // 46 + 0x00,0x06,0xE0,0x01,0x18, // 47 + 0x00,0x00,0xF0,0x01,0x08,0x02,0x08,0x02,0x08,0x02,0xF0,0x01, // 48 + 0x00,0x00,0x08,0x02,0x08,0x02,0xF8,0x03,0x00,0x02,0x00,0x02, // 49 + 0x00,0x00,0x10,0x02,0x08,0x03,0x88,0x02,0x48,0x02,0x30,0x02, // 50 + 0x00,0x00,0x10,0x01,0x48,0x02,0x48,0x02,0x48,0x02,0xB0,0x01, // 51 + 0x00,0x00,0xC0,0x00,0xA0,0x00,0x90,0x00,0xF8,0x03,0x80, // 52 + 0x00,0x00,0x38,0x02,0x28,0x02,0x28,0x02,0x28,0x02,0xC0,0x01, // 53 + 0x00,0x00,0xF0,0x01,0x58,0x02,0x48,0x02,0x48,0x02,0x88,0x01, // 54 + 0x00,0x00,0x08,0x00,0x08,0x02,0x88,0x01,0x68,0x00,0x18, // 55 + 0x00,0x00,0xB0,0x01,0x48,0x02,0x48,0x02,0x48,0x02,0xB0,0x01, // 56 + 0x00,0x00,0x30,0x02,0x48,0x02,0x48,0x02,0x48,0x03,0xF0,0x01, // 57 + 0x00,0x00,0x20,0x02, // 58 + 0x00,0x00,0x20,0x06, // 59 + 0x00,0x00,0x40,0x00,0x40,0x00,0xA0,0x00,0xA0,0x00,0xA0,0x00,0x10,0x01, // 60 + 0x00,0x00,0xA0,0x00,0xA0,0x00,0xA0,0x00,0xA0,0x00,0xA0,0x00,0xA0, // 61 + 0x00,0x00,0x10,0x01,0xA0,0x00,0xA0,0x00,0xA0,0x00,0x40,0x00,0x40, // 62 + 0x00,0x00,0x08,0x00,0xC8,0x02,0x28,0x00,0x18, // 63 + 0x00,0x00,0xE0,0x03,0x30,0x06,0x18,0x0C,0xC8,0x09,0x48,0x09,0xC8,0x09,0x08,0x05,0x90,0x01,0xE0, // 64 + 0x00,0x02,0xC0,0x01,0xB0,0x00,0x88,0x00,0xB0,0x00,0xC0,0x01,0x00,0x02, // 65 + 0x00,0x00,0xF8,0x03,0x48,0x02,0x48,0x02,0x48,0x02,0xB0,0x01, // 66 + 0x00,0x00,0xE0,0x00,0x10,0x01,0x08,0x02,0x08,0x02,0x08,0x02,0x10,0x01, // 67 + 0x00,0x00,0xF8,0x03,0x08,0x02,0x08,0x02,0x08,0x02,0x18,0x03,0xF0,0x01, // 68 + 0x00,0x00,0xF8,0x03,0x48,0x02,0x48,0x02,0x48,0x02,0x48,0x02, // 69 + 0x00,0x00,0xF8,0x03,0x48,0x00,0x48,0x00,0x48, // 70 + 0x00,0x00,0xF0,0x01,0x18,0x03,0x08,0x02,0x48,0x02,0x48,0x02,0xD0,0x01, // 71 + 0x00,0x00,0xF8,0x03,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0xF8,0x03, // 72 + 0x00,0x00,0xF8,0x03, // 73 + 0x00,0x08,0xF8,0x07, // 74 + 0x00,0x00,0xF8,0x03,0x40,0x00,0xA0,0x00,0x10,0x01,0x08,0x02, // 75 + 0x00,0x00,0xF8,0x03,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02, // 76 + 0x00,0x00,0xF8,0x03,0x30,0x00,0xC0,0x00,0x00,0x01,0xC0,0x00,0x30,0x00,0xF8,0x03, // 77 + 0x00,0x00,0xF8,0x03,0x10,0x00,0x60,0x00,0x80,0x00,0x00,0x01,0xF8,0x03, // 78 + 0x00,0x00,0xF0,0x01,0x18,0x03,0x08,0x02,0x08,0x02,0x18,0x03,0xF0,0x01, // 79 + 0x00,0x00,0xF8,0x03,0x48,0x00,0x48,0x00,0x48,0x00,0x30, // 80 + 0x00,0x00,0xF0,0x01,0x18,0x03,0x08,0x02,0x08,0x02,0x18,0x05,0xF0, // 81 + 0x00,0x00,0xF8,0x03,0x48,0x00,0x48,0x00,0xC8,0x00,0x30,0x01,0x00,0x02, // 82 + 0x00,0x00,0x30,0x01,0x48,0x02,0x48,0x02,0x48,0x02,0x90,0x01, // 83 + 0x08,0x00,0x08,0x00,0xF8,0x03,0x08,0x00,0x08, // 84 + 0x00,0x00,0xF8,0x01,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0xF8,0x01, // 85 + 0x18,0x00,0x60,0x00,0x80,0x01,0x00,0x02,0x80,0x01,0x60,0x00,0x18, // 86 + 0x18,0x00,0xE0,0x00,0x00,0x03,0xE0,0x00,0x18,0x00,0xE0,0x00,0x00,0x03,0xE0,0x00,0x18, // 87 + 0x08,0x02,0x18,0x03,0xE0,0x00,0xE0,0x00,0x18,0x03,0x08,0x02, // 88 + 0x08,0x00,0x10,0x00,0x20,0x00,0xC0,0x03,0x20,0x00,0x10,0x00,0x08, // 89 + 0x08,0x02,0x08,0x03,0xC8,0x02,0x68,0x02,0x18,0x02,0x08,0x02, // 90 + 0x00,0x00,0xFC,0x07,0x04,0x04, // 91 + 0x18,0x00,0xE0,0x01,0x00,0x06, // 92 + 0x00,0x00,0x04,0x04,0xFC,0x07, // 93 + 0x00,0x00,0x20,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x20, // 94 + 0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08, // 95 + 0x00,0x00,0x04,0x00,0x08, // 96 + 0x00,0x00,0x00,0x03,0xA0,0x02,0xA0,0x02,0xA0,0x02,0xC0,0x03, // 97 + 0x00,0x00,0xFC,0x03,0x20,0x02,0x20,0x02,0x20,0x02,0xC0,0x01, // 98 + 0x00,0x00,0xC0,0x01,0x20,0x02,0x20,0x02,0x20,0x02, // 99 + 0x00,0x00,0xC0,0x01,0x20,0x02,0x20,0x02,0x20,0x02,0xFC,0x03, // 100 + 0x00,0x00,0xC0,0x01,0xA0,0x02,0xA0,0x02,0xA0,0x02,0xC0,0x02, // 101 + 0x00,0x00,0x20,0x00,0xFC,0x03,0x24, // 102 + 0x00,0x00,0xC0,0x01,0x20,0x0A,0x20,0x0A,0x20,0x0A,0xE0,0x07, // 103 + 0x00,0x00,0xFC,0x03,0x20,0x00,0x20,0x00,0x20,0x00,0xC0,0x03, // 104 + 0x00,0x00,0xE4,0x03, // 105 + 0x00,0x08,0xE4,0x0F, // 106 + 0x00,0x00,0xFC,0x03,0x80,0x00,0x40,0x01,0x20,0x02, // 107 + 0x00,0x00,0xFC,0x03, // 108 + 0x00,0x00,0xE0,0x03,0x20,0x00,0x20,0x00,0x20,0x00,0xC0,0x03,0x20,0x00,0x20,0x00,0x20,0x00,0xC0,0x03, // 109 + 0x00,0x00,0xE0,0x03,0x20,0x00,0x20,0x00,0x20,0x00,0xC0,0x03, // 110 + 0x00,0x00,0xC0,0x01,0x20,0x02,0x20,0x02,0x20,0x02,0xC0,0x01, // 111 + 0x00,0x00,0xE0,0x0F,0x20,0x02,0x20,0x02,0x20,0x02,0xC0,0x01, // 112 + 0x00,0x00,0xC0,0x01,0x20,0x02,0x20,0x02,0x20,0x02,0xE0,0x0F, // 113 + 0x00,0x00,0xE0,0x03,0x20,0x00,0x20, // 114 + 0x00,0x00,0x60,0x02,0xA0,0x02,0xA0,0x02,0xA0,0x03, // 115 + 0x20,0x00,0xF8,0x03,0x20,0x02,0x20,0x02, // 116 + 0x00,0x00,0xE0,0x01,0x00,0x02,0x00,0x02,0x00,0x02,0xE0,0x03, // 117 + 0x00,0x00,0x60,0x00,0x80,0x01,0x00,0x02,0x80,0x01,0x60, // 118 + 0x00,0x00,0xE0,0x00,0x00,0x03,0xC0,0x00,0x20,0x00,0xC0,0x00,0x00,0x03,0xE0, // 119 + 0x00,0x00,0x20,0x02,0x40,0x01,0x80,0x00,0x40,0x01,0x20,0x02, // 120 + 0x00,0x00,0x60,0x08,0x80,0x09,0x00,0x06,0x80,0x01,0x60, // 121 + 0x00,0x00,0x20,0x02,0x20,0x03,0xA0,0x02,0x60,0x02, // 122 + 0x00,0x00,0x40,0x00,0x40,0x00,0xBC,0x07,0x04,0x04, // 123 + 0x00,0x00,0xFC,0x0F, // 124 + 0x00,0x00,0x04,0x04,0xBC,0x07,0x40,0x00,0x40, // 125 + 0x00,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x40, // 126 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 127 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 128 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 129 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 130 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 131 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 132 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 133 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 134 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 135 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 136 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 137 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 138 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 139 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 140 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 141 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 142 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 143 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 144 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 145 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 146 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 147 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 148 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 149 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 150 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 151 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 152 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 153 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 154 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 155 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 156 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 157 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 158 + 0x00,0x00,0xF8,0x0F,0x08,0x08,0x08,0x08,0x08,0x08,0xF8,0x0F, // 159 + 0x00,0x00,0x00,0x00,0xA0,0x0F, // 161 + 0x00,0x00,0xC0,0x01,0x20,0x02,0xF0,0x07,0x20,0x02, // 162 + 0x00,0x00,0x40,0x02,0xF0,0x03,0x48,0x02,0x48,0x02,0x10,0x02, // 163 + 0x10,0x02,0xE0,0x01,0x20,0x01,0x20,0x01,0xE0,0x01,0x10,0x02, // 164 + 0x00,0x00,0xA8,0x00,0xB0,0x00,0xC0,0x03,0xB0,0x00,0xA8, // 165 + 0x00,0x00,0x78,0x0F, // 166 + 0xD8,0x04,0xA8,0x04,0x68,0x05,0xC8,0x06, // 167 + 0x00,0x00,0x08,0x00,0x00,0x00,0x08, // 168 + 0x00,0x00,0xE0,0x00,0x10,0x01,0xE8,0x02,0xA8,0x02,0xA8,0x02,0x10,0x01,0xE0, // 169 + 0x00,0x00,0x70,0x01,0x58,0x01,0x58,0x01,0x78,0x01, // 170 + 0x00,0x00,0xC0,0x00,0xE0,0x01,0xC0,0x00,0xE0,0x01, // 171 + 0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0xC0,0x01, // 172 + 0x00,0x00,0x80,0x00,0x80,0x00,0x80, // 173 + 0x00,0x00,0xE0,0x00,0x10,0x01,0xE8,0x02,0x68,0x02,0xE8,0x02,0x10,0x01,0xE0, // 174 + 0x00,0x00,0x08,0x00,0x08,0x00,0x08, // 175 + 0x00,0x00,0x38,0x00,0x28,0x00,0x38, // 176 + 0x00,0x00,0x40,0x02,0x40,0x02,0x40,0x02,0xF0,0x03,0x40,0x02,0x40,0x02,0x40,0x02, // 177 + 0x00,0x00,0x48,0x00,0x68,0x00,0x58, // 178 + 0x00,0x00,0x48,0x00,0x58,0x00,0x68, // 179 + 0x00,0x00,0x00,0x00,0x08,0x00,0x04, // 180 + 0x00,0x00,0xE0,0x0F,0x00,0x02,0x00,0x02,0x00,0x02,0xE0,0x03,0x00,0x02, // 181 + 0x00,0x00,0x70,0x00,0x78,0x00,0xF8,0x07,0x08,0x00,0xF8,0x07, // 182 + 0x00,0x00,0x40, // 183 + 0x00,0x00,0x00,0x08,0x00,0x0C, // 184 + 0x00,0x00,0x48,0x00,0x78,0x00,0x40, // 185 + 0x00,0x00,0x30,0x01,0x48,0x01,0x48,0x01,0x30,0x01, // 186 + 0x00,0x00,0xE0,0x01,0xC0,0x00,0xE0,0x01,0xC0, // 187 + 0x00,0x00,0x48,0x00,0x78,0x02,0xC0,0x01,0xE0,0x00,0x30,0x00,0x08,0x01,0x80,0x01,0xC0,0x03,0x00,0x01, // 188 + 0x00,0x00,0x48,0x00,0x78,0x02,0xC0,0x01,0xE0,0x00,0x30,0x00,0x08,0x00,0x40,0x02,0x40,0x03,0xC0,0x02, // 189 + 0x00,0x00,0x48,0x00,0x58,0x02,0xE8,0x01,0xE0,0x00,0x30,0x00,0x08,0x01,0x80,0x01,0xC0,0x03,0x00,0x01, // 190 + 0x00,0x00,0x00,0x0C,0x00,0x0A,0xA0,0x09,0x00,0x08, // 191 + 0x00,0x02,0xC0,0x01,0xB1,0x00,0x8A,0x00,0xB0,0x00,0xC0,0x01,0x00,0x02, // 192 + 0x00,0x02,0xC0,0x01,0xB0,0x00,0x8A,0x00,0xB1,0x00,0xC0,0x01,0x00,0x02, // 193 + 0x00,0x02,0xC0,0x01,0xB2,0x00,0x89,0x00,0xB2,0x00,0xC0,0x01,0x00,0x02, // 194 + 0x00,0x02,0xC0,0x01,0xB2,0x00,0x8B,0x00,0xB1,0x00,0xC0,0x01,0x00,0x02, // 195 + 0x00,0x02,0xC0,0x01,0xB2,0x00,0x88,0x00,0xB2,0x00,0xC0,0x01,0x00,0x02, // 196 + 0x00,0x02,0x80,0x01,0xF6,0x00,0x8A,0x00,0xF6,0x00,0x80,0x01,0x00,0x02, // 197 + 0x00,0x02,0xC0,0x01,0xB0,0x00,0x88,0x00,0xF8,0x03,0x48,0x02,0x48,0x02,0x48,0x02,0x48,0x02, // 198 + 0x00,0x00,0xE0,0x00,0x10,0x09,0x08,0x0E,0x08,0x02,0x08,0x02,0x10,0x01, // 199 + 0x00,0x00,0xF8,0x03,0x49,0x02,0x4A,0x02,0x48,0x02,0x48,0x02, // 200 + 0x00,0x00,0xF8,0x03,0x48,0x02,0x4A,0x02,0x49,0x02,0x48,0x02, // 201 + 0x00,0x00,0xF8,0x03,0x4A,0x02,0x49,0x02,0x4A,0x02,0x48,0x02, // 202 + 0x00,0x00,0xF8,0x03,0x4A,0x02,0x48,0x02,0x4A,0x02,0x48,0x02, // 203 + 0x01,0x00,0xFA,0x03, // 204 + 0x00,0x00,0xFA,0x03,0x01, // 205 + 0x02,0x00,0xF9,0x03,0x02, // 206 + 0x02,0x00,0xF8,0x03,0x02, // 207 + 0x40,0x00,0xF8,0x03,0x48,0x02,0x48,0x02,0x08,0x02,0x18,0x03,0xF0,0x01, // 208 + 0x00,0x00,0xF8,0x03,0x12,0x00,0x61,0x00,0x82,0x00,0x01,0x01,0xF8,0x03, // 209 + 0x00,0x00,0xF0,0x01,0x19,0x03,0x0A,0x02,0x08,0x02,0x18,0x03,0xF0,0x01, // 210 + 0x00,0x00,0xF0,0x01,0x18,0x03,0x0A,0x02,0x09,0x02,0x18,0x03,0xF0,0x01, // 211 + 0x00,0x00,0xF0,0x01,0x1A,0x03,0x09,0x02,0x09,0x02,0x1A,0x03,0xF0,0x01, // 212 + 0x00,0x00,0xF0,0x01,0x1A,0x03,0x09,0x02,0x0A,0x02,0x19,0x03,0xF0,0x01, // 213 + 0x00,0x00,0xF0,0x01,0x1A,0x03,0x08,0x02,0x08,0x02,0x1A,0x03,0xF0,0x01, // 214 + 0x00,0x00,0x10,0x02,0x20,0x01,0xC0,0x00,0xC0,0x00,0x20,0x01,0x10,0x02, // 215 + 0x00,0x00,0xF0,0x02,0x18,0x01,0xC8,0x02,0x28,0x02,0x10,0x03,0xE8,0x01, // 216 + 0x00,0x00,0xF8,0x01,0x01,0x02,0x02,0x02,0x00,0x02,0x00,0x02,0xF8,0x01, // 217 + 0x00,0x00,0xF8,0x01,0x00,0x02,0x02,0x02,0x01,0x02,0x00,0x02,0xF8,0x01, // 218 + 0x00,0x00,0xF8,0x01,0x02,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0xF8,0x01, // 219 + 0x00,0x00,0xF8,0x01,0x02,0x02,0x00,0x02,0x00,0x02,0x02,0x02,0xF8,0x01, // 220 + 0x08,0x00,0x10,0x00,0x20,0x00,0xC2,0x03,0x21,0x00,0x10,0x00,0x08, // 221 + 0x00,0x00,0xF8,0x03,0x90,0x00,0x90,0x00,0x90,0x00,0x60, // 222 + 0x00,0x00,0xF8,0x03,0x04,0x00,0x74,0x02,0x58,0x02,0x80,0x03, // 223 + 0x00,0x00,0x00,0x03,0xA4,0x02,0xA8,0x02,0xA0,0x02,0xC0,0x03, // 224 + 0x00,0x00,0x00,0x03,0xA0,0x02,0xA8,0x02,0xA4,0x02,0xC0,0x03, // 225 + 0x00,0x00,0x00,0x03,0xA8,0x02,0xA4,0x02,0xA8,0x02,0xC0,0x03, // 226 + 0x00,0x00,0x0C,0x03,0xA4,0x02,0xAC,0x02,0xA8,0x02,0xCC,0x03, // 227 + 0x00,0x00,0x00,0x03,0xA8,0x02,0xA0,0x02,0xA8,0x02,0xC0,0x03, // 228 + 0x00,0x00,0x00,0x03,0xAE,0x02,0xAA,0x02,0xAE,0x02,0xC0,0x03, // 229 + 0x00,0x00,0x00,0x03,0xA0,0x02,0xA0,0x02,0xA0,0x02,0xC0,0x01,0xA0,0x02,0xA0,0x02,0xA0,0x02,0xC0,0x02, // 230 + 0x00,0x00,0xC0,0x01,0x20,0x0A,0x20,0x0E,0x20,0x02, // 231 + 0x00,0x00,0xC0,0x01,0xA4,0x02,0xA8,0x02,0xA0,0x02,0xC0,0x02, // 232 + 0x00,0x00,0xC0,0x01,0xA0,0x02,0xA8,0x02,0xA4,0x02,0xC0,0x02, // 233 + 0x00,0x00,0xC0,0x01,0xA8,0x02,0xA4,0x02,0xA8,0x02,0xC0,0x02, // 234 + 0x00,0x00,0xC0,0x01,0xA8,0x02,0xA0,0x02,0xA8,0x02,0xC0,0x02, // 235 + 0x04,0x00,0xE8,0x03, // 236 + 0x00,0x00,0xE8,0x03, // 237 + 0x08,0x00,0xE4,0x03, // 238 + 0x08,0x00,0xE0,0x03, // 239 + 0x00,0x00,0xC0,0x01,0x2C,0x02,0x28,0x02,0x34,0x02,0xC0,0x01, // 240 + 0x00,0x00,0xEC,0x03,0x24,0x00,0x28,0x00,0x2C,0x00,0xC0,0x03, // 241 + 0x00,0x00,0xC0,0x01,0x24,0x02,0x28,0x02,0x20,0x02,0xC0,0x01, // 242 + 0x00,0x00,0xC0,0x01,0x20,0x02,0x28,0x02,0x24,0x02,0xC0,0x01, // 243 + 0x00,0x00,0xC0,0x01,0x28,0x02,0x24,0x02,0x28,0x02,0xC0,0x01, // 244 + 0x00,0x00,0xCC,0x01,0x24,0x02,0x2C,0x02,0x28,0x02,0xCC,0x01, // 245 + 0x00,0x00,0xC0,0x01,0x28,0x02,0x20,0x02,0x28,0x02,0xC0,0x01, // 246 + 0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x50,0x01,0x40,0x00,0x40,0x00,0x40, // 247 + 0x00,0x00,0xC0,0x03,0x20,0x03,0xA0,0x02,0x60,0x02,0xE0,0x01, // 248 + 0x00,0x00,0xE0,0x01,0x04,0x02,0x08,0x02,0x00,0x02,0xE0,0x03, // 249 + 0x00,0x00,0xE0,0x01,0x00,0x02,0x08,0x02,0x04,0x02,0xE0,0x03, // 250 + 0x00,0x00,0xE0,0x01,0x08,0x02,0x04,0x02,0x08,0x02,0xE0,0x03, // 251 + 0x00,0x00,0xE0,0x01,0x08,0x02,0x00,0x02,0x08,0x02,0xE0,0x03, // 252 + 0x00,0x00,0x60,0x08,0x88,0x09,0x04,0x06,0x80,0x01,0x60, // 253 + 0x00,0x00,0xFC,0x0F,0x20,0x02,0x20,0x02,0x20,0x02,0xC0,0x01, // 254 + 0x00,0x00,0x60,0x08,0x88,0x09,0x00,0x06,0x88,0x01,0x60 // 255 +}; diff --git a/main/font.h b/main/font.h new file mode 100644 index 0000000..6ff157a --- /dev/null +++ b/main/font.h @@ -0,0 +1,3 @@ +#pragma once + +extern const uint8_t Custom_Font[] PROGMEM; diff --git a/main/main.cpp b/main/main.cpp index f22af8e..449250b 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -639,10 +639,12 @@ void axp192Init() { // Configure REG 36H: PEK press key parameter set. Index values for // argument! - axp.setStartupTime(2); // "Power on time": 512mS - axp.setlongPressTime(2); // "Long time key press time": 2S - axp.setShutdownTime(2); // "Power off time" = 8S - axp.setTimeOutShutdown(1); // "When key press time is longer than power off time, auto power off" + axp.setStartupTime(2); // "Power on time": 512mS + axp.setlongPressTime(2); // "Long time key press time": 2S + axp.setShutdownTime(2); // "Power off time" = 8S + axp.setTimeOutShutdown(1); // "When key press time is longer than power off time, auto power off" + axp.setVWarningLevel1(2950); // These warning IRQs do not clear until charged, and inhibit other IRQs! + axp.setVWarningLevel2(2900); // We effectively disable them by setting them lower than we'd run // Serial.printf("AC IN: %fv\n", axp.getAcinVoltage()); // Serial.printf("Vbus: %fv\n", axp.getVbusVoltage()); @@ -681,7 +683,14 @@ void axp192Init() { // @Kenny_PDY discovered that low-battery voltage inhibits detecting the menu button. // Disable these two IRQs until we figure out why it blocks the PEK button IRQs. - axp.enableIRQ(APX202_APS_LOW_VOL_LEVEL1_IRQ | AXP202_APS_LOW_VOL_LEVEL2_IRQ, 0); + // Low battery also seems to inhibit the USB present/lost signal we use to wake up. + axp.enableIRQ(APX202_APS_LOW_VOL_LEVEL1_IRQ, 0); + axp.enableIRQ(AXP202_APS_LOW_VOL_LEVEL2_IRQ, 0); + + // The Charging Current available is less than requested for battery charging. + // Another Persistent IRQ. Clear it after showing it once? + // TODO: Show it every X minutes? Adjust charge current request? + axp.enableIRQ(AXP202_CHARGE_LOW_CUR_IRQ, 0); axp.clearIRQ(); } else { @@ -709,8 +718,8 @@ void setup() { wakeup(); // Make sure WiFi and BT are off - WiFi.disconnect(true); - WiFi.mode(WIFI_OFF); + //WiFi.disconnect(true); + WiFi.mode(WIFI_MODE_NULL); btStop(); Wire.begin(I2C_SDA, I2C_SCL); @@ -1013,10 +1022,6 @@ const char *find_irq_name(void) { irq_name = "ChipOvertemperature"; else if (axp.isChargingCurrentLessIRQ()) { irq_name = "ChargingCurrentLess"; - // The Charging Current (770mA max feed) is less than requested - // Persistent IRQ. Clear it after showing it once. - // TODO: Show it every X minutes? Adjust charge current request? - axp.enableIRQ(AXP202_CHARGE_LOW_CUR_IRQ, 0); } else if (axp.isDC2VoltageLessIRQ()) irq_name = "DC2VoltageLess"; else if (axp.isDC3VoltageLessIRQ()) diff --git a/main/screen.cpp b/main/screen.cpp index bc31c95..4bf8d9d 100644 --- a/main/screen.cpp +++ b/main/screen.cpp @@ -31,6 +31,7 @@ along with this program. If not, see . #include "credentials.h" #include "gps.h" #include "images.h" +#include "font.h" #define SCREEN_HEADER_HEIGHT 24 @@ -180,7 +181,7 @@ void screen_setup(uint8_t addr) { return; display->init(); display->flipScreenVertically(); - display->setFont(ArialMT_Plain_10); + display->setFont(Custom_Font); // Scroll buffer display->setLogBuffer(4, 30);