pull/264/merge
Elías Angulo 2024-08-18 06:15:05 +00:00 committed by GitHub
commit c6e0226bdd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
38 changed files with 3660 additions and 85 deletions

View File

@ -16,7 +16,7 @@ jobs:
with:
arduino-board-fqbn: esp32:esp32:watchy:Revision=v20,PartitionScheme=min_spiffs,UploadSpeed=921600,DebugLevel=none,EraseFlash=none
platform-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
arduino-platform: esp32:esp32@2.0.17
arduino-platform: esp32:esp32@2.0.12
required-libraries: Adafruit GFX Library,Arduino_JSON,DS3232RTC,NTPClient,Rtc_Pcf8563,GxEPD2,WiFiManager
set-build-path: true
- uses: actions/upload-artifact@v3

View File

@ -14,7 +14,7 @@ jobs:
- uses: actions/checkout@master
- uses: ArminJo/arduino-test-compile@v3
with:
arduino-board-fqbn: esp32:esp32:watchy:Revision=${{ matrix.board-revisions }},PartitionScheme=min_spiffs,UploadSpeed=921600,DebugLevel=none,EraseFlash=none
arduino-board-fqbn: esp32:esp32:watchy:Revision=${{ matrix.board-revisions }},PartitionScheme=default_8MB,UploadSpeed=921600,DebugLevel=none,EraseFlash=none
platform-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
arduino-platform: esp32:esp32@2.0.17
required-libraries: Adafruit GFX Library,Arduino_JSON,DS3232RTC,NTPClient,Rtc_Pcf8563,GxEPD2,WiFiManager

39
.github/workflows/v3.actions.yml vendored Normal file
View File

@ -0,0 +1,39 @@
name: ReleaseV3
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
jobs:
release:
name: Build and Release
runs-on: ubuntu-latest
strategy:
matrix:
board-revisions: [v30]
steps:
- uses: actions/checkout@master
- uses: ArminJo/arduino-test-compile@v3
with:
arduino-board-fqbn: esp32:esp32:esp32s3:FlashSize=8M,PartitionScheme=default_8MB,UploadSpeed=921600,DebugLevel=none,EraseFlash=none
platform-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
arduino-platform: esp32:esp32@2.0.17
required-libraries: Adafruit GFX Library,Arduino_JSON,DS3232RTC,NTPClient,Rtc_Pcf8563,GxEPD2,WiFiManager
set-build-path: true
- name: Rename binaries with board revision
run: |
parent_dir="${{ github.workspace }}/examples/WatchFaces"
for dir in "$parent_dir"/*; do
if [ -d "$dir" ]; then
cd "$dir/build"
for file in *; do
name="${file%%.*}"
ext="${file#$name.}"
mv "$file" "$name-${{ matrix.board-revisions }}.$ext"
done
cd -
fi
done
- uses: softprops/action-gh-release@v1
with:
name: "Watchy Arduino Library ${{ github.ref_name }}"
files: ${{ github.workspace }}/examples/WatchFaces/**/build/*.bin

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
.pio/
.vscode/
app/bin/
app/pde.jar
build/macosx/work/

View File

@ -2,29 +2,15 @@
![Watchy](https://watchy.sqfmi.com/img/watchy_render.png)
**Buy Watchy from [The Pi Hut](https://thepihut.com/collections/sqfmi), [Crowd Supply](https://www.crowdsupply.com/sqfmi/watchy), and [Mouser](https://www.mouser.com/ProductDetail/SQFMI/SQFMI-WATCHY-10?qs=DRkmTr78QARN9VSJRzqRxw%3D%3D)!**
**Buy Watchy from [Mouser](https://www.mouser.com/ProductDetail/SQFMI/SQFMI-WATCHY-10?qs=DRkmTr78QARN9VSJRzqRxw%3D%3D), [The Pi Hut](https://thepihut.com/collections/sqfmi), and [Crowd Supply](https://www.crowdsupply.com/sqfmi/watchy)**
[**Watchy Case & Accessories**](https://shop.sqfmi.com)
Visit [**https://watchy.sqfmi.com**](https://watchy.sqfmi.com) for documentation, hardware design files, and more!
## Setup
1. In the Arduino IDE Boards Manager, [install support for the ESP32](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html).
* Arduino > Preferences > Additional Board Manager URLs
* ```https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json```
2. Install this library (search for **Watchy** in the library manager), and any other dependencies when prompted
3. Check out the examples under ```Examples``` -> ```Watchy```
4. Compile & Upload with these board settings:
* Board: "Watchy"
* Partition Scheme: "Huge App"
* Board Revision: Choose your Watchy version
* All Other Settings: leave to default
You may also have to install the [CP2104 USB to Serial drivers](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) if the port is not automatically detected.
## Getting Started Guide
Follow the instructions here https://watchy.sqfmi.com/docs/getting-started
### Have Fun! :)
### Got Questions?
Join our [Discord](https://discord.gg/ZXDegGV8E7)

View File

@ -16,10 +16,15 @@ void Watchy7SEG::drawWatchFace(){
drawSteps();
drawWeather();
drawBattery();
display.drawBitmap(120, 77, WIFI_CONFIGURED ? wifi : wifioff, 26, 18, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.drawBitmap(116, 75, WIFI_CONFIGURED ? wifi : wifioff, 26, 18, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
if(BLE_CONFIGURED){
display.drawBitmap(100, 75, bluetooth, 13, 21, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.drawBitmap(100, 73, bluetooth, 13, 21, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
}
#ifdef ARDUINO_ESP32S3_DEV
if(USB_PLUGGED_IN){
display.drawBitmap(140, 75, charge, 16, 18, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
}
#endif
}
void Watchy7SEG::drawTime(){
@ -81,10 +86,11 @@ void Watchy7SEG::drawSteps(){
display.println(stepCount);
}
void Watchy7SEG::drawBattery(){
display.drawBitmap(154, 73, battery, 37, 21, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.fillRect(159, 78, 27, BATTERY_SEGMENT_HEIGHT, DARKMODE ? GxEPD_BLACK : GxEPD_WHITE);//clear battery segments
display.drawBitmap(158, 73, battery, 37, 21, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.fillRect(163, 78, 27, BATTERY_SEGMENT_HEIGHT, DARKMODE ? GxEPD_BLACK : GxEPD_WHITE);//clear battery segments
int8_t batteryLevel = 0;
float VBAT = getBatteryVoltage();
#ifndef ARDUINO_ESP32S3_DEV
if(VBAT > 4.1){
batteryLevel = 3;
}
@ -97,9 +103,23 @@ void Watchy7SEG::drawBattery(){
else if(VBAT <= 3.80){
batteryLevel = 0;
}
#else
if (VBAT > 3.90) {
batteryLevel = 3;
}
else if (VBAT > 3.75 && VBAT <= 3.90) {
batteryLevel = 2;
}
else if (VBAT > 3.60 && VBAT <= 3.75) {
batteryLevel = 1;
}
else if (VBAT <= 3.60) {
batteryLevel = 0;
}
#endif
for(int8_t batterySegments = 0; batterySegments < batteryLevel; batterySegments++){
display.fillRect(159 + (batterySegments * BATTERY_SEGMENT_SPACING), 78, BATTERY_SEGMENT_WIDTH, BATTERY_SEGMENT_HEIGHT, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.fillRect(163 + (batterySegments * BATTERY_SEGMENT_SPACING), 78, BATTERY_SEGMENT_WIDTH, BATTERY_SEGMENT_HEIGHT, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
}
}
@ -150,4 +170,4 @@ void Watchy7SEG::drawWeather(){
}
display.drawBitmap(145, 158, weatherIcon, WEATHER_ICON_WIDTH, WEATHER_ICON_HEIGHT, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
}
}

View File

@ -189,6 +189,14 @@ const unsigned char wifioff [] PROGMEM = {
0x01, 0xff, 0xc0, 0x00, 0x07, 0xe1, 0xc0, 0x00, 0x0f, 0xc0, 0x80, 0x00, 0x1f, 0x0c, 0x00, 0x00,
0x3c, 0x1e, 0x00, 0x00, 0xf8, 0x0c, 0x00, 0x00
};
// 'charge', 16x18px
const unsigned char charge [] PROGMEM = {
0x00, 0x10, 0x00, 0x70, 0x00, 0xe0, 0x01, 0xe0, 0x03, 0xe0, 0x07, 0xc0, 0x0f, 0xc0, 0x1f, 0xff,
0x3f, 0xfe, 0x7f, 0xfc, 0x7f, 0xf8, 0x03, 0xf0, 0x03, 0xe0, 0x07, 0xc0, 0x07, 0x80, 0x07, 0x00,
0x0e, 0x00, 0x0c, 0x00
};
// 'chip', 48x32px
const unsigned char chip [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

View File

@ -0,0 +1,207 @@
#include "WatchyPipBoy.h"
#define DARKMODE true
#define STEPSGOAL 5000
const uint8_t WEATHER_ICON_WIDTH = 48;
const uint8_t WEATHER_ICON_HEIGHT = 32;
RTC_DATA_ATTR uint8_t vaultBoyNum;
void WatchyPipBoy::drawWatchFace(){
//top menu bar
display.fillScreen(DARKMODE ? GxEPD_BLACK : GxEPD_WHITE);
display.setFont(&monofonto8pt7b);
display.setTextColor(DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.setCursor(22, 14);
display.print("STAT INV DATA MAP");
display.drawBitmap(0, 10, menubar, 200, 9, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
//bottom text
display.setFont(&monofonto8pt7b);
display.setCursor(10, 195);
display.println("PIP-BOY 3000 ROBCO IND.");
drawTime();
drawDate();
drawSteps();
drawWeather();
drawBattery();
// display.drawBitmap(120, 77, WIFI_CONFIGURED ? wifi : wifioff, 26, 18, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
// if(BLE_CONFIGURED){
// display.drawBitmap(100, 75, bluetooth, 13, 21, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
// }
}
void WatchyPipBoy::drawTime(){
//draw random vault boy every 15mins
if(currentTime.Minute % 15 == 0){
vaultBoyNum = random(0, 3);
}
switch(vaultBoyNum){
case 0:
display.drawBitmap(70, 50, vaultboy, 57, 100, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
break;
case 1:
display.drawBitmap(70, 50, vaultboypoint, 57, 100, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
break;
case 2:
display.drawBitmap(60, 50, vaultboysmile, 67, 100, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
break;
}
//time border
display.drawLine(137, 28, 200, 28, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.drawLine(137, 28, 137, 132, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.drawLine(137, 132, 157, 132, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.drawLine(180, 132, 200, 132, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
//draw time
display.setFont(&monofonto28pt7b);
display.setCursor(141, 75);
int displayHour;
if(HOUR_12_24==12){
displayHour = ((currentTime.Hour+11)%12)+1;
} else {
displayHour = currentTime.Hour;
}
if(displayHour < 10){
display.print("0");
}
display.print(displayHour);
display.setCursor(141, 125);
if(currentTime.Minute < 10){
display.print("0");
}
display.print(currentTime.Minute);
//AMPM
display.setFont(&monofonto8pt7b);
display.setCursor(160, 140);
display.print(currentTime.Hour < 11 ? "AM" : "PM");
}
void WatchyPipBoy::drawDate(){
display.setFont(&monofonto10pt7b);
int16_t x1, y1;
uint16_t w, h;
String dayOfWeek = dayStr(currentTime.Wday);
dayOfWeek.toUpperCase();
display.setTextColor(DARKMODE ? GxEPD_BLACK : GxEPD_WHITE);
display.getTextBounds(dayOfWeek, 7, 42, &x1, &y1, &w, &h);
display.setCursor(7, 42);
display.fillRect(x1-2, y1-2, w+4, h+4, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.print(dayOfWeek);
display.setFont(&monofonto10pt7b);
display.setTextColor(DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.setCursor(7, 62);
display.print(monthShortStr(currentTime.Month));
display.print(" ");
display.print(currentTime.Day);
display.setCursor(7, 78);
display.print(tmYearToCalendar(currentTime.Year));
}
void WatchyPipBoy::drawSteps(){
// reset step counter at midnight
if (currentTime.Hour == 0 && currentTime.Minute == 0){
sensor.resetStepCounter();
}
//draw progress bar
uint32_t stepCount = sensor.getCounter();
uint8_t progress = (uint8_t)(stepCount * 100.0 / STEPSGOAL);
progress = progress > 100 ? 100 : progress;
display.drawBitmap(60, 155, gauge, 73, 10, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.fillRect(60+13, 155+5, (progress/2)+5, 4, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
//show step count
display.setFont(&monofonto8pt7b);
display.setTextColor(DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.setCursor(150, 160);
display.print("STEPS");
display.setCursor(150, 175);
display.print(stepCount);
}
void WatchyPipBoy::drawBattery(){
display.drawBitmap(10, 150, battery, 37, 21, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.fillRect(15, 155, 27, 11, DARKMODE ? GxEPD_BLACK : GxEPD_WHITE);//clear battery segments
int8_t batteryLevel = 0;
float VBAT = getBatteryVoltage();
#ifndef ARDUINO_ESP32S3_DEV
if(VBAT > 4.1){
batteryLevel = 3;
}
else if(VBAT > 3.95 && VBAT <= 4.1){
batteryLevel = 2;
}
else if(VBAT > 3.80 && VBAT <= 3.95){
batteryLevel = 1;
}
else if(VBAT <= 3.80){
batteryLevel = 0;
}
#else
if (VBAT > 3.90) {
batteryLevel = 3;
}
else if (VBAT > 3.75 && VBAT <= 3.90) {
batteryLevel = 2;
}
else if (VBAT > 3.60 && VBAT <= 3.75) {
batteryLevel = 1;
}
else if (VBAT <= 3.60) {
batteryLevel = 0;
}
#endif
for(int8_t batterySegments = 0; batterySegments < batteryLevel; batterySegments++){
display.fillRect(15 + (batterySegments * 9), 155, 7, 11, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
}
}
void WatchyPipBoy::drawWeather(){
weatherData currentWeather = getWeatherData();
int8_t temperature = currentWeather.temperature;
int16_t weatherConditionCode = currentWeather.weatherConditionCode;
display.setFont(&monofonto10pt7b);
display.setTextColor(DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
display.setCursor(12, 133);
display.print(temperature);
display.print(currentWeather.isMetric ? "C" : "F");
const unsigned char* weatherIcon;
//https://openweathermap.org/weather-conditions
if(weatherConditionCode > 801){//Cloudy
weatherIcon = cloudy;
}else if(weatherConditionCode == 801){//Few Clouds
weatherIcon = cloudsun;
}else if(weatherConditionCode == 800){//Clear
weatherIcon = sunny;
}else if(weatherConditionCode >=700){//Atmosphere
weatherIcon = atmosphere;
}else if(weatherConditionCode >=600){//Snow
weatherIcon = snow;
}else if(weatherConditionCode >=500){//Rain
weatherIcon = rain;
}else if(weatherConditionCode >=300){//Drizzle
weatherIcon = drizzle;
}else if(weatherConditionCode >=200){//Thunderstorm
weatherIcon = thunderstorm;
}else
return;
display.drawBitmap(5, 85, weatherIcon, WEATHER_ICON_WIDTH, WEATHER_ICON_HEIGHT, DARKMODE ? GxEPD_WHITE : GxEPD_BLACK);
}

View File

@ -0,0 +1,23 @@
#ifndef WATCHY_PIP_BOY_H
#define WATCHY_PIP_BOY_H
#include <Watchy.h>
#include "monofonto28pt7b.h"
#include "monofonto10pt7b.h"
#include "monofonto8pt7b.h"
#include "monofonto6pt7b.h"
#include "img.h"
#include "icons.h"
class WatchyPipBoy : public Watchy{
using Watchy::Watchy;
public:
void drawWatchFace();
void drawTime();
void drawDate();
void drawSteps();
void drawWeather();
void drawBattery();
};
#endif

Binary file not shown.

View File

@ -0,0 +1,176 @@
// 'battery', 37x21px
const unsigned char battery [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0x80, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0,
0x00, 0x00, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xf8, 0xe0, 0x00,
0x00, 0x00, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x38, 0xe0, 0x00, 0x00,
0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00,
0x38, 0xe0, 0x00, 0x00, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0xf8,
0xe0, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x7f,
0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0x80
};
// 'bluetooth', 13x21px
const unsigned char bluetooth [] PROGMEM = {
0x1f, 0xc0, 0x3f, 0xe0, 0x7f, 0xf0, 0xfd, 0xf8, 0xfc, 0xf8, 0xfc, 0x78, 0xdd, 0x38, 0xcd, 0x98,
0xe5, 0x38, 0xf0, 0x78, 0xf8, 0xf8, 0xf8, 0xf8, 0xf0, 0x78, 0xe5, 0x38, 0xcd, 0x98, 0xfd, 0x38,
0xfc, 0x78, 0xfc, 0xf8, 0x7d, 0xf0, 0x3f, 0xe0, 0x1f, 0xc0
};
// 'celsius', 26x20px
const unsigned char celsius [] PROGMEM = {
0x3f, 0x80, 0x1f, 0xc0, 0x7f, 0xc0, 0x3f, 0xc0, 0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x60, 0x00,
0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x60, 0x00,
0xc0, 0x60, 0x60, 0x00, 0xff, 0xc0, 0x40, 0x00, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00,
0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00,
0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, 0x3f, 0xc0
};
// 'fahrenheit', 26x20px
const unsigned char fahrenheit [] PROGMEM = {
0x3f, 0x80, 0x1f, 0xc0, 0x7f, 0xc0, 0x3f, 0xc0, 0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x60, 0x00,
0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x60, 0x00, 0xc0, 0x60, 0x60, 0x00,
0xc0, 0x60, 0x60, 0x00, 0xff, 0xc0, 0x7f, 0xc0, 0x7f, 0x80, 0x3f, 0xc0, 0x00, 0x00, 0x60, 0x00,
0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00,
0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'cloudsun', 48x32px
const unsigned char cloudsun [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x84, 0x40, 0x00, 0x00, 0x00, 0x10, 0x44, 0x42, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00,
0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0,
0x00, 0x00, 0x00, 0x31, 0x80, 0x61, 0x00, 0x07, 0xe0, 0x19, 0x00, 0x32, 0x00, 0x38, 0x38, 0x02,
0x00, 0x10, 0x00, 0x60, 0x04, 0x02, 0x00, 0x10, 0x00, 0x80, 0x03, 0xf2, 0x00, 0x10, 0x01, 0x00,
0x01, 0x9e, 0x00, 0x10, 0x03, 0x00, 0x00, 0x03, 0x00, 0x10, 0x02, 0x00, 0x00, 0x01, 0x80, 0x10,
0x02, 0x00, 0x00, 0x00, 0x80, 0x32, 0x04, 0x00, 0x00, 0x00, 0x40, 0x61, 0x04, 0x00, 0x00, 0x00,
0x70, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x02, 0x08, 0x60, 0x00,
0x00, 0x00, 0x01, 0x04, 0x40, 0x00, 0x00, 0x00, 0x01, 0xc2, 0x40, 0x00, 0x00, 0x00, 0x00, 0xc0,
0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00,
0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00,
0x00, 0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00
};
// 'cloudy', 48x32px
const unsigned char cloudy [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x18, 0x03, 0x00, 0x00, 0x00,
0x00, 0x60, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x40, 0x00, 0x00, 0x01, 0x80, 0x00, 0x3f,
0xc0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x02, 0x00,
0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00,
0x04, 0x00, 0x00, 0x00, 0x03, 0x80, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x00,
0x00, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00,
0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02,
0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00,
0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x00,
0x00, 0x00, 0x00, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xe0
};
// 'rain', 48x32px
const unsigned char rain [] PROGMEM = {
0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x03, 0x81, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x60,
0x00, 0x00, 0x00, 0x08, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x30,
0x00, 0x00, 0x30, 0x00, 0x00, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00,
0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0xc0, 0x00, 0x00,
0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00,
0x00, 0x00, 0x00, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08,
0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00,
0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x80,
0x00, 0x00, 0x00, 0x60, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x21, 0x08, 0x42, 0x10, 0x00, 0x00, 0x42, 0x10, 0x84, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x84, 0x21, 0x00, 0x00, 0x04, 0x21,
0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x84, 0x21, 0x08, 0x00, 0x00
};
// 'snow', 48x32px
const unsigned char snow [] PROGMEM = {
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x20,
0x00, 0x00, 0x00, 0x00, 0x05, 0x40, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x81, 0x02, 0x40, 0x00, 0x00, 0x02, 0x81, 0x02, 0x80, 0x00,
0x00, 0x01, 0x81, 0x03, 0x00, 0x00, 0x00, 0x07, 0x81, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x41, 0x04,
0x00, 0x00, 0x00, 0x00, 0x21, 0x08, 0x00, 0x00, 0x00, 0x00, 0x11, 0x10, 0x00, 0x00, 0x00, 0x80,
0x09, 0x20, 0x04, 0x00, 0x00, 0x40, 0x05, 0x40, 0x08, 0x00, 0x00, 0x20, 0x03, 0x80, 0x10, 0x00,
0x03, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x20, 0x03, 0x80, 0x10, 0x00, 0x00, 0x40, 0x05, 0x40,
0x08, 0x00, 0x00, 0x80, 0x09, 0x20, 0x04, 0x00, 0x00, 0x00, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00,
0x21, 0x08, 0x00, 0x00, 0x00, 0x00, 0x41, 0x04, 0x00, 0x00, 0x00, 0x03, 0x81, 0x03, 0x80, 0x00,
0x00, 0x01, 0x81, 0x03, 0x00, 0x00, 0x00, 0x02, 0x81, 0x02, 0x80, 0x00, 0x00, 0x04, 0x01, 0x00,
0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00,
0x05, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
};
// 'sunny', 48x32px
const unsigned char sunny [] PROGMEM = {
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x21, 0x08, 0x00, 0x00, 0x00, 0x18,
0x20, 0x10, 0x60, 0x00, 0x00, 0x0c, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00,
0x00, 0x02, 0x0f, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0c,
0x00, 0x00, 0x00, 0x30, 0x80, 0x04, 0x30, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00,
0x03, 0xf2, 0x00, 0x01, 0x1f, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x30,
0x80, 0x04, 0x30, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00,
0x00, 0x02, 0x0f, 0xc1, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x00,
0xc0, 0x00, 0x00, 0x18, 0x20, 0x10, 0x60, 0x00, 0x00, 0x00, 0x21, 0x08, 0x00, 0x00, 0x00, 0x00,
0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
};
// 'atmosphere', 48x32px
const unsigned char atmosphere[] PROGMEM = {
0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x03, 0x81, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x60,
0x00, 0x00, 0x00, 0x08, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x30,
0x00, 0x00, 0x30, 0x00, 0x00, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00,
0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0xc0, 0x00, 0x00,
0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00,
0x00, 0x00, 0x00, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08,
0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00,
0x00, 0x08, 0x04, 0x07, 0xff, 0xf8, 0xf0, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x80,
0x00, 0x00, 0x00, 0x60, 0x00, 0x9f, 0x1f, 0xff, 0xfc, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'drizzle', 48x32px
const unsigned char drizzle[] PROGMEM = {
0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x03, 0x81, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x60,
0x00, 0x00, 0x00, 0x08, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x30,
0x00, 0x00, 0x30, 0x00, 0x00, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00,
0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0xc0, 0x00, 0x00,
0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00,
0x00, 0x00, 0x00, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08,
0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00,
0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x80,
0x00, 0x00, 0x00, 0x60, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x08, 0x00, 0x00
};
// 'thunderstorm', 48x32px
const unsigned char thunderstorm[] PROGMEM = {
0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x03, 0x81, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x60,
0x00, 0x00, 0x00, 0x08, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x30,
0x00, 0x00, 0x30, 0x00, 0x00, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00,
0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x07, 0x80, 0x00, 0xc0, 0x0f, 0x80,
0x00, 0xc0, 0x03, 0x00, 0x0f, 0x80, 0x00, 0x20, 0x02, 0x00, 0x1f, 0x00, 0x00, 0x10, 0x04, 0x00,
0x1e, 0x00, 0x00, 0x18, 0x04, 0x00, 0x3e, 0x00, 0x00, 0x08, 0x08, 0x00, 0x3c, 0x00, 0x00, 0x08,
0x08, 0x00, 0x7c, 0x00, 0x00, 0x08, 0x04, 0x00, 0x78, 0x00, 0x00, 0x08, 0x04, 0x00, 0xf8, 0x00,
0x00, 0x08, 0x04, 0x00, 0xff, 0x00, 0x00, 0x10, 0x02, 0x00, 0x1f, 0x00, 0x00, 0x30, 0x01, 0x80,
0x1e, 0x00, 0x00, 0x60, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x01,
0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'steps', 19x23px
const unsigned char steps [] PROGMEM = {
0x00, 0x03, 0xc0, 0x00, 0x07, 0xe0, 0x00, 0x07, 0xe0, 0x00, 0x0f, 0xe0, 0x78, 0x0f, 0xe0, 0xfc,
0x0f, 0xe0, 0xfc, 0x0f, 0xe0, 0xfc, 0x0f, 0xe0, 0xfe, 0x0f, 0xe0, 0xfe, 0x07, 0xc0, 0xfe, 0x07,
0xc0, 0xfe, 0x07, 0x80, 0xfe, 0x00, 0x00, 0x7c, 0x0e, 0x00, 0x7c, 0x0f, 0x80, 0x7c, 0x1f, 0x80,
0x20, 0x1f, 0x00, 0x06, 0x0f, 0x00, 0x3e, 0x0e, 0x00, 0x3e, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x1e,
0x00, 0x00, 0x1e, 0x00, 0x00
};
// 'wifi', 26x18px
const unsigned char wifi [] PROGMEM = {
0x00, 0x7f, 0x80, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xfc, 0x00, 0x1f, 0xc0, 0xfe, 0x00,
0x7e, 0x00, 0x1f, 0x80, 0xf8, 0x3f, 0x07, 0xc0, 0x71, 0xff, 0xe3, 0x80, 0x23, 0xff, 0xf1, 0x00,
0x07, 0xc0, 0xf8, 0x00, 0x0f, 0x00, 0x3c, 0x00, 0x06, 0x3f, 0x18, 0x00, 0x02, 0x7f, 0x90, 0x00,
0x00, 0xff, 0xc0, 0x00, 0x00, 0xe1, 0xc0, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x00,
0x00, 0x1e, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00
};
// 'wifioff', 26x18px
const unsigned char wifioff [] PROGMEM = {
0x00, 0x7f, 0x87, 0xc0, 0x03, 0xff, 0xff, 0x80, 0x0f, 0xff, 0xff, 0x00, 0x1f, 0xc0, 0xfe, 0x00,
0x7e, 0x00, 0x7f, 0x80, 0xf8, 0x3f, 0xf7, 0xc0, 0x71, 0xff, 0xe3, 0x80, 0x23, 0xff, 0xf1, 0x00,
0x07, 0xcf, 0xf8, 0x00, 0x0f, 0x3e, 0x3c, 0x00, 0x06, 0x7f, 0x18, 0x00, 0x02, 0xff, 0x90, 0x00,
0x01, 0xff, 0xc0, 0x00, 0x07, 0xe1, 0xc0, 0x00, 0x0f, 0xc0, 0x80, 0x00, 0x1f, 0x0c, 0x00, 0x00,
0x3c, 0x1e, 0x00, 0x00, 0xf8, 0x0c, 0x00, 0x00
};

View File

@ -0,0 +1,198 @@
// 'vaultboy', 57x100px
const unsigned char vaultboy [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xff, 0xf0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x87, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x6b, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfb, 0x1c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf7, 0xff, 0xe6, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xf7, 0xe7, 0x00, 0x00, 0x00,
0x00, 0x00, 0x27, 0xf3, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xef, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7f, 0xf7, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xe3, 0xe1, 0x00, 0x00, 0x00,
0x00, 0x00, 0x46, 0xe7, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0xff, 0xd4, 0x00, 0x00, 0x00,
0x00, 0x00, 0x79, 0xff, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0xff, 0xec, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7d, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xf7, 0xfe, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4f, 0xe3, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x7b, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x00, 0x4f, 0xe3, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x1f, 0xe0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x19, 0xf3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0f, 0x38, 0x00, 0x00, 0x00,
0x00, 0x00, 0xcf, 0xf8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0x07, 0xff, 0x00, 0x00, 0x00,
0x00, 0x03, 0xde, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x07, 0x9c, 0xff, 0xff, 0xe0, 0x00, 0x00,
0x00, 0x0f, 0xbc, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x1d, 0xbc, 0xff, 0xff, 0xf8, 0x00, 0x00,
0x00, 0x19, 0xbd, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x39, 0x3d, 0xff, 0xff, 0xfe, 0x00, 0x00,
0x00, 0x3b, 0x7d, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7b, 0x7d, 0xff, 0xff, 0xff, 0x00, 0x00,
0x00, 0x7b, 0x7d, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0xfb, 0x7d, 0xff, 0xff, 0xff, 0xc0, 0x00,
0x01, 0xfb, 0x7d, 0xff, 0xc7, 0xff, 0xc0, 0x00, 0x01, 0xfb, 0x7d, 0xff, 0xe1, 0xff, 0xe0, 0x00,
0x03, 0xfb, 0x7d, 0xff, 0xf8, 0xff, 0xf0, 0x00, 0x03, 0xfb, 0x7d, 0xff, 0xfc, 0x7f, 0xf8, 0x00,
0x07, 0xfb, 0x7d, 0xff, 0xfe, 0x3f, 0xf8, 0x00, 0x07, 0xf9, 0x7d, 0xff, 0xfe, 0x1f, 0xf8, 0x00,
0x07, 0xf9, 0x7d, 0xff, 0xfe, 0x1f, 0xfc, 0x00, 0x0f, 0xf9, 0x7d, 0xff, 0xf8, 0x0f, 0xfc, 0x00,
0x0f, 0xf8, 0x3c, 0xff, 0xc2, 0x0f, 0xfc, 0x00, 0x0f, 0xf8, 0xfc, 0xf8, 0x1e, 0x07, 0xfe, 0x00,
0x1f, 0xf0, 0xfe, 0x03, 0xfe, 0x03, 0xfe, 0x00, 0x1f, 0xe0, 0xff, 0xff, 0xfe, 0x03, 0xfe, 0x00,
0x3f, 0xc0, 0xff, 0xff, 0xfe, 0x03, 0xfe, 0x00, 0x20, 0x00, 0xff, 0xff, 0xf8, 0x01, 0xfe, 0x00,
0x0f, 0x00, 0x7f, 0xff, 0xc2, 0x01, 0xfc, 0x00, 0x1f, 0x80, 0x3f, 0xfe, 0x1e, 0x01, 0xf8, 0x00,
0x3f, 0x80, 0x07, 0xc0, 0xfe, 0x00, 0x03, 0x00, 0x3f, 0x80, 0x70, 0x1f, 0xfe, 0x02, 0x1f, 0x00,
0x7b, 0x80, 0x7f, 0xff, 0xfe, 0x07, 0xff, 0x00, 0x7b, 0x80, 0x27, 0xff, 0xfe, 0x07, 0xfe, 0x00,
0x7b, 0x80, 0x27, 0xff, 0xfc, 0x07, 0xfe, 0x00, 0x7b, 0x00, 0x07, 0xff, 0xfc, 0x03, 0xfc, 0x00,
0x3b, 0x00, 0x07, 0xff, 0xfc, 0x03, 0xd8, 0x00, 0x3c, 0x00, 0x0f, 0xff, 0xf8, 0x01, 0x90, 0x00,
0x14, 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x17, 0x00, 0x0f, 0xff, 0xf8, 0x00, 0x00, 0x00,
0x0b, 0x00, 0x1f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xce, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7f, 0xff, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x1f, 0x00, 0x00, 0x00,
0x00, 0x00, 0xff, 0xfe, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfc, 0x7f, 0x80, 0x00, 0x00,
0x00, 0x01, 0xff, 0xf8, 0xff, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf1, 0xff, 0x80, 0x00, 0x00,
0x00, 0x03, 0xff, 0xf1, 0xff, 0x80, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0xff, 0xc0, 0x00, 0x00,
0x00, 0x07, 0xff, 0x80, 0x7f, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x7f, 0xc0, 0x00, 0x00,
0x0c, 0x0f, 0xfe, 0x00, 0x3f, 0xe0, 0x00, 0x00, 0x06, 0xc7, 0xfc, 0x00, 0x1f, 0xe0, 0x00, 0x00,
0x07, 0x43, 0xfc, 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x07, 0xa9, 0xf0, 0x00, 0x0f, 0xc0, 0x00, 0x00,
0x03, 0x84, 0xe0, 0x00, 0x0e, 0x20, 0x00, 0x00, 0x03, 0xd6, 0x60, 0x00, 0x00, 0xe0, 0x00, 0x00,
0x01, 0xcf, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,
0x00, 0x07, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'vaultboypoint', 57x100px
const unsigned char vaultboypoint [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xe7, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x43, 0xf8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3c, 0x1c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xf1, 0xec, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xf1, 0xec, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xef, 0xcc, 0x00, 0x00, 0x00,
0x00, 0x00, 0x2f, 0xff, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xf7, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1d, 0xf3, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x13, 0x73, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x38, 0x1e, 0x77, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x1e, 0xff, 0xe8, 0x00, 0x00, 0x00,
0x00, 0xfe, 0x1e, 0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x1f, 0x71, 0xfc, 0x00, 0x00, 0x00,
0x00, 0x3f, 0x9f, 0xe5, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x93, 0x1b, 0xe0, 0x00, 0x00, 0x00,
0x00, 0x07, 0xc3, 0xe7, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xec, 0x0f, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x01, 0xe7, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf3, 0xff, 0x04, 0x00, 0x00, 0x00,
0x00, 0x00, 0x61, 0xff, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x10, 0x60, 0x7f, 0x2f, 0x80, 0x00, 0x00,
0x00, 0x3c, 0xc1, 0x1e, 0x6f, 0xe0, 0x00, 0x00, 0x00, 0x1c, 0x00, 0xc0, 0xef, 0xf8, 0x00, 0x00,
0x00, 0x1c, 0x24, 0x01, 0xdf, 0xfc, 0x00, 0x00, 0x00, 0x1c, 0xe6, 0x00, 0x1f, 0xff, 0x00, 0x00,
0x00, 0x08, 0x30, 0x87, 0x8f, 0xff, 0xc0, 0x00, 0x00, 0x09, 0x8c, 0x8c, 0xc7, 0xbf, 0xe0, 0x00,
0x00, 0x02, 0x66, 0x8f, 0xa7, 0x07, 0x80, 0x00, 0x00, 0x1e, 0x76, 0x2f, 0xf2, 0x71, 0x00, 0x00,
0x00, 0x3e, 0xf4, 0x4f, 0x78, 0xf8, 0x00, 0x00, 0x00, 0x3f, 0xf4, 0x40, 0x79, 0xfc, 0x00, 0x00,
0x00, 0x3d, 0xe5, 0x19, 0xf8, 0xfc, 0x00, 0x00, 0x00, 0x1c, 0x4d, 0xdf, 0xf8, 0x7c, 0x00, 0x00,
0x00, 0x3f, 0x05, 0xcf, 0xf8, 0x3c, 0x00, 0x00, 0x00, 0x3f, 0xcd, 0xc7, 0xf9, 0x3c, 0x00, 0x00,
0x00, 0x7f, 0x8d, 0xdf, 0xf9, 0x3c, 0x00, 0x00, 0x00, 0x78, 0x1d, 0xce, 0xfb, 0x3c, 0x00, 0x00,
0x01, 0x7c, 0xdd, 0xe0, 0xf3, 0xbc, 0x00, 0x00, 0x01, 0x6f, 0x1d, 0xee, 0x07, 0xbc, 0x00, 0x00,
0x03, 0x30, 0x1d, 0xee, 0x0f, 0xb8, 0x00, 0x00, 0x03, 0x91, 0x1d, 0xde, 0xff, 0xf8, 0x00, 0x00,
0x03, 0xc0, 0x1d, 0x9c, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xe3, 0x9d, 0xb8, 0xff, 0xf0, 0x00, 0x00,
0x03, 0xff, 0x9d, 0x72, 0x7f, 0xf0, 0x00, 0x00, 0x03, 0xff, 0x1c, 0xf6, 0x7f, 0xe0, 0x00, 0x00,
0x01, 0xff, 0x1d, 0xe6, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0xfe, 0x1b, 0xc7, 0x1f, 0x00, 0x00, 0x00,
0x00, 0x38, 0x03, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x31, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3e, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff, 0xe6, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7e, 0x20, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x0f, 0xe0, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfe, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7c, 0xff, 0xf0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x70, 0x0f, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0xc0, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfe, 0x07, 0x80, 0x00, 0x00,
0x00, 0x00, 0x1f, 0xf0, 0x1f, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xc0, 0x7f, 0xc0, 0x00, 0x00,
0x00, 0x00, 0x1f, 0x01, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x10, 0x07, 0xff, 0xe0, 0x00, 0x00,
0x00, 0x00, 0x40, 0x3f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xfb, 0xff, 0xf0, 0x40, 0x00,
0x00, 0x00, 0x5f, 0xfd, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xfd, 0xff, 0xf8, 0x00, 0x00,
0x00, 0x00, 0x7f, 0xf8, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x7f, 0xf8, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xf8, 0x7f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x3f, 0xfc, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xf0, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x1f, 0xfe, 0x00, 0x00,
0x00, 0x00, 0x1f, 0xe0, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfe, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x07, 0xff, 0x00, 0x00,
0x00, 0x00, 0x7f, 0xe0, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x03, 0xff, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xe0, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x01, 0xff, 0x00, 0x00,
0x00, 0x00, 0x7f, 0xc0, 0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0xff, 0x80, 0x00,
0x00, 0x00, 0x7f, 0xc0, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x7f, 0x80, 0x00,
0x00, 0x00, 0x1f, 0x80, 0x00, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xff, 0x80, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x0f, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'vaultboysmile', 67x100px
const unsigned char vaultboysmile [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x02, 0x7f, 0x1f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x0f, 0xe0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xcc, 0x64, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9f, 0xf0, 0x18, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3f, 0x9f,
0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xef, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xff, 0xff, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x7f, 0xff, 0x98, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x3f, 0x1f, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x37, 0x8f, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xe7, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xcf, 0xff, 0x80,
0x00, 0x00, 0x03, 0x80, 0x00, 0x07, 0xcf, 0xff, 0x60, 0x00, 0x00, 0x07, 0x80, 0x00, 0x07, 0xcf,
0xff, 0xc0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0xff, 0x3f, 0xe0, 0x00, 0x00, 0x0f, 0x00, 0x00,
0x06, 0xfe, 0x1f, 0xe0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x31, 0x9f, 0xe0, 0x00, 0x00, 0x07,
0x00, 0x00, 0x02, 0x7e, 0x1f, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x03, 0x80, 0xff, 0x00, 0x00,
0x00, 0x03, 0x80, 0x00, 0x01, 0xe7, 0xfe, 0x00, 0x00, 0x00, 0x38, 0x60, 0x00, 0x01, 0xe7, 0xfc,
0x00, 0x00, 0x00, 0x7f, 0x30, 0x00, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x00, 0xff, 0xb0, 0x00, 0x00,
0x7f, 0xf3, 0x00, 0x00, 0x00, 0x6f, 0xb8, 0x00, 0x00, 0x3f, 0xeb, 0x80, 0x00, 0x00, 0x00, 0xb9,
0x80, 0x01, 0x0f, 0xf3, 0xb0, 0x00, 0x00, 0x7e, 0x39, 0xff, 0xff, 0x60, 0x67, 0x3c, 0x00, 0x00,
0x7f, 0xb0, 0xff, 0xff, 0x70, 0x0f, 0x3e, 0x00, 0x00, 0x7f, 0x84, 0xff, 0xff, 0x3e, 0x3e, 0x7f,
0x80, 0x00, 0x00, 0x15, 0xff, 0xff, 0x9f, 0xf8, 0xff, 0xc0, 0x00, 0x3f, 0x25, 0xff, 0xff, 0xdf,
0xf3, 0xff, 0xe0, 0x00, 0x3f, 0xa9, 0xff, 0xef, 0xdf, 0x87, 0xff, 0xf0, 0x00, 0x1f, 0xab, 0xff,
0xcf, 0xdf, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xfe, 0x0f, 0xdf, 0x7f, 0xff, 0xfc, 0x00, 0x00,
0x27, 0xf0, 0x0f, 0x9f, 0x7f, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x9e, 0x7f, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x1f, 0x9e, 0x7f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xbe, 0x7f,
0x9f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x0f, 0xbe, 0x7f, 0xcf, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x0f,
0xbe, 0x7f, 0xe0, 0x7f, 0xc0, 0x00, 0x00, 0x00, 0x0f, 0xbe, 0x7f, 0xf2, 0x1f, 0xc0, 0x00, 0x00,
0x00, 0x0f, 0x3e, 0x7f, 0xf3, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x0f, 0x3e, 0xff, 0xf6, 0xff, 0x80,
0x00, 0x00, 0x00, 0x0f, 0x3e, 0xff, 0xe4, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3e, 0xff, 0xe5,
0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3e, 0xff, 0xe1, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3e,
0xff, 0xeb, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3e, 0xff, 0xeb, 0xfe, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3e, 0xff, 0x0b, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x06, 0x7e, 0x70, 0x03, 0xfc, 0x00, 0x00,
0x00, 0x00, 0x07, 0xff, 0x00, 0xe1, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xe4, 0xf0,
0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xee, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff,
0xef, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xef, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07,
0xff, 0xff, 0xef, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x90, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xff, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xfc, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff,
0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00,
0x07, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0xff, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x3f, 0xff, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x1f,
0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07,
0xfe, 0x0f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x0f, 0xff, 0x80, 0x00, 0x00, 0x00,
0x00, 0x07, 0xfe, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x03, 0xff, 0xc0, 0x00,
0x00, 0x00, 0x00, 0x0f, 0xfe, 0x03, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x01, 0xff,
0xe0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc,
0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00,
0x0f, 0xfc, 0x00, 0x7f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x7f, 0xf0, 0x00, 0x00,
0x00, 0x00, 0x0f, 0xf8, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x3f, 0xf0,
0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00,
0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f,
0xf8, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x0f, 0xf0, 0x00, 0x00, 0x00,
0x00, 0x30, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x18, 0x00,
0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
};
// 'menu bar', 200x9px
const unsigned char menubar [] PROGMEM = {
0x00, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff
};
// 'gauge', 73x10px
const unsigned char gauge [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x80, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x1f, 0xc0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x0f, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf9, 0x80, 0x07, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x03, 0xc8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x01, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80,
0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf9, 0x80
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -0,0 +1,201 @@
const uint8_t monofonto10pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0xC3, 0xF0, 0x99, 0x99, 0x90, 0x0D, 0x82, 0x60, 0x98,
0x64, 0x3F, 0xDF, 0xE1, 0x30, 0xC8, 0x7F, 0xBF, 0xC2, 0x60, 0x98, 0x64,
0x1B, 0x00, 0x18, 0x18, 0x3E, 0x7F, 0xE7, 0xC3, 0xE0, 0xF0, 0x7C, 0x3F,
0x0F, 0x03, 0x03, 0xE3, 0xFF, 0x7E, 0x18, 0x18, 0xF0, 0xE4, 0x29, 0x12,
0x4C, 0x92, 0x25, 0x8F, 0x7C, 0x29, 0x1A, 0x44, 0x93, 0x24, 0x89, 0x42,
0x70, 0xF0, 0x1C, 0x0F, 0x83, 0x60, 0xD8, 0x36, 0x0F, 0x03, 0x81, 0xF2,
0x6F, 0xF1, 0xEC, 0x73, 0x9C, 0x7F, 0x8F, 0x70, 0xFF, 0xC0, 0x19, 0x8C,
0xC6, 0x31, 0x98, 0xC6, 0x31, 0x84, 0x31, 0x8C, 0x61, 0x8E, 0x20, 0x8C,
0xC6, 0x66, 0x63, 0x33, 0x33, 0x26, 0x66, 0x6C, 0xC8, 0x0C, 0x03, 0x08,
0xC7, 0xB7, 0x7F, 0x83, 0x01, 0xA0, 0xCE, 0x71, 0x00, 0x18, 0x18, 0x18,
0x18, 0xFF, 0xFF, 0x18, 0x18, 0x18, 0x6D, 0xB5, 0x80, 0xFF, 0xF0, 0xFC,
0x00, 0xC0, 0x60, 0x18, 0x04, 0x03, 0x00, 0xC0, 0x60, 0x18, 0x04, 0x03,
0x00, 0x80, 0x60, 0x18, 0x0C, 0x03, 0x00, 0x80, 0x60, 0x18, 0x0C, 0x00,
0x3C, 0x7E, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7,
0x7E, 0x3C, 0x1B, 0xFF, 0xFB, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0x3C,
0x7E, 0xE7, 0xE3, 0x07, 0x07, 0x0E, 0x0E, 0x1C, 0x1C, 0x38, 0x30, 0x7F,
0xFF, 0x3C, 0x7E, 0xE7, 0xC3, 0x03, 0x07, 0x0E, 0x0E, 0x03, 0x03, 0xC3,
0xE7, 0x7E, 0x3C, 0x1E, 0x1E, 0x16, 0x36, 0x26, 0x66, 0x46, 0xC6, 0x86,
0xFF, 0xFF, 0x06, 0x06, 0x06, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xFE, 0xFF,
0xE7, 0x03, 0x03, 0x43, 0xE7, 0xFE, 0x3C, 0x0E, 0x1C, 0x18, 0x38, 0x30,
0x7C, 0x7E, 0xE7, 0xC3, 0xC3, 0xC3, 0xE7, 0x7E, 0x3C, 0xFF, 0xFF, 0x07,
0x06, 0x0E, 0x0E, 0x1C, 0x1C, 0x18, 0x38, 0x38, 0x70, 0x70, 0xF0, 0x3C,
0x7E, 0xE7, 0xC3, 0xE7, 0x7E, 0x7E, 0xE7, 0xC3, 0xC3, 0xC3, 0xE7, 0x7E,
0x3C, 0x3C, 0x7E, 0xE7, 0xC3, 0xC3, 0xE7, 0xFF, 0x7E, 0x0E, 0x0C, 0x1C,
0x38, 0x38, 0x70, 0xFC, 0x03, 0xF0, 0x6D, 0x80, 0x03, 0x6F, 0x64, 0x01,
0x07, 0x1C, 0x70, 0xC0, 0xC0, 0x70, 0x1E, 0x07, 0x01, 0xFF, 0xFF, 0x00,
0x00, 0xFF, 0xFF, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x03, 0x0E, 0x78, 0xE0,
0x80, 0x3C, 0x7E, 0x66, 0xE7, 0x07, 0x0E, 0x1C, 0x18, 0x38, 0x00, 0x00,
0x18, 0x38, 0x18, 0x1F, 0x0C, 0x66, 0x09, 0x01, 0x40, 0x73, 0x9D, 0x27,
0x49, 0xDA, 0xF3, 0x64, 0x01, 0x80, 0x30, 0x06, 0x01, 0x00, 0x18, 0x3C,
0x3C, 0x3C, 0x3C, 0x7C, 0x7E, 0x7E, 0x6E, 0x66, 0xFF, 0xFF, 0xE7, 0xC7,
0xFC, 0xFE, 0xC7, 0xC7, 0xC7, 0xC6, 0xFC, 0xFE, 0xC7, 0xC7, 0xC7, 0xC7,
0xFE, 0xFC, 0x3C, 0x7E, 0xE7, 0xC7, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
0xE7, 0xE7, 0x7E, 0x3C, 0xFC, 0xFE, 0xC7, 0xC7, 0xC3, 0xC3, 0xC3, 0xC3,
0xC3, 0xC3, 0xC3, 0xC7, 0xFE, 0xFC, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0,
0xFE, 0xFE, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0,
0xE0, 0xE0, 0xFE, 0xFE, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x3C, 0x7E,
0xE7, 0xE7, 0xC0, 0xC0, 0xCF, 0xCF, 0xC3, 0xC3, 0xC3, 0xE7, 0x7F, 0x3B,
0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xFF, 0xFF, 0xE7, 0xE7, 0xE7, 0xE7,
0xE7, 0xE7, 0xFF, 0xF3, 0x0C, 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0C, 0xFF,
0xF0, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
0x0E, 0xFE, 0xFC, 0xE7, 0xE6, 0xE6, 0xEC, 0xEC, 0xF8, 0xF8, 0xF8, 0xFC,
0xEC, 0xEE, 0xE6, 0xE7, 0xE7, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xE3, 0xE7, 0xE7, 0xE7, 0xFF,
0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xCB, 0xCB, 0xC3, 0xC3, 0xE3, 0xE3, 0xF3,
0xF3, 0xF3, 0xFB, 0xDB, 0xDF, 0xDF, 0xCF, 0xCF, 0xC7, 0xC7, 0xC7, 0x3C,
0x7E, 0xE7, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xE7, 0x7E,
0x3C, 0xFC, 0xFF, 0xE7, 0xE3, 0xE3, 0xE3, 0xE7, 0xFF, 0xFC, 0xE0, 0xE0,
0xE0, 0xE0, 0xE0, 0x3C, 0x7E, 0xE7, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3,
0xC3, 0xC3, 0xE7, 0x7E, 0x3C, 0x0E, 0x06, 0x06, 0xFC, 0x7F, 0x39, 0xDC,
0xEE, 0x37, 0x3B, 0x9D, 0xFC, 0xFC, 0x7E, 0x3B, 0x9D, 0xCE, 0x77, 0x3C,
0x3C, 0x7E, 0xE7, 0xC3, 0xE0, 0xF0, 0x7C, 0x1F, 0x07, 0x03, 0xC3, 0xF7,
0x7F, 0x3C, 0xFF, 0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3,
0xC3, 0xC3, 0xC3, 0xE7, 0xFF, 0x3C, 0xE1, 0xD8, 0x67, 0x19, 0xCE, 0x73,
0x8C, 0xC3, 0x30, 0xFC, 0x3F, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x03, 0x00,
0xE1, 0xF8, 0x76, 0x19, 0x96, 0x6D, 0x9B, 0x66, 0xD9, 0xB6, 0x7F, 0x9F,
0xE3, 0xF0, 0xCC, 0x33, 0x0C, 0xC0, 0xE7, 0xE7, 0x66, 0x7E, 0x7E, 0x3C,
0x3C, 0x3C, 0x3C, 0x7E, 0x7E, 0x66, 0xE7, 0xE7, 0xE1, 0xDC, 0xE7, 0x38,
0xCC, 0x3F, 0x0F, 0xC1, 0xE0, 0x78, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C,
0x03, 0x00, 0x7F, 0xBF, 0xC0, 0xC0, 0xE0, 0x60, 0x70, 0x38, 0x38, 0x1C,
0x1C, 0x0E, 0x06, 0x07, 0xFF, 0xFC, 0xFF, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
0xCC, 0xCC, 0xCC, 0xFF, 0xC0, 0x18, 0x06, 0x00, 0x80, 0x30, 0x0C, 0x01,
0x80, 0x60, 0x08, 0x03, 0x00, 0x40, 0x18, 0x06, 0x00, 0xC0, 0x30, 0x04,
0x01, 0x80, 0x60, 0x0C, 0xFF, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
0x33, 0xFF, 0x18, 0x3C, 0x3C, 0x66, 0x66, 0xC3, 0xC3, 0xFF, 0xFF, 0xF0,
0xE6, 0x33, 0x3E, 0x7F, 0xE7, 0x03, 0x7F, 0xFF, 0xE3, 0xE7, 0xFF, 0x7B,
0xC0, 0xC0, 0xC0, 0xC0, 0xCE, 0xDF, 0xE7, 0xE3, 0xC3, 0xC3, 0xE3, 0xE7,
0xDF, 0xCE, 0x1E, 0x7F, 0xF2, 0xC0, 0xC0, 0xC0, 0xC0, 0xF2, 0x7F, 0x3E,
0x03, 0x03, 0x03, 0x03, 0x73, 0xFB, 0xE7, 0xC7, 0xC3, 0xC3, 0xC7, 0xE7,
0xFB, 0x73, 0x3C, 0x7E, 0xE7, 0xC3, 0xFF, 0xC0, 0xC0, 0xE7, 0x7E, 0x3C,
0x1F, 0x3F, 0x38, 0x30, 0xFE, 0xFE, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x3B, 0x7B, 0xE7, 0xC7, 0xC3, 0xC3, 0xC7, 0xE7, 0x7B, 0x3B,
0x03, 0xC7, 0xFE, 0x7C, 0xC0, 0xC0, 0xC0, 0xC0, 0xCE, 0xDF, 0xE7, 0xE3,
0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x30, 0xC3, 0x00, 0xF3, 0xC3, 0x0C,
0x30, 0xC3, 0x0C, 0xFF, 0xF0, 0x18, 0x71, 0x80, 0xFF, 0xF1, 0xC7, 0x1C,
0x71, 0xC7, 0x1C, 0x71, 0xC6, 0xFB, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC7,
0xCE, 0xCC, 0xD8, 0xF8, 0xD8, 0xDC, 0xCE, 0xCE, 0xC7, 0xFF, 0xCE, 0x73,
0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xF7, 0xFF, 0xDB, 0xDB, 0xDB, 0xDB,
0xDB, 0xDB, 0xDB, 0xDB, 0xCE, 0xDF, 0xE7, 0xE3, 0xC3, 0xC3, 0xC3, 0xC3,
0xC3, 0xC3, 0x3C, 0x7E, 0xE7, 0xC3, 0xC3, 0xC3, 0xC3, 0xE7, 0x7E, 0x3C,
0xDE, 0xFE, 0xE7, 0xC7, 0xC3, 0xC3, 0xC7, 0xE7, 0xFE, 0xDE, 0xC0, 0xC0,
0xC0, 0xC0, 0x73, 0xFB, 0xE7, 0xC7, 0xC3, 0xC3, 0xC7, 0xE7, 0xFB, 0x73,
0x03, 0x03, 0x03, 0x03, 0xCE, 0xDF, 0xE6, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
0xE0, 0xE0, 0x3C, 0x7E, 0xE6, 0xE0, 0x78, 0x1E, 0x07, 0xE7, 0x7E, 0x3C,
0x30, 0x30, 0x30, 0xFE, 0xFE, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x3F,
0x1F, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xE7, 0x7E, 0x3C, 0xE1,
0xDC, 0x67, 0x38, 0xCC, 0x33, 0x0F, 0xC1, 0xE0, 0x78, 0x1E, 0x07, 0x80,
0xE5, 0xD9, 0x66, 0x59, 0xB6, 0x7F, 0x9F, 0xE3, 0xF0, 0xFC, 0x33, 0x0C,
0xC0, 0xE7, 0x66, 0x7E, 0x3C, 0x3C, 0x3C, 0x3C, 0x7E, 0x66, 0xE7, 0xE1,
0xDC, 0x67, 0x38, 0xCC, 0x33, 0x0E, 0xC1, 0xF0, 0x78, 0x1E, 0x07, 0x80,
0xC0, 0x30, 0x1C, 0x06, 0x00, 0xFF, 0xFE, 0x0E, 0x0C, 0x1C, 0x38, 0x30,
0x70, 0x7F, 0xFF, 0x3B, 0xDC, 0xC2, 0x10, 0x8C, 0x66, 0x38, 0xC2, 0x10,
0x8C, 0x63, 0x8E, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE7, 0x9C, 0x62,
0x10, 0x86, 0x30, 0xCE, 0x62, 0x10, 0x86, 0x33, 0xB9, 0xC0, 0x78, 0x7F,
0xF8, 0x78 };
const GFXglyph monofonto10pt7bGlyphs[] PROGMEM = {
{ 0, 1, 1, 10, 0, 0 }, // 0x20 ' '
{ 1, 2, 14, 10, 4, -13 }, // 0x21 '!'
{ 5, 4, 5, 10, 3, -13 }, // 0x22 '"'
{ 8, 10, 14, 10, 0, -13 }, // 0x23 '#'
{ 26, 8, 18, 10, 1, -15 }, // 0x24 '$'
{ 44, 10, 14, 10, 0, -13 }, // 0x25 '%'
{ 62, 10, 14, 10, 0, -13 }, // 0x26 '&'
{ 80, 2, 5, 10, 4, -13 }, // 0x27 '''
{ 82, 5, 20, 10, 4, -15 }, // 0x28 '('
{ 95, 4, 20, 10, 2, -15 }, // 0x29 ')'
{ 105, 10, 9, 10, 0, -13 }, // 0x2A '*'
{ 117, 8, 9, 10, 1, -11 }, // 0x2B '+'
{ 126, 3, 6, 10, 3, -2 }, // 0x2C ','
{ 129, 6, 2, 10, 2, -7 }, // 0x2D '-'
{ 131, 2, 3, 10, 4, -2 }, // 0x2E '.'
{ 132, 10, 19, 10, 0, -15 }, // 0x2F '/'
{ 156, 8, 14, 10, 1, -13 }, // 0x30 '0'
{ 170, 5, 14, 10, 2, -13 }, // 0x31 '1'
{ 179, 8, 14, 10, 1, -13 }, // 0x32 '2'
{ 193, 8, 14, 10, 1, -13 }, // 0x33 '3'
{ 207, 8, 14, 10, 1, -13 }, // 0x34 '4'
{ 221, 8, 14, 10, 1, -13 }, // 0x35 '5'
{ 235, 8, 14, 10, 1, -13 }, // 0x36 '6'
{ 249, 8, 14, 10, 1, -13 }, // 0x37 '7'
{ 263, 8, 14, 10, 1, -13 }, // 0x38 '8'
{ 277, 8, 14, 10, 1, -13 }, // 0x39 '9'
{ 291, 2, 10, 10, 4, -9 }, // 0x3A ':'
{ 294, 3, 13, 10, 3, -9 }, // 0x3B ';'
{ 299, 8, 10, 10, 1, -11 }, // 0x3C '<'
{ 309, 8, 6, 10, 1, -9 }, // 0x3D '='
{ 315, 8, 10, 10, 1, -11 }, // 0x3E '>'
{ 325, 8, 14, 10, 1, -13 }, // 0x3F '?'
{ 339, 10, 15, 10, 0, -11 }, // 0x40 '@'
{ 358, 8, 14, 10, 1, -13 }, // 0x41 'A'
{ 372, 8, 14, 10, 1, -13 }, // 0x42 'B'
{ 386, 8, 14, 10, 1, -13 }, // 0x43 'C'
{ 400, 8, 14, 10, 1, -13 }, // 0x44 'D'
{ 414, 8, 14, 10, 1, -13 }, // 0x45 'E'
{ 428, 8, 14, 10, 1, -13 }, // 0x46 'F'
{ 442, 8, 14, 10, 1, -13 }, // 0x47 'G'
{ 456, 8, 14, 10, 1, -13 }, // 0x48 'H'
{ 470, 6, 14, 10, 2, -13 }, // 0x49 'I'
{ 481, 8, 14, 10, 1, -13 }, // 0x4A 'J'
{ 495, 8, 14, 10, 1, -13 }, // 0x4B 'K'
{ 509, 8, 14, 10, 1, -13 }, // 0x4C 'L'
{ 523, 8, 14, 10, 1, -13 }, // 0x4D 'M'
{ 537, 8, 14, 10, 1, -13 }, // 0x4E 'N'
{ 551, 8, 14, 10, 1, -13 }, // 0x4F 'O'
{ 565, 8, 14, 10, 1, -13 }, // 0x50 'P'
{ 579, 8, 17, 10, 1, -13 }, // 0x51 'Q'
{ 596, 9, 14, 10, 1, -13 }, // 0x52 'R'
{ 612, 8, 14, 10, 1, -13 }, // 0x53 'S'
{ 626, 8, 14, 10, 1, -13 }, // 0x54 'T'
{ 640, 8, 14, 10, 1, -13 }, // 0x55 'U'
{ 654, 10, 14, 10, 0, -13 }, // 0x56 'V'
{ 672, 10, 14, 10, 0, -13 }, // 0x57 'W'
{ 690, 8, 14, 10, 1, -13 }, // 0x58 'X'
{ 704, 10, 14, 10, 0, -13 }, // 0x59 'Y'
{ 722, 9, 14, 10, 0, -13 }, // 0x5A 'Z'
{ 738, 4, 20, 10, 5, -15 }, // 0x5B '['
{ 748, 10, 19, 10, 0, -15 }, // 0x5C '\'
{ 772, 4, 20, 10, 1, -15 }, // 0x5D ']'
{ 782, 8, 7, 10, 1, -13 }, // 0x5E '^'
{ 789, 10, 2, 10, 0, 3 }, // 0x5F '_'
{ 792, 4, 4, 10, 3, -13 }, // 0x60 '`'
{ 794, 8, 10, 10, 1, -9 }, // 0x61 'a'
{ 804, 8, 14, 10, 1, -13 }, // 0x62 'b'
{ 818, 8, 10, 10, 1, -9 }, // 0x63 'c'
{ 828, 8, 14, 10, 1, -13 }, // 0x64 'd'
{ 842, 8, 10, 10, 1, -9 }, // 0x65 'e'
{ 852, 8, 14, 10, 1, -13 }, // 0x66 'f'
{ 866, 8, 14, 10, 1, -9 }, // 0x67 'g'
{ 880, 8, 14, 10, 1, -13 }, // 0x68 'h'
{ 894, 6, 14, 10, 2, -13 }, // 0x69 'i'
{ 905, 6, 18, 10, 2, -13 }, // 0x6A 'j'
{ 919, 8, 14, 10, 1, -13 }, // 0x6B 'k'
{ 933, 5, 14, 10, 2, -13 }, // 0x6C 'l'
{ 942, 8, 10, 10, 1, -9 }, // 0x6D 'm'
{ 952, 8, 10, 10, 1, -9 }, // 0x6E 'n'
{ 962, 8, 10, 10, 1, -9 }, // 0x6F 'o'
{ 972, 8, 14, 10, 1, -9 }, // 0x70 'p'
{ 986, 8, 14, 10, 1, -9 }, // 0x71 'q'
{ 1000, 8, 10, 10, 1, -9 }, // 0x72 'r'