Uploading this to show it off on ARNweb

This commit is contained in:
Arne van Iterson 2022-08-28 18:03:54 +02:00
commit 2f911698cf
8 changed files with 970 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
build/

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

@ -0,0 +1,7 @@
{
"configuration": "FlashMode=qio,FlashFreq=80,PartitionScheme=default,UploadSpeed=921600,DebugLevel=none",
"board": "esp32:esp32:m5stack-core-esp32",
"port": "/dev/ttyUSB0",
"sketch": "M5_TOON_Mini.ino",
"output": "./build/"
}

363
.vscode/c_cpp_properties.json vendored Normal file
View File

@ -0,0 +1,363 @@
{
"version": 4,
"configurations": [
{
"name": "Arduino",
"compilerPath": "/home/arne/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/bin/xtensa-esp32-elf-g++",
"compilerArgs": [
"-std=gnu++11",
"-Wpointer-arith",
"-fexceptions",
"-fstack-protector",
"-ffunction-sections",
"-fdata-sections",
"-fstrict-volatile-bitfields",
"-mlongcalls",
"-nostdlib",
"-w",
"-Wno-error=maybe-uninitialized",
"-Wno-error=unused-function",
"-Wno-error=unused-but-set-variable",
"-Wno-error=unused-variable",
"-Wno-error=deprecated-declarations",
"-Wno-unused-parameter",
"-Wno-unused-but-set-parameter",
"-Wno-missing-field-initializers",
"-Wno-sign-compare",
"-fno-rtti"
],
"intelliSenseMode": "gcc-x64",
"includePath": [
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/config",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/app_trace",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/app_update",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/asio",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/bootloader_support",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/bt",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/coap",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/console",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/driver",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/efuse",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp-tls",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp32",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp_adc_cal",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp_event",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp_http_client",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp_http_server",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp_https_ota",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp_https_server",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp_ringbuf",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp_websocket_client",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/espcoredump",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/ethernet",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/expat",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/fatfs",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/freemodbus",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/freertos",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/heap",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/idf_test",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/jsmn",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/json",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/libsodium",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/log",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/lwip",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/mbedtls",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/mdns",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/micro-ecc",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/mqtt",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/newlib",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/nghttp",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/nvs_flash",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/openssl",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/protobuf-c",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/protocomm",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/pthread",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/sdmmc",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/smartconfig_ack",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/soc",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/spi_flash",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/spiffs",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/tcp_transport",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/tcpip_adapter",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/ulp",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/unity",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/vfs",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/wear_levelling",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/wifi_provisioning",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/wpa_supplicant",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/xtensa-debug-module",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp-face",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp32-camera",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/esp-face",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/fb_gfx",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/variants/m5stack_core_esp32",
"/home/arne/Arduino/libraries/M5Stack/src",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/Wire/src",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPI/src",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/FS/src",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SD/src",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/SPIFFS/src",
"/home/arne/Arduino/libraries/M5Stack_WifiJson-master/src",
"/home/arne/Arduino/libraries/ArduinoJson/src",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFi/src",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/HTTPClient/src",
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/libraries/WiFiClientSecure/src",
"/home/arne/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0",
"/home/arne/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf",
"/home/arne/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/backward",
"/home/arne/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/lib/gcc/xtensa-esp32-elf/5.2.0/include",
"/home/arne/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/lib/gcc/xtensa-esp32-elf/5.2.0/include-fixed",
"/home/arne/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include",
"/home/arne/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/sysroot/usr/include"
],
"forcedInclude": [
"/home/arne/.arduino15/packages/esp32/hardware/esp32/1.0.6/cores/esp32/Arduino.h"
],
"cStandard": "c11",
"cppStandard": "c++11",
"defines": [
"ESP_PLATFORM",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"HAVE_CONFIG_H",
"GCC_NOT_5_2_0=0",
"WITH_POSIX",
"F_CPU=240000000L",
"ARDUINO=10819",
"ARDUINO_M5Stack_Core_ESP32",
"ARDUINO_ARCH_ESP32",
"ARDUINO_BOARD=\"M5Stack_Core_ESP32\"",
"ARDUINO_VARIANT=\"m5stack_core_esp32\"",
"ESP32",
"CORE_DEBUG_LEVEL=0",
"__DBL_MIN_EXP__=(-1021)",
"__UINT_LEAST16_MAX__=0xffff",
"__ATOMIC_ACQUIRE=2",
"__FLT_MIN__=1.1754943508222875e-38F",
"__GCC_IEC_559_COMPLEX=0",
"__UINT_LEAST8_TYPE__=unsigned char",
"__INTMAX_C(c)=c ## LL",
"__CHAR_BIT__=8",
"__UINT8_MAX__=0xff",
"__WINT_MAX__=0xffffffffU",
"__ORDER_LITTLE_ENDIAN__=1234",
"__SIZE_MAX__=0xffffffffU",
"__WCHAR_MAX__=0xffff",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1",
"__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1",
"__DBL_DENORM_MIN__=double(4.9406564584124654e-324L)",
"__GCC_ATOMIC_CHAR_LOCK_FREE=2",
"__GCC_IEC_559=0",
"__FLT_EVAL_METHOD__=0",
"__cpp_binary_literals=201304",
"__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2",
"__UINT_FAST64_MAX__=0xffffffffffffffffULL",
"__SIG_ATOMIC_TYPE__=int",
"__DBL_MIN_10_EXP__=(-307)",
"__FINITE_MATH_ONLY__=0",
"__GNUC_PATCHLEVEL__=0",
"__UINT_FAST8_MAX__=0xffffffffU",
"__has_include(STR)=__has_include__(STR)",
"__DEC64_MAX_EXP__=385",
"__INT8_C(c)=c",
"__UINT_LEAST64_MAX__=0xffffffffffffffffULL",
"__SHRT_MAX__=0x7fff",
"__LDBL_MAX__=1.7976931348623157e+308L",
"__UINT_LEAST8_MAX__=0xff",
"__GCC_ATOMIC_BOOL_LOCK_FREE=2",
"__UINTMAX_TYPE__=long long unsigned int",
"__DEC32_EPSILON__=1E-6DF",
"__CHAR_UNSIGNED__=1",
"__UINT32_MAX__=0xffffffffUL",
"__LDBL_MAX_EXP__=1024",
"__WINT_MIN__=0U",
"__SCHAR_MAX__=0x7f",
"__WCHAR_MIN__=0",
"__INT64_C(c)=c ## LL",
"__DBL_DIG__=15",
"__GCC_ATOMIC_POINTER_LOCK_FREE=2",
"__SIZEOF_INT__=4",
"__SIZEOF_POINTER__=4",
"__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2",
"__USER_LABEL_PREFIX__",
"__STDC_HOSTED__=1",
"__LDBL_HAS_INFINITY__=1",
"__XTENSA_EL__=1",
"__FLT_EPSILON__=1.1920928955078125e-7F",
"__GXX_WEAK__=1",
"__LDBL_MIN__=2.2250738585072014e-308L",
"__DEC32_MAX__=9.999999E96DF",
"__INT32_MAX__=0x7fffffffL",
"__SIZEOF_LONG__=4",
"__UINT16_C(c)=c",
"__DECIMAL_DIG__=17",
"__has_include_next(STR)=__has_include_next__(STR)",
"__LDBL_HAS_QUIET_NAN__=1",
"__GNUC__=5",
"__GXX_RTTI=1",
"__FLT_HAS_DENORM__=1",
"__SIZEOF_LONG_DOUBLE__=8",
"__BIGGEST_ALIGNMENT__=16",
"__DBL_MAX__=double(1.7976931348623157e+308L)",
"__INT_FAST32_MAX__=0x7fffffff",
"__DBL_HAS_INFINITY__=1",
"__INT64_MAX__=0x7fffffffffffffffLL",
"__DEC32_MIN_EXP__=(-94)",
"__INT_FAST16_TYPE__=int",
"__LDBL_HAS_DENORM__=1",
"__cplusplus=199711L",
"__DEC128_MAX__=9.999999999999999999999999999999999E6144DL",
"__INT_LEAST32_MAX__=0x7fffffffL",
"__DEC32_MIN__=1E-95DF",
"__DEPRECATED=1",
"__DBL_MAX_EXP__=1024",
"__DEC128_EPSILON__=1E-33DL",
"__PTRDIFF_MAX__=0x7fffffff",
"__GNUG__=5",
"__LONG_LONG_MAX__=0x7fffffffffffffffLL",
"__SIZEOF_SIZE_T__=4",
"__SIZEOF_WINT_T__=4",
"__GXX_ABI_VERSION=1009",
"__FLT_MIN_EXP__=(-125)",
"__INT_FAST64_TYPE__=long long int",
"__FP_FAST_FMAF=1",
"__DBL_MIN__=double(2.2250738585072014e-308L)",
"__FLT_MIN_10_EXP__=(-37)",
"__DEC128_MIN__=1E-6143DL",
"__REGISTER_PREFIX__",
"__UINT16_MAX__=0xffff",
"__DBL_HAS_DENORM__=1",
"__UINT8_TYPE__=unsigned char",
"__NO_INLINE__=1",
"__FLT_MANT_DIG__=24",
"__VERSION__=\"5.2.0\"",
"__UINT64_C(c)=c ## ULL",
"__GCC_ATOMIC_INT_LOCK_FREE=2",
"__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__",
"__INT32_C(c)=c ## L",
"__DEC64_EPSILON__=1E-15DD",
"__ORDER_PDP_ENDIAN__=3412",
"__DEC128_MIN_EXP__=(-6142)",
"__INT_FAST32_TYPE__=int",
"__UINT_LEAST16_TYPE__=short unsigned int",
"__INT16_MAX__=0x7fff",
"__cpp_rtti=199711",
"__SIZE_TYPE__=unsigned int",
"__UINT64_MAX__=0xffffffffffffffffULL",
"__INT8_TYPE__=signed char",
"__ELF__=1",
"__xtensa__=1",
"__FLT_RADIX__=2",
"__INT_LEAST16_TYPE__=short int",
"__LDBL_EPSILON__=2.2204460492503131e-16L",
"__UINTMAX_C(c)=c ## ULL",
"__SIG_ATOMIC_MAX__=0x7fffffff",
"__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2",
"__SIZEOF_PTRDIFF_T__=4",
"__DEC32_SUBNORMAL_MIN__=0.000001E-95DF",
"__INT_FAST16_MAX__=0x7fffffff",
"__UINT_FAST32_MAX__=0xffffffffU",
"__UINT_LEAST64_TYPE__=long long unsigned int",
"__FLT_HAS_QUIET_NAN__=1",
"__FLT_MAX_10_EXP__=38",
"__LONG_MAX__=0x7fffffffL",
"__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL",
"__FLT_HAS_INFINITY__=1",
"__UINT_FAST16_TYPE__=unsigned int",
"__DEC64_MAX__=9.999999999999999E384DD",
"__CHAR16_TYPE__=short unsigned int",
"__PRAGMA_REDEFINE_EXTNAME=1",
"__INT_LEAST16_MAX__=0x7fff",
"__DEC64_MANT_DIG__=16",
"__UINT_LEAST32_MAX__=0xffffffffUL",
"__GCC_ATOMIC_LONG_LOCK_FREE=2",
"__INT_LEAST64_TYPE__=long long int",
"__INT16_TYPE__=short int",
"__INT_LEAST8_TYPE__=signed char",
"__DEC32_MAX_EXP__=97",
"__INT_FAST8_MAX__=0x7fffffff",
"__INTPTR_MAX__=0x7fffffff",
"__EXCEPTIONS=1",
"__LDBL_MANT_DIG__=53",
"__DBL_HAS_QUIET_NAN__=1",
"__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)",
"__INTPTR_TYPE__=int",
"__UINT16_TYPE__=short unsigned int",
"__WCHAR_TYPE__=short unsigned int",
"__SIZEOF_FLOAT__=4",
"__UINTPTR_MAX__=0xffffffffU",
"__DEC64_MIN_EXP__=(-382)",
"__INT_FAST64_MAX__=0x7fffffffffffffffLL",
"__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
"__FLT_DIG__=6",
"__UINT_FAST64_TYPE__=long long unsigned int",
"__INT_MAX__=0x7fffffff",
"__INT64_TYPE__=long long int",
"__FLT_MAX_EXP__=128",
"__DBL_MANT_DIG__=53",
"__INT_LEAST64_MAX__=0x7fffffffffffffffLL",
"__DEC64_MIN__=1E-383DD",
"__WINT_TYPE__=unsigned int",
"__UINT_LEAST32_TYPE__=long unsigned int",
"__SIZEOF_SHORT__=2",
"__LDBL_MIN_EXP__=(-1021)",
"__INT_LEAST8_MAX__=0x7f",
"__WCHAR_UNSIGNED__=1",
"__LDBL_MAX_10_EXP__=308",
"__ATOMIC_RELAXED=0",
"__DBL_EPSILON__=double(2.2204460492503131e-16L)",
"__XTENSA_WINDOWED_ABI__=1",
"__UINT8_C(c)=c",
"__INT_LEAST32_TYPE__=long int",
"__SIZEOF_WCHAR_T__=2",
"__UINT64_TYPE__=long long unsigned int",
"__INT_FAST8_TYPE__=int",
"__DBL_DECIMAL_DIG__=17",
"__DEC_EVAL_METHOD__=2",
"__XTENSA__=1",
"__ORDER_BIG_ENDIAN__=4321",
"__cpp_runtime_arrays=198712",
"__UINT32_C(c)=c ## UL",
"__INTMAX_MAX__=0x7fffffffffffffffLL",
"__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
"__FLT_DENORM_MIN__=1.4012984643248171e-45F",
"__INT8_MAX__=0x7f",
"__UINT_FAST32_TYPE__=unsigned int",
"__CHAR32_TYPE__=long unsigned int",
"__FLT_MAX__=3.4028234663852886e+38F",
"__INT32_TYPE__=long int",
"__SIZEOF_DOUBLE__=8",
"__cpp_exceptions=199711",
"__INTMAX_TYPE__=long long int",
"__DEC128_MAX_EXP__=6145",
"__ATOMIC_CONSUME=1",
"__GNUC_MINOR__=2",
"__UINTMAX_MAX__=0xffffffffffffffffULL",
"__DEC32_MANT_DIG__=7",
"__DBL_MAX_10_EXP__=308",
"__LDBL_DENORM_MIN__=4.9406564584124654e-324L",
"__INT16_C(c)=c",
"__STDC__=1",
"__PTRDIFF_TYPE__=int",
"__ATOMIC_SEQ_CST=5",
"__UINT32_TYPE__=long unsigned int",
"__UINTPTR_TYPE__=unsigned int",
"__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD",
"__DEC128_MANT_DIG__=34",
"__LDBL_MIN_10_EXP__=(-307)",
"__SIZEOF_LONG_LONG__=8",
"__GCC_ATOMIC_LLONG_LOCK_FREE=1",
"__LDBL_DIG__=15",
"__FLT_DECIMAL_DIG__=9",
"__UINT_FAST16_MAX__=0xffffffffU",
"__GNUC_GNU_INLINE__=1",
"__GCC_ATOMIC_SHORT_LOCK_FREE=2",
"__UINT_FAST8_TYPE__=unsigned int",
"__ATOMIC_ACQ_REL=4",
"__ATOMIC_RELEASE=3",
"USBCON"
]
}
]
}

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

@ -0,0 +1,12 @@
{
"files.associations": {
"*.html": "html",
"array": "cpp",
"deque": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"string_view": "cpp",
"initializer_list": "cpp"
}
}

104
M5_TOON_Mini.ino Normal file
View File

@ -0,0 +1,104 @@
#include <M5Stack.h>
#include <WifiJson.h>
#include <HTTPClient.h>
#include "fonts/VarelaRound_Regular10pt7b.h"
// Http client
HTTPClient http;
// Json storage
DynamicJsonDocument doc(2048);
// New instance of WifiJson, silent is false, it will log to the M5Stacks screen
WifiJson wifi(false);
const uint16_t colours[10] = {
0xD840,
0xE960,
0xF2C0,
0xF4A1,
0xFDC2,
0xFE80,
0xAE01,
0x4CE2,
0x0C05,
0x02EA};
void setup()
{
// Init M5 stack and http client
M5.begin();
http.useHTTP10(true);
/*
Attempt connecting to a network using credentials in /wifi.json.
Will return false if connection fails
*/
if (!wifi.begin("/wifi.json"))
{
M5.Lcd.println("This program requires a WiFi connection!");
// Do not let the program run
while (true)
{
}
}
// Print ip address
M5.Lcd.println(wifi.ip);
// Print persistant display stuff
M5.Lcd.clearDisplay();
M5.Lcd.fillScreen(0x1082);
// Toon logo
M5.Lcd.setTextColor(0x94B2);
M5.Lcd.setTextDatum(TL_DATUM);
M5.Lcd.setFreeFont(&VarelaRound_Regular10pt7b);
M5.Lcd.drawString("TOON Mini", 6, 6);
// Definition;
M5.Lcd.setFreeFont(&FreeSans12pt7b);
M5.Lcd.setTextDatum(TC_DATUM);
M5.Lcd.drawString("Stroom nu", 160, 42);
}
void loop()
{
// Send request
http.begin("http://192.168.2.7/hdrv_zwave?action=getDevices.json");
http.GET();
// Parse response and disconnect
deserializeJson(doc, http.getStream());
http.end();
// Read values
const float value =
max(
doc["dev_2.4"]["CurrentElectricityFlow"].as<float>(), // Normal tariff
doc["dev_2.6"]["CurrentElectricityFlow"].as<float>()); // Low tariff
// Clear old data
M5.Lcd.fillRect(0, 64, 320, 176, 0x1082);
// Bars
for (size_t i = 0; i < 10; i++)
{
if (value > 1500 - (i * 150))
{
M5.Lcd.fillRoundRect((TFT_HEIGHT - 56) / 2, 76 + (i * 12), 56, 6, 1, colours[i]);
}
else
{
M5.Lcd.fillRoundRect((TFT_HEIGHT - 56) / 2, 76 + (i * 12), 56, 6, 1, 0x94B2);
}
}
// Current value
M5.Lcd.drawString(String(value, 0) + " Watt", 160, 204);
// Wait
delay(5000);
}

7
README.md Normal file
View File

@ -0,0 +1,7 @@
# M5 Stack Toon Mini
### Introduction
Simple M5 stack interface that copies the current power use of a [rooted Toon](//github.com/ToonSoftwareCollective/Root-A-Toon). I made it to search the house for devices that continuously use power and unplug them if it isn't too much of an inconvenience.
### Setup
This sketch can be uploaded to any M5Stack. It is dependant on my other M5 stack project [M5Stack_WifiJson](//github.com/the-real-mcarn/M5Stack_WifiJson). Do not forget to change the IP address at line 69 (nice) to the IP of your Toon or it won't work. A hostname should work as well but if you notice that it won't connect every now and then consider giving your Toon a static IP and change it to that. From experience I can say that the Experiabox V10 does not handle hostname requests consistently.

View File

@ -0,0 +1,214 @@
const uint8_t VarelaRound_Regular10pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0xA3, 0xC0, 0xCF, 0x3C, 0xF3, 0x48, 0x19, 0x86, 0x41,
0x10, 0x44, 0xFF, 0xC4, 0xC3, 0x30, 0xC8, 0xFF, 0xFF, 0xE2, 0x20, 0x98,
0x66, 0x00, 0x04, 0x03, 0x00, 0xC0, 0xFE, 0x7F, 0xF3, 0x0C, 0xC3, 0x30,
0x7C, 0x0F, 0xC0, 0xF8, 0x33, 0x0C, 0xC3, 0x3F, 0xFD, 0xFC, 0x0C, 0x01,
0x00, 0x78, 0x33, 0xF0, 0x88, 0x44, 0x21, 0x30, 0xFC, 0x81, 0xE4, 0x00,
0x37, 0x80, 0xB3, 0x04, 0x84, 0x32, 0x10, 0x88, 0xC4, 0x3F, 0x30, 0x78,
0x1E, 0x03, 0xF0, 0x60, 0x06, 0x00, 0x20, 0x03, 0x00, 0x3C, 0x06, 0xE0,
0xC3, 0x2C, 0x1E, 0x60, 0xC7, 0xFF, 0x1E, 0x30, 0xFF, 0x40, 0x13, 0x36,
0x6C, 0xCC, 0xCC, 0xCC, 0xC4, 0x66, 0x31, 0x8C, 0x66, 0x63, 0x33, 0x33,
0x33, 0x33, 0x66, 0xCC, 0x33, 0x77, 0x9E, 0xDC, 0xC0, 0x08, 0x04, 0x02,
0x1F, 0xFF, 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0xED, 0xAC, 0x7B, 0xF0,
0xEC, 0x04, 0x0C, 0x10, 0x60, 0xC1, 0x06, 0x0C, 0x10, 0x60, 0xC1, 0x06,
0x0C, 0x10, 0x60, 0x80, 0x1F, 0x1F, 0xE6, 0x1F, 0x03, 0xC0, 0xF0, 0x1C,
0x07, 0x01, 0xC0, 0xF0, 0x36, 0x1D, 0xFE, 0x1F, 0x00, 0x18, 0x7C, 0xEC,
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x7F, 0x7F, 0x3F, 0x1F,
0xE0, 0x0C, 0x03, 0x00, 0xC0, 0x60, 0x30, 0x38, 0x1C, 0x0C, 0x06, 0x03,
0xFE, 0xFF, 0xC0, 0x3F, 0x3F, 0xE0, 0x18, 0x02, 0x01, 0x87, 0xC1, 0xF8,
0x06, 0x00, 0xC0, 0x30, 0x0F, 0xFE, 0x7F, 0x00, 0x01, 0x80, 0x38, 0x06,
0x80, 0xC8, 0x18, 0x81, 0x88, 0x30, 0x86, 0x08, 0xFF, 0xF7, 0xFE, 0x00,
0x80, 0x08, 0x00, 0x80, 0x7F, 0x9F, 0xE6, 0x01, 0x80, 0x4E, 0x3F, 0xEE,
0x1C, 0x03, 0x00, 0xC0, 0x34, 0x0F, 0xFE, 0x3F, 0x00, 0x1F, 0x8F, 0xF6,
0x01, 0x00, 0xDF, 0x3F, 0xEE, 0x0F, 0x03, 0xC0, 0x50, 0x36, 0x0C, 0xFE,
0x1F, 0x00, 0xFF, 0xDF, 0xF0, 0x0C, 0x06, 0x01, 0x80, 0xC0, 0x20, 0x18,
0x0C, 0x03, 0x01, 0x80, 0x60, 0x10, 0x00, 0x3F, 0x1F, 0xE6, 0x0D, 0x03,
0x61, 0x8F, 0xC7, 0xFB, 0x03, 0xC0, 0x70, 0x1C, 0x0D, 0xFF, 0x3F, 0x00,
0x3E, 0x1F, 0xEC, 0x1B, 0x03, 0xC0, 0xF0, 0x37, 0xFC, 0xFB, 0x00, 0xC0,
0x30, 0x19, 0xFC, 0x3E, 0x00, 0x7C, 0x00, 0x00, 0xEC, 0x7C, 0x00, 0x00,
0xED, 0xAC, 0x01, 0x83, 0xC7, 0x1E, 0x0C, 0x07, 0x80, 0x70, 0x0F, 0x01,
0x80, 0xFF, 0xF7, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xEF, 0xFF, 0xC0, 0x1C,
0x01, 0xE0, 0x1E, 0x00, 0xC1, 0xE1, 0xE1, 0xC0, 0xC0, 0x00, 0x7C, 0xFE,
0x03, 0x03, 0x03, 0x06, 0x1C, 0x18, 0x30, 0x10, 0x00, 0x30, 0x30, 0x07,
0xE0, 0x0F, 0xF8, 0x38, 0x0C, 0x23, 0xD6, 0x4F, 0xF2, 0xCC, 0x31, 0x98,
0x31, 0x98, 0x21, 0x98, 0x62, 0x8F, 0xE2, 0xC7, 0x1C, 0x40, 0x00, 0x60,
0x10, 0x3F, 0xE0, 0x0F, 0xC0, 0x06, 0x00, 0x38, 0x03, 0xC0, 0x1B, 0x01,
0x98, 0x0C, 0x60, 0xC3, 0x06, 0x0C, 0x3F, 0xE3, 0xFF, 0x18, 0x0D, 0x80,
0x6C, 0x01, 0x80, 0xFF, 0x1F, 0xF3, 0x03, 0x60, 0x6C, 0x0D, 0xFF, 0x3F,
0xE6, 0x06, 0xC0, 0x58, 0x0F, 0x03, 0x7F, 0xEF, 0xF8, 0x0F, 0xC3, 0xFF,
0x70, 0x16, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x06, 0x00,
0x70, 0x13, 0xFF, 0x0F, 0xC0, 0xFF, 0x0F, 0xF8, 0xC0, 0xCC, 0x06, 0xC0,
0x6C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x6C, 0x06, 0xC0, 0xCF, 0xF8, 0xFF,
0x00, 0xFF, 0xFF, 0xF0, 0x18, 0x0C, 0x07, 0xFB, 0xFF, 0x80, 0xC0, 0x60,
0x30, 0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF0, 0x18, 0x0C, 0x07, 0xFB, 0xFF,
0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x00, 0x0F, 0xC3, 0xFF, 0x70, 0x16,
0x00, 0xC0, 0x0C, 0x1F, 0xC1, 0xFC, 0x01, 0xC0, 0x16, 0x01, 0x70, 0x13,
0xFF, 0x0F, 0xC0, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0xFF, 0xFF,
0xFE, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x06, 0xFF, 0xFF, 0xFF,
0xC0, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x81, 0x02, 0x0C, 0x1F, 0xF7,
0x80, 0xC0, 0xD8, 0x33, 0x0C, 0x63, 0x0C, 0xC1, 0xB0, 0x3F, 0x07, 0x30,
0xC7, 0x18, 0x63, 0x06, 0x60, 0x6C, 0x06, 0xC0, 0x60, 0x30, 0x18, 0x0C,
0x06, 0x03, 0x01, 0x80, 0xC0, 0x60, 0x30, 0x1F, 0xFF, 0xF8, 0xE0, 0x0F,
0xC0, 0x1F, 0xC0, 0x7F, 0x80, 0xBD, 0x83, 0x7B, 0x06, 0xF2, 0x19, 0xE6,
0x33, 0xC4, 0x47, 0x8D, 0x8F, 0x1A, 0x1E, 0x1C, 0x3C, 0x38, 0x60, 0xC0,
0x3E, 0x03, 0xF0, 0x3D, 0x83, 0xD8, 0x3C, 0xC3, 0xC6, 0x3C, 0x33, 0xC3,
0x3C, 0x1B, 0xC0, 0xFC, 0x07, 0xC0, 0x70, 0x0F, 0xC0, 0xFF, 0xC7, 0x03,
0x98, 0x06, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0D, 0x80,
0x67, 0x03, 0x8F, 0xFC, 0x0F, 0xC0, 0xFF, 0x3F, 0xFC, 0x0F, 0x01, 0xC0,
0x70, 0x3F, 0xFF, 0xFC, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x00, 0x0F,
0xC0, 0xFF, 0xC7, 0x03, 0x98, 0x06, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0,
0x03, 0xC0, 0x0D, 0x80, 0x67, 0x03, 0x0F, 0xFC, 0x0F, 0xC0, 0x01, 0x80,
0x03, 0x00, 0xFF, 0x1F, 0xFB, 0x03, 0x60, 0x3C, 0x07, 0x81, 0xBF, 0xE7,
0xFC, 0xC0, 0xD8, 0x0B, 0x01, 0xE0, 0x3C, 0x04, 0x3F, 0x9F, 0xFC, 0x03,
0x00, 0xC0, 0x1C, 0x03, 0xF0, 0x0E, 0x00, 0xC0, 0x30, 0x0F, 0xFE, 0x3F,
0x00, 0xFF, 0xF7, 0xFE, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00,
0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0xC0, 0x78, 0x0F,
0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x83,
0x3F, 0xE1, 0xF0, 0xC0, 0x1B, 0x00, 0xD8, 0x04, 0x40, 0x63, 0x03, 0x18,
0x30, 0x61, 0x83, 0x18, 0x0C, 0xC0, 0x64, 0x01, 0x60, 0x0F, 0x00, 0x30,
0x00, 0x80, 0xC0, 0x70, 0x30, 0x3C, 0x1E, 0x0F, 0x07, 0x82, 0x61, 0x61,
0x98, 0xC8, 0x66, 0x33, 0x10, 0xC8, 0xCC, 0x36, 0x13, 0x05, 0x86, 0x81,
0x41, 0xE0, 0x70, 0x38, 0x0C, 0x0C, 0x00, 0xC0, 0x38, 0x0D, 0x83, 0x18,
0xC1, 0xB0, 0x1C, 0x01, 0x80, 0x70, 0x1B, 0x06, 0x31, 0x83, 0x60, 0x3C,
0x02, 0x80, 0x78, 0x0D, 0x83, 0x30, 0xC3, 0x30, 0x36, 0x03, 0x80, 0x60,
0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0xFF, 0xDF, 0xFC, 0x03, 0x00,
0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x38, 0x06, 0x01, 0x80, 0x7F, 0xEF,
0xFE, 0xFE, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8E, 0xF0, 0x81, 0x83,
0x02, 0x06, 0x0C, 0x08, 0x18, 0x30, 0x20, 0x60, 0xC0, 0x81, 0x83, 0x03,
0x06, 0xFF, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x3F, 0xF0, 0x10, 0x71,
0xE2, 0x6C, 0x50, 0xC0, 0xFF, 0xFF, 0xFC, 0xB4, 0x3E, 0x3F, 0x80, 0xC0,
0x33, 0xFF, 0xFF, 0x07, 0x87, 0xFF, 0xBC, 0x80, 0x80, 0x40, 0x20, 0x10,
0x09, 0xE7, 0xFB, 0x07, 0x03, 0x80, 0xC0, 0x60, 0x78, 0x3F, 0xF4, 0xF0,
0x1F, 0x3F, 0xD8, 0x18, 0x0C, 0x06, 0x03, 0x00, 0xC0, 0x7F, 0x8F, 0x80,
0x00, 0xC0, 0x30, 0x0C, 0x03, 0x1E, 0xDF, 0xF6, 0x1F, 0x03, 0xC0, 0xF0,
0x3C, 0x0D, 0x87, 0x7F, 0xC7, 0xB0, 0x3E, 0x3F, 0xB0, 0x78, 0x3F, 0xFF,
0xFF, 0x01, 0xC0, 0x7F, 0x9F, 0x80, 0x1E, 0x3C, 0xC1, 0x8F, 0xEF, 0xCC,
0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x00, 0x1E, 0xDF, 0xF6, 0x1F, 0x03,
0xC0, 0xF0, 0x3C, 0x0D, 0x87, 0x7F, 0xC7, 0xB0, 0x0C, 0x03, 0x41, 0x9F,
0xE3, 0xF0, 0x80, 0x80, 0x80, 0x80, 0x9E, 0xBF, 0xC3, 0x81, 0x81, 0x81,
0x81, 0x81, 0x81, 0x81, 0xE8, 0x24, 0x92, 0x49, 0x24, 0x38, 0x80, 0x21,
0x08, 0x42, 0x10, 0x84, 0x21, 0x08, 0x42, 0xF7, 0x80, 0x80, 0x80, 0x80,
0x80, 0x82, 0x86, 0x8C, 0xB8, 0xF8, 0xF8, 0xCC, 0x86, 0x83, 0x83, 0xFF,
0xFC, 0x9C, 0x79, 0x7D, 0xFB, 0x0E, 0x34, 0x18, 0x38, 0x30, 0x70, 0x60,
0xE0, 0xC1, 0xC1, 0x83, 0x83, 0x07, 0x06, 0x08, 0x9E, 0xBF, 0xC3, 0x81,
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x1E, 0x1F, 0xEE, 0x1B, 0x03, 0xC0,
0xF0, 0x3C, 0x0F, 0x86, 0x7F, 0x87, 0x80, 0x9E, 0x7F, 0xB0, 0x70, 0x38,
0x0C, 0x06, 0x07, 0x83, 0xFF, 0x4F, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
0x1E, 0xDF, 0xF6, 0x1F, 0x03, 0xC0, 0xF0, 0x3C, 0x0D, 0x87, 0x7F, 0xC7,
0xB0, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x9D, 0xF1, 0x08, 0x42, 0x10,
0x84, 0x00, 0x7E, 0xFE, 0xC0, 0xC0, 0x78, 0x3E, 0x02, 0x03, 0xFE, 0x7C,
0x10, 0x61, 0xFF, 0xF3, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xF8, 0xF0, 0x40,
0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x02, 0xC3, 0x7E, 0x9E, 0x40, 0x81,
0xE0, 0xF0, 0xC8, 0x66, 0x23, 0x30, 0xD8, 0x78, 0x1C, 0x0C, 0x00, 0x83,
0x0F, 0x0C, 0x3C, 0x70, 0xB1, 0xE6, 0x45, 0x99, 0xB2, 0x46, 0xCF, 0x0A,
0x3C, 0x38, 0x60, 0x61, 0x80, 0xC1, 0xF1, 0x99, 0x87, 0xC1, 0xC0, 0xE0,
0xF8, 0xCC, 0xE3, 0x60, 0xC0, 0x81, 0xE0, 0xF0, 0x58, 0x66, 0x33, 0x30,
0xD8, 0x68, 0x3C, 0x0E, 0x06, 0x03, 0x01, 0x01, 0x80, 0xC0, 0xFF, 0xFF,
0x06, 0x0C, 0x18, 0x38, 0x30, 0x60, 0xFF, 0xFF, 0x0C, 0x71, 0x04, 0x10,
0x41, 0x0C, 0xF3, 0x83, 0x04, 0x10, 0x41, 0x04, 0x1C, 0x70, 0xFF, 0xFF,
0xC0, 0xC3, 0x82, 0x08, 0x20, 0x82, 0x08, 0x38, 0x73, 0x08, 0x20, 0x82,
0x08, 0xE3, 0x00, 0x38, 0x5F, 0xF8, 0x78 };
const GFXglyph VarelaRound_Regular10pt7bGlyphs[] PROGMEM = {
{ 0, 1, 1, 5, 0, 0 }, // 0x20 ' '
{ 1, 2, 13, 6, 2, -12 }, // 0x21 '!'
{ 5, 6, 5, 8, 1, -13 }, // 0x22 '"'
{ 9, 10, 13, 12, 1, -12 }, // 0x23 '#'
{ 26, 10, 18, 12, 1, -15 }, // 0x24 '$'
{ 49, 14, 13, 16, 1, -12 }, // 0x25 '%'
{ 72, 12, 13, 14, 1, -12 }, // 0x26 '&'
{ 92, 2, 5, 4, 1, -13 }, // 0x27 '''
{ 94, 4, 18, 6, 1, -14 }, // 0x28 '('
{ 103, 4, 18, 6, 1, -14 }, // 0x29 ')'
{ 112, 6, 6, 8, 1, -12 }, // 0x2A '*'
{ 117, 9, 9, 11, 1, -10 }, // 0x2B '+'
{ 128, 3, 5, 5, 1, -1 }, // 0x2C ','
{ 130, 6, 2, 8, 1, -6 }, // 0x2D '-'
{ 132, 3, 2, 5, 1, -1 }, // 0x2E '.'
{ 133, 7, 17, 9, 1, -14 }, // 0x2F '/'
{ 148, 10, 13, 12, 1, -12 }, // 0x30 '0'
{ 165, 8, 13, 12, 2, -12 }, // 0x31 '1'
{ 178, 10, 13, 12, 1, -12 }, // 0x32 '2'
{ 195, 10, 13, 12, 1, -12 }, // 0x33 '3'
{ 212, 12, 13, 12, 0, -12 }, // 0x34 '4'
{ 232, 10, 13, 12, 1, -12 }, // 0x35 '5'
{ 249, 10, 13, 12, 1, -12 }, // 0x36 '6'
{ 266, 10, 13, 12, 1, -12 }, // 0x37 '7'
{ 283, 10, 13, 12, 1, -12 }, // 0x38 '8'
{ 300, 10, 13, 12, 1, -12 }, // 0x39 '9'
{ 317, 3, 10, 5, 1, -9 }, // 0x3A ':'
{ 321, 3, 13, 5, 1, -9 }, // 0x3B ';'
{ 326, 9, 9, 11, 1, -9 }, // 0x3C '<'
{ 337, 12, 6, 14, 1, -8 }, // 0x3D '='
{ 346, 10, 9, 11, 1, -9 }, // 0x3E '>'
{ 358, 8, 13, 10, 1, -12 }, // 0x3F '?'
{ 371, 16, 15, 18, 1, -12 }, // 0x40 '@'
{ 401, 13, 13, 15, 1, -12 }, // 0x41 'A'
{ 423, 11, 13, 14, 2, -12 }, // 0x42 'B'
{ 441, 12, 13, 14, 1, -12 }, // 0x43 'C'
{ 461, 12, 13, 15, 2, -12 }, // 0x44 'D'
{ 481, 9, 13, 12, 2, -12 }, // 0x45 'E'
{ 496, 9, 13, 12, 2, -12 }, // 0x46 'F'
{ 511, 12, 13, 15, 1, -12 }, // 0x47 'G'
{ 531, 11, 13, 15, 2, -12 }, // 0x48 'H'
{ 549, 2, 13, 6, 2, -12 }, // 0x49 'I'
{ 553, 7, 13, 9, 0, -12 }, // 0x4A 'J'
{ 565, 11, 13, 13, 2, -12 }, // 0x4B 'K'
{ 583, 9, 13, 11, 2, -12 }, // 0x4C 'L'
{ 598, 15, 13, 19, 2, -12 }, // 0x4D 'M'
{ 623, 12, 13, 16, 2, -12 }, // 0x4E 'N'
{ 643, 14, 13, 16, 1, -12 }, // 0x4F 'O'
{ 666, 10, 13, 13, 2, -12 }, // 0x50 'P'
{ 683, 14, 15, 16, 1, -12 }, // 0x51 'Q'
{ 710, 11, 13, 14, 2, -12 }, // 0x52 'R'
{ 728, 10, 13, 12, 1, -12 }, // 0x53 'S'
{ 745, 12, 13, 12, 0, -12 }, // 0x54 'T'
{ 765, 11, 13, 15, 2, -12 }, // 0x55 'U'
{ 783, 13, 13, 14, 0, -12 }, // 0x56 'V'
{ 805, 18, 13, 20, 1, -12 }, // 0x57 'W'
{ 835, 11, 13, 13, 1, -12 }, // 0x58 'X'
{ 853, 11, 13, 13, 1, -12 }, // 0x59 'Y'
{ 871, 11, 13, 12, 1, -12 }, // 0x5A 'Z'
{ 889, 4, 17, 6, 2, -13 }, // 0x5B '['
{ 898, 7, 17, 9, 1, -14 }, // 0x5C '\'
{ 913, 4, 17, 6, 1, -13 }, // 0x5D ']'
{ 922, 7, 6, 10, 2, -13 }, // 0x5E '^'
{ 928, 11, 2, 13, 1, 2 }, // 0x5F '_'
{ 931, 2, 3, 5, 2, -13 }, // 0x60 '`'
{ 932, 9, 10, 11, 1, -9 }, // 0x61 'a'
{ 944, 9, 14, 12, 2, -13 }, // 0x62 'b'
{ 960, 9, 10, 10, 1, -9 }, // 0x63 'c'
{ 972, 10, 14, 12, 1, -13 }, // 0x64 'd'
{ 990, 9, 10, 11, 1, -9 }, // 0x65 'e'
{ 1002, 7, 14, 7, 0, -13 }, // 0x66 'f'
{ 1015, 10, 15, 12, 1, -9 }, // 0x67 'g'
{ 1034, 8, 14, 12, 2, -13 }, // 0x68 'h'
{ 1048, 3, 13, 5, 1, -12 }, // 0x69 'i'
{ 1053, 5, 18, 5, -1, -12 }, // 0x6A 'j'
{ 1065, 8, 14, 11, 2, -13 }, // 0x6B 'k'
{ 1079, 1, 14, 5, 2, -13 }, // 0x6C 'l'
{ 1081, 15, 10, 18, 2, -9 }, // 0x6D 'm'
{ 1100, 8, 10, 12, 2, -9 }, // 0x6E 'n'
{ 1110, 10, 10, 12, 1, -9 }, // 0x6F 'o'
{ 1123, 9, 15, 12, 2, -9 }, // 0x70 'p'
{ 1140, 10, 15, 12, 1, -9 }, // 0x71 'q'
{ 1159, 5, 10, 8, 2, -9 }, // 0x72 'r'
{ 1166, 8, 10, 9, 1, -9 }, // 0x73 's'
{ 1176, 7, 12, 7, 0, -11 }, // 0x74 't'
{ 1187, 9, 10, 12, 1, -9 }, // 0x75 'u'
{ 1199, 9, 10, 10, 1, -9 }, // 0x76 'v'
{ 1211, 14, 10, 16, 1, -9 }, // 0x77 'w'
{ 1229, 9, 10, 11, 1, -9 }, // 0x78 'x'
{ 1241, 9, 15, 11, 1, -9 }, // 0x79 'y'
{ 1258, 8, 10, 10, 1, -9 }, // 0x7A 'z'
{ 1268, 6, 18, 7, 0, -14 }, // 0x7B '{'
{ 1282, 1, 18, 5, 2, -13 }, // 0x7C '|'
{ 1285, 6, 18, 7, 1, -14 }, // 0x7D '}'
{ 1299, 10, 3, 12, 1, -6 } }; // 0x7E '~'
const GFXfont VarelaRound_Regular10pt7b PROGMEM = {
(uint8_t *)VarelaRound_Regular10pt7bBitmaps,
(GFXglyph *)VarelaRound_Regular10pt7bGlyphs,
0x20, 0x7E, 24 };
// Approx. 1975 bytes

View File

@ -0,0 +1,262 @@
const uint8_t VarelaRound_Regular12pt7bBitmaps[] PROGMEM = {
0x00, 0xDF, 0xFD, 0xB6, 0xDB, 0x20, 0xBE, 0x67, 0xCF, 0x9B, 0x34, 0x68,
0xC0, 0x08, 0x40, 0x62, 0x03, 0x10, 0x11, 0x80, 0x8C, 0x3F, 0xFD, 0xFF,
0xC3, 0x10, 0x18, 0x80, 0xCC, 0x3F, 0xFD, 0xFF, 0xE3, 0x18, 0x18, 0xC0,
0xC4, 0x04, 0x20, 0x02, 0x00, 0x20, 0x02, 0x01, 0xFE, 0x3F, 0xF7, 0x22,
0xE2, 0x0E, 0x20, 0xE2, 0x07, 0x20, 0x3F, 0x00, 0xFE, 0x03, 0xF0, 0x23,
0x02, 0x30, 0x23, 0xC2, 0x7F, 0xFE, 0x3F, 0xC0, 0x20, 0x02, 0x00, 0x3C,
0x04, 0x3F, 0x06, 0x31, 0x86, 0x18, 0x62, 0x0C, 0x33, 0x06, 0x33, 0x01,
0xF9, 0x80, 0x79, 0x80, 0x01, 0x9F, 0x00, 0xD9, 0xC0, 0xC8, 0x60, 0xC4,
0x30, 0x62, 0x18, 0x61, 0x8C, 0x60, 0xFC, 0x30, 0x3C, 0x1E, 0x00, 0xFE,
0x07, 0x10, 0x18, 0x00, 0x60, 0x01, 0x80, 0x03, 0x00, 0x0E, 0x00, 0x7E,
0x03, 0x9C, 0x0C, 0x39, 0xB0, 0x7E, 0xC0, 0xF3, 0x83, 0xC7, 0xFD, 0x87,
0xC3, 0x7F, 0xB4, 0x80, 0x08, 0xCE, 0x67, 0x31, 0x8C, 0xE6, 0x31, 0x8C,
0x63, 0x8C, 0x63, 0x8C, 0x61, 0x8C, 0x46, 0x18, 0xE3, 0x18, 0xE3, 0x18,
0xC6, 0x31, 0x8C, 0x67, 0x31, 0x9C, 0xCE, 0x60, 0x32, 0x97, 0x9E, 0xA4,
0xC3, 0x00, 0x04, 0x00, 0xC0, 0x18, 0x03, 0x0F, 0xFF, 0xFF, 0xC1, 0x80,
0x30, 0x06, 0x00, 0xC0, 0x10, 0x00, 0x6D, 0x93, 0xC0, 0xFF, 0xF0, 0xFC,
0x01, 0x03, 0x03, 0x07, 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x18,
0x30, 0x30, 0x30, 0x60, 0x60, 0x60, 0xC0, 0xC0, 0x0F, 0x81, 0xFE, 0x1C,
0x38, 0xC0, 0xEE, 0x03, 0x60, 0x1F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x01,
0xF0, 0x0F, 0xC0, 0x66, 0x07, 0x38, 0x70, 0xFF, 0x81, 0xF0, 0x1C, 0x3E,
0x3F, 0x19, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80,
0xC0, 0x63, 0xFF, 0xFF, 0x3F, 0x1F, 0xFB, 0x03, 0x00, 0x30, 0x06, 0x00,
0xC0, 0x38, 0x0E, 0x03, 0x81, 0xE0, 0x70, 0x3C, 0x0E, 0x01, 0x80, 0x3F,
0xFF, 0xFF, 0x1F, 0x87, 0xFC, 0x40, 0xE0, 0x06, 0x00, 0x60, 0x06, 0x00,
0xE1, 0xF8, 0x1F, 0xC0, 0x0E, 0x00, 0x30, 0x03, 0x00, 0x34, 0x07, 0xFF,
0xE3, 0xF8, 0x01, 0xC0, 0x1E, 0x00, 0xF0, 0x0D, 0x80, 0xCC, 0x0E, 0x60,
0xE3, 0x06, 0x18, 0x60, 0xC6, 0x06, 0x3F, 0xFF, 0xFF, 0xF0, 0x0C, 0x00,
0x60, 0x03, 0x00, 0x18, 0x3F, 0xF3, 0xFE, 0x30, 0x06, 0x00, 0x60, 0x06,
0x00, 0x6F, 0xC7, 0xFE, 0x70, 0x70, 0x03, 0x00, 0x30, 0x03, 0x00, 0x3E,
0x07, 0x7F, 0xE1, 0xF8, 0x0F, 0xC0, 0xFF, 0x8E, 0x08, 0xE0, 0x06, 0x00,
0x33, 0xE3, 0xFF, 0x9F, 0x0E, 0xE0, 0x37, 0x01, 0xD8, 0x0E, 0xC0, 0x77,
0x03, 0x1C, 0x38, 0xFF, 0x81, 0xF8, 0xFF, 0xF7, 0xFF, 0x00, 0x30, 0x06,
0x00, 0x60, 0x0C, 0x00, 0xC0, 0x18, 0x01, 0x80, 0x30, 0x03, 0x00, 0x60,
0x0E, 0x00, 0xC0, 0x1C, 0x01, 0x80, 0x1F, 0x81, 0xFF, 0x1C, 0x1C, 0xC0,
0x66, 0x03, 0x38, 0x30, 0xFF, 0x07, 0xF8, 0x70, 0x77, 0x01, 0xB0, 0x0F,
0x80, 0x7E, 0x03, 0xB8, 0x39, 0xFF, 0x83, 0xF8, 0x1F, 0x83, 0xFC, 0x70,
0xEE, 0x07, 0xC0, 0x3C, 0x03, 0xE0, 0x37, 0x0F, 0x7F, 0xF1, 0xF3, 0x00,
0x30, 0x07, 0x00, 0x66, 0x0E, 0x7F, 0xC3, 0xF0, 0xFC, 0x00, 0x3F, 0x6D,
0x80, 0x00, 0x0D, 0xB2, 0x78, 0x00, 0x60, 0x3C, 0x1E, 0x1F, 0x0F, 0x81,
0x80, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x3C, 0x01, 0x80, 0xFF, 0xFF, 0xFF,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xE0, 0xE0, 0x0F, 0x80,
0x3E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x01, 0xE0, 0x78, 0x3E, 0x07, 0x80,
0xE0, 0x00, 0x7E, 0x3F, 0xE8, 0x18, 0x07, 0x01, 0xC0, 0x60, 0x38, 0x1C,
0x0C, 0x07, 0x01, 0x80, 0x20, 0x00, 0x06, 0x01, 0xC0, 0x60, 0x01, 0xF8,
0x00, 0xC0, 0xC0, 0x20, 0x06, 0x08, 0x00, 0x62, 0x1F, 0x44, 0xC7, 0xFC,
0xD1, 0xC3, 0x0E, 0x30, 0x61, 0x8C, 0x0C, 0x31, 0x81, 0x86, 0x30, 0x31,
0xE7, 0x0E, 0x24, 0x7F, 0xCC, 0x87, 0xCF, 0x08, 0x00, 0x01, 0x80, 0x00,
0x1C, 0x0C, 0x00, 0xFE, 0x00, 0x01, 0x80, 0x07, 0x80, 0x0F, 0x00, 0x36,
0x00, 0x66, 0x01, 0xCC, 0x03, 0x1C, 0x0E, 0x18, 0x18, 0x38, 0x30, 0x30,
0xFF, 0xE1, 0xFF, 0xE7, 0x00, 0xCC, 0x01, 0xF8, 0x01, 0xE0, 0x03, 0xFF,
0xC7, 0xFF, 0x30, 0x1D, 0x80, 0x6C, 0x03, 0x60, 0x1B, 0x01, 0x9F, 0xF8,
0xFF, 0xE6, 0x01, 0xB0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x1F, 0xFF, 0xDF,
0xF8, 0x07, 0xF0, 0x7F, 0xF3, 0xC0, 0xCC, 0x00, 0x60, 0x01, 0x80, 0x0E,
0x00, 0x30, 0x00, 0xC0, 0x03, 0x80, 0x06, 0x00, 0x18, 0x00, 0x30, 0x00,
0xF0, 0x31, 0xFF, 0xC1, 0xFC, 0xFF, 0x83, 0xFF, 0x8C, 0x07, 0x30, 0x0E,
0xC0, 0x1F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00,
0xF0, 0x07, 0xC0, 0x3B, 0x01, 0xCF, 0xFE, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF,
0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0F, 0xFE, 0xFF, 0xEC, 0x00,
0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x07, 0xFF, 0xFF, 0xD8, 0x03, 0x00,
0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0x07, 0xF0, 0x3F, 0xF8, 0xF0,
0x39, 0x80, 0x06, 0x00, 0x0C, 0x00, 0x38, 0x00, 0x60, 0x7F, 0xC0, 0xFF,
0xC0, 0x0D, 0x80, 0x1B, 0x00, 0x33, 0x00, 0x67, 0x81, 0xC7, 0xFF, 0x03,
0xF8, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00,
0x7F, 0xFF, 0xFF, 0xFE, 0x00, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F,
0x00, 0x78, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x80, 0xC0, 0x60, 0x30,
0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0x60, 0x30, 0x3A, 0x1B, 0xFC,
0xF8, 0xC0, 0x36, 0x03, 0xB0, 0x39, 0x83, 0x8C, 0x38, 0x63, 0x83, 0x38,
0x1B, 0xC0, 0xFF, 0x07, 0x9C, 0x38, 0x71, 0x81, 0x8C, 0x06, 0x60, 0x3B,
0x00, 0xF8, 0x03, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30,
0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x3F, 0xFB,
0xFF, 0x70, 0x01, 0xFC, 0x00, 0xFD, 0x80, 0x3F, 0x60, 0x0F, 0xD8, 0x06,
0xF3, 0x01, 0xBC, 0xC0, 0xEF, 0x18, 0x33, 0xC6, 0x0C, 0xF1, 0xC6, 0x3C,
0x31, 0x8F, 0x0C, 0xC3, 0xC1, 0xB0, 0xF0, 0x7C, 0x3C, 0x0E, 0x0F, 0x03,
0x83, 0x60, 0x05, 0xE0, 0x1F, 0xE0, 0x3E, 0xC0, 0x7C, 0xC0, 0xF9, 0xC1,
0xF1, 0xC3, 0xE1, 0x87, 0xC1, 0x8F, 0x83, 0x9F, 0x03, 0x3E, 0x03, 0x7C,
0x07, 0xF8, 0x07, 0xF0, 0x07, 0xE0, 0x06, 0x07, 0xF0, 0x0F, 0xFE, 0x0F,
0x07, 0x86, 0x00, 0xC6, 0x00, 0x33, 0x00, 0x1B, 0x80, 0x0F, 0x80, 0x03,
0xC0, 0x01, 0xF0, 0x01, 0xD8, 0x00, 0xCC, 0x00, 0x63, 0x00, 0x71, 0xE0,
0xF0, 0x7F, 0xF0, 0x0F, 0xE0, 0xFF, 0xC7, 0xFF, 0xB0, 0x1D, 0x80, 0x7C,
0x01, 0xE0, 0x0F, 0x00, 0xF8, 0x0E, 0xFF, 0xF7, 0xFE, 0x30, 0x01, 0x80,
0x0C, 0x00, 0x60, 0x03, 0x00, 0x18, 0x00, 0x07, 0xF0, 0x0F, 0xFE, 0x0F,
0x07, 0x86, 0x00, 0xC6, 0x00, 0x33, 0x00, 0x1B, 0x80, 0x0F, 0x80, 0x03,
0xC0, 0x01, 0xF0, 0x01, 0xD8, 0x00, 0xCC, 0x00, 0x63, 0x00, 0x71, 0xE0,
0xF0, 0x7F, 0xF0, 0x0F, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x03, 0x00,
0xFF, 0xC7, 0xFF, 0xB0, 0x0F, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78,
0x0E, 0xFF, 0xE7, 0xFF, 0x30, 0x1D, 0x80, 0x7C, 0x01, 0xE0, 0x0F, 0x00,
0x78, 0x03, 0x1F, 0xC3, 0xFF, 0x70, 0x2E, 0x00, 0xE0, 0x0E, 0x00, 0x70,
0x03, 0xF0, 0x0F, 0xE0, 0x0F, 0x00, 0x30, 0x03, 0x00, 0x3E, 0x07, 0xFF,
0xE1, 0xF8, 0xFF, 0xFF, 0xFF, 0xF0, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C,
0x00, 0x30, 0x00, 0xC0, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x03,
0x00, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0xC0, 0x0B, 0x00, 0x3C, 0x00, 0xF0,
0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C,
0x01, 0xF8, 0x06, 0x60, 0x19, 0xC1, 0xE3, 0xFF, 0x03, 0xF0, 0xC0, 0x07,
0x80, 0x1F, 0x00, 0x33, 0x00, 0xE6, 0x01, 0x8E, 0x03, 0x0C, 0x0E, 0x18,
0x18, 0x18, 0x70, 0x30, 0xC0, 0x31, 0x80, 0x66, 0x00, 0xEC, 0x00, 0xF8,
0x01, 0xE0, 0x01, 0xC0, 0xC0, 0x30, 0x0F, 0x01, 0xC0, 0x3C, 0x07, 0x81,
0xF8, 0x1E, 0x06, 0x60, 0xF8, 0x19, 0x83, 0x30, 0x67, 0x0C, 0xC3, 0x0C,
0x33, 0x0C, 0x31, 0x86, 0x30, 0xC6, 0x19, 0x81, 0x98, 0x66, 0x06, 0xC0,
0x98, 0x1B, 0x03, 0xC0, 0x3C, 0x0F, 0x00, 0xE0, 0x3C, 0x01, 0x80, 0x60,
0xC0, 0x0F, 0x80, 0x77, 0x03, 0x8C, 0x1C, 0x18, 0x60, 0x33, 0x00, 0xF8,
0x01, 0xE0, 0x07, 0x00, 0x3E, 0x00, 0xCC, 0x06, 0x38, 0x30, 0x71, 0xC0,
0xEE, 0x01, 0xF0, 0x03, 0xC0, 0x1E, 0x00, 0xF8, 0x0E, 0xE0, 0xE3, 0x06,
0x0C, 0x60, 0x77, 0x01, 0xF0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00,
0x70, 0x03, 0x80, 0x1C, 0x00, 0x40, 0xFF, 0xF7, 0xFF, 0xC0, 0x0C, 0x00,
0xC0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0x60, 0x06, 0x00, 0x70, 0x07, 0x00,
0x70, 0x07, 0x00, 0x30, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8C, 0x63,
0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x3F, 0xF0, 0xC0, 0xC0, 0x60,
0x60, 0x60, 0x30, 0x30, 0x30, 0x18, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x06,
0x06, 0x06, 0x03, 0x03, 0x01, 0xF7, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6,
0x31, 0x8C, 0x63, 0x18, 0xFF, 0xE0, 0x08, 0x3C, 0x3C, 0x76, 0x67, 0xC3,
0xC1, 0xFF, 0xFF, 0xFF, 0xC0, 0x59, 0x90, 0x3F, 0x1F, 0xE4, 0x1C, 0x03,
0x00, 0xCF, 0xF7, 0xFF, 0x83, 0xC0, 0xF8, 0x77, 0xFC, 0xF9, 0xC0, 0x0C,
0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0xF0, 0xFF, 0xCF, 0x0E, 0xC0, 0x6C,
0x07, 0xC0, 0x3C, 0x03, 0xC0, 0x7C, 0x06, 0xE0, 0xEF, 0xFC, 0xCF, 0x00,
0x0F, 0x87, 0xFD, 0xC1, 0x30, 0x0E, 0x01, 0x80, 0x30, 0x07, 0x00, 0x60,
0x0E, 0x08, 0xFF, 0x87, 0xC0, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00,
0x31, 0xF3, 0x3F, 0xF7, 0x0F, 0x60, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0,
0x36, 0x03, 0x70, 0xF3, 0xFF, 0x1F, 0x30, 0x1F, 0x07, 0xF9, 0xC3, 0x30,
0x3C, 0x07, 0xFF, 0xFF, 0xFE, 0x00, 0xE0, 0x0E, 0x08, 0xFF, 0x8F, 0xC0,
0x0F, 0x0F, 0xC6, 0x03, 0x01, 0x87, 0xFD, 0xFE, 0x30, 0x18, 0x0C, 0x06,
0x03, 0x01, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x00, 0x0F, 0x33, 0xFF, 0x70,
0xF6, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0x60, 0x37, 0x0F, 0x3F,
0xF1, 0xF3, 0x00, 0x30, 0x07, 0x60, 0x67, 0xFE, 0x1F, 0x80, 0xC0, 0x18,
0x03, 0x00, 0x60, 0x0C, 0x01, 0x9E, 0x37, 0xF7, 0x86, 0xE0, 0xD8, 0x1F,
0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0x40, 0xF0, 0xFF,
0xFF, 0xFF, 0x18, 0xC0, 0x01, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63,
0x18, 0xC7, 0xFF, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x6C,
0x3B, 0x1C, 0xCE, 0x37, 0x0F, 0xC3, 0xF8, 0xE7, 0x30, 0xCC, 0x1B, 0x07,
0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xCF, 0x0F, 0x37, 0xEF, 0xEE,
0x1E, 0x1B, 0x03, 0x03, 0xC0, 0xC0, 0xF0, 0x30, 0x3C, 0x0C, 0x0F, 0x03,
0x03, 0xC0, 0xC0, 0xF0, 0x30, 0x3C, 0x0C, 0x0F, 0x03, 0x03, 0xCF, 0x1B,
0xFB, 0xC3, 0x70, 0x6C, 0x0F, 0x81, 0xF0, 0x3E, 0x07, 0xC0, 0xF8, 0x1F,
0x03, 0xE0, 0x20, 0x1F, 0x83, 0xFC, 0x70, 0xE6, 0x07, 0xC0, 0x3C, 0x03,
0xC0, 0x3E, 0x03, 0x60, 0x77, 0x0E, 0x3F, 0xC0, 0xF8, 0xCF, 0x0F, 0xFC,
0xF0, 0xEC, 0x06, 0xC0, 0x7C, 0x03, 0xC0, 0x3C, 0x07, 0xC0, 0x6E, 0x0E,
0xFF, 0xCC, 0xF0, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x00, 0x1F,
0x33, 0xFF, 0x70, 0xF6, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0x60,
0x37, 0x0F, 0x3F, 0xF1, 0xF3, 0x00, 0x30, 0x03, 0x00, 0x30, 0x03, 0x00,
0x30, 0xCF, 0xBF, 0xC6, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x00,
0x3F, 0x3F, 0xF8, 0x18, 0x0E, 0x03, 0xE0, 0x7C, 0x07, 0x01, 0xA0, 0xFF,
0xE7, 0xC0, 0x08, 0x18, 0x38, 0x7F, 0xFF, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x1F, 0x0F, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0,
0x3C, 0x0F, 0x03, 0xC0, 0xF8, 0x77, 0xFC, 0xF1, 0xC0, 0x78, 0x1F, 0x03,
0x30, 0x66, 0x18, 0xE3, 0x0C, 0xE1, 0x98, 0x1B, 0x03, 0xC0, 0x38, 0x06,
0x00, 0xC1, 0x81, 0xE0, 0xE0, 0xF0, 0x70, 0xFC, 0x78, 0x66, 0x36, 0x33,
0x1B, 0x39, 0x99, 0x98, 0x6C, 0x6C, 0x36, 0x3C, 0x0E, 0x1E, 0x07, 0x07,
0x03, 0x83, 0x00, 0xC0, 0x5C, 0x1D, 0xC7, 0x1D, 0xC1, 0xF0, 0x1C, 0x03,
0x80, 0xF8, 0x3B, 0x8E, 0x3B, 0x83, 0xE0, 0x20, 0xC0, 0x78, 0x0F, 0x03,
0x30, 0x66, 0x1C, 0xE3, 0x0C, 0x61, 0x98, 0x1B, 0x03, 0xC0, 0x38, 0x07,
0x00, 0xC0, 0x38, 0x06, 0x00, 0xC0, 0x10, 0x00, 0xFF, 0xBF, 0xF0, 0x18,
0x0C, 0x06, 0x03, 0x81, 0xC0, 0xE0, 0x70, 0x18, 0x0F, 0xFF, 0xFF, 0x0E,
0x3C, 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0xE3, 0x83, 0x81, 0x83, 0x06,
0x0C, 0x18, 0x30, 0x60, 0xF0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0,
0xE1, 0xE0, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x38, 0x38, 0xE3, 0x06,
0x0C, 0x18, 0x30, 0x60, 0xC7, 0x8E, 0x00, 0x78, 0x3F, 0xC6, 0x3F, 0xC1,
0xE0 };
const GFXglyph VarelaRound_Regular12pt7bGlyphs[] PROGMEM = {
{ 0, 1, 1, 6, 0, 0 }, // 0x20 ' '
{ 1, 3, 16, 7, 2, -15 }, // 0x21 '!'
{ 7, 7, 6, 10, 1, -16 }, // 0x22 '"'
{ 13, 13, 16, 14, 1, -15 }, // 0x23 '#'
{ 39, 12, 21, 14, 1, -18 }, // 0x24 '$'
{ 71, 17, 16, 19, 1, -15 }, // 0x25 '%'
{ 105, 14, 16, 17, 2, -15 }, // 0x26 '&'
{ 133, 3, 6, 5, 1, -16 }, // 0x27 '''
{ 136, 5, 22, 7, 1, -17 }, // 0x28 '('
{ 150, 5, 22, 7, 1, -17 }, // 0x29 ')'
{ 164, 6, 7, 10, 2, -15 }, // 0x2A '*'
{ 170, 11, 11, 13, 1, -12 }, // 0x2B '+'
{ 186, 3, 6, 6, 1, -2 }, // 0x2C ','
{ 189, 6, 2, 10, 2, -7 }, // 0x2D '-'
{ 191, 2, 3, 6, 2, -2 }, // 0x2E '.'
{ 192, 8, 20, 10, 1, -17 }, // 0x2F '/'
{ 212, 13, 16, 15, 1, -15 }, // 0x30 '0'
{ 238, 9, 16, 15, 3, -15 }, // 0x31 '1'
{ 256, 11, 16, 15, 2, -15 }, // 0x32 '2'
{ 278, 12, 16, 15, 1, -15 }, // 0x33 '3'
{ 302, 13, 16, 15, 1, -15 }, // 0x34 '4'
{ 328, 12, 16, 15, 1, -15 }, // 0x35 '5'
{ 352, 13, 16, 15, 1, -15 }, // 0x36 '6'
{ 378, 12, 16, 15, 1, -15 }, // 0x37 '7'
{ 402, 13, 16, 15, 1, -15 }, // 0x38 '8'
{ 428, 12, 16, 15, 1, -15 }, // 0x39 '9'
{ 452, 2, 12, 6, 2, -11 }, // 0x3A ':'
{ 455, 3, 15, 6, 1, -11 }, // 0x3B ';'
{ 461, 11, 11, 14, 1, -11 }, // 0x3C '<'
{ 477, 13, 7, 17, 2, -10 }, // 0x3D '='
{ 489, 12, 11, 14, 1, -11 }, // 0x3E '>'
{ 506, 10, 16, 12, 1, -15 }, // 0x3F '?'
{ 526, 19, 18, 21, 1, -15 }, // 0x40 '@'
{ 569, 15, 16, 18, 1, -15 }, // 0x41 'A'
{ 599, 13, 16, 16, 2, -15 }, // 0x42 'B'
{ 625, 14, 16, 16, 1, -15 }, // 0x43 'C'
{ 653, 14, 16, 18, 2, -15 }, // 0x44 'D'
{ 681, 12, 16, 15, 2, -15 }, // 0x45 'E'
{ 705, 11, 16, 14, 2, -15 }, // 0x46 'F'
{ 727, 15, 16, 18, 1, -15 }, // 0x47 'G'
{ 757, 13, 16, 18, 2, -15 }, // 0x48 'H'
{ 783, 2, 16, 7, 2, -15 }, // 0x49 'I'
{ 787, 9, 16, 11, 0, -15 }, // 0x4A 'J'
{ 805, 13, 16, 16, 2, -15 }, // 0x4B 'K'
{ 831, 11, 16, 14, 2, -15 }, // 0x4C 'L'
{ 853, 18, 16, 23, 2, -15 }, // 0x4D 'M'
{ 889, 15, 16, 19, 2, -15 }, // 0x4E 'N'
{ 919, 17, 16, 19, 1, -15 }, // 0x4F 'O'
{ 953, 13, 16, 16, 2, -15 }, // 0x50 'P'
{ 979, 17, 19, 19, 1, -15 }, // 0x51 'Q'
{ 1020, 13, 16, 17, 2, -15 }, // 0x52 'R'
{ 1046, 12, 16, 14, 1, -15 }, // 0x53 'S'
{ 1070, 14, 16, 14, 0, -15 }, // 0x54 'T'
{ 1098, 14, 16, 18, 2, -15 }, // 0x55 'U'
{ 1126, 15, 16, 16, 1, -15 }, // 0x56 'V'
{ 1156, 22, 16, 24, 1, -15 }, // 0x57 'W'
{ 1200, 14, 16, 16, 1, -15 }, // 0x58 'X'
{ 1228, 13, 16, 15, 1, -15 }, // 0x59 'Y'
{ 1254, 13, 16, 15, 1, -15 }, // 0x5A 'Z'
{ 1280, 5, 20, 8, 2, -16 }, // 0x5B '['
{ 1293, 8, 20, 10, 1, -17 }, // 0x5C '\'
{ 1313, 5, 20, 8, 1, -16 }, // 0x5D ']'
{ 1326, 8, 7, 12, 2, -16 }, // 0x5E '^'
{ 1333, 13, 2, 16, 1, 2 }, // 0x5F '_'
{ 1337, 3, 4, 6, 2, -16 }, // 0x60 '`'
{ 1339, 10, 12, 13, 1, -11 }, // 0x61 'a'
{ 1354, 12, 17, 15, 2, -16 }, // 0x62 'b'
{ 1380, 11, 12, 13, 1, -11 }, // 0x63 'c'
{ 1397, 12, 17, 15, 1, -16 }, // 0x64 'd'
{ 1423, 11, 12, 13, 1, -11 }, // 0x65 'e'
{ 1440, 9, 17, 9, 0, -16 }, // 0x66 'f'
{ 1460, 12, 17, 15, 1, -11 }, // 0x67 'g'
{ 1486, 11, 17, 14, 2, -16 }, // 0x68 'h'
{ 1510, 2, 16, 6, 2, -15 }, // 0x69 'i'
{ 1514, 5, 21, 6, -1, -15 }, // 0x6A 'j'
{ 1528, 10, 17, 13, 2, -16 }, // 0x6B 'k'
{ 1550, 2, 17, 6, 2, -16 }, // 0x6C 'l'
{ 1555, 18, 12, 22, 2, -11 }, // 0x6D 'm'
{ 1582, 11, 12, 14, 2, -11 }, // 0x6E 'n'
{ 1599, 12, 12, 14, 1, -11 }, // 0x6F 'o'
{ 1617, 12, 17, 15, 2, -11 }, // 0x70 'p'
{ 1643, 12, 17, 15, 1, -11 }, // 0x71 'q'
{ 1669, 7, 12, 9, 2, -11 }, // 0x72 'r'
{ 1680, 9, 12, 11, 1, -11 }, // 0x73 's'
{ 1694, 8, 15, 9, 0, -14 }, // 0x74 't'
{ 1709, 10, 12, 14, 2, -11 }, // 0x75 'u'
{ 1724, 11, 12, 12, 1, -11 }, // 0x76 'v'
{ 1741, 17, 12, 19, 1, -11 }, // 0x77 'w'
{ 1767, 11, 12, 13, 1, -11 }, // 0x78 'x'
{ 1784, 11, 17, 13, 1, -11 }, // 0x79 'y'
{ 1808, 10, 12, 12, 1, -11 }, // 0x7A 'z'
{ 1823, 7, 21, 8, 0, -17 }, // 0x7B '{'
{ 1842, 2, 21, 6, 2, -16 }, // 0x7C '|'
{ 1848, 7, 21, 8, 1, -17 }, // 0x7D '}'
{ 1867, 11, 4, 15, 2, -8 } }; // 0x7E '~'
const GFXfont VarelaRound_Regular12pt7b PROGMEM = {
(uint8_t *)VarelaRound_Regular12pt7bBitmaps,
(GFXglyph *)VarelaRound_Regular12pt7bGlyphs,
0x20, 0x7E, 28 };
// Approx. 2545 bytes