diff --git a/README.md b/README.md
index f356bfc5c..f1d47fcd4 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,7 @@ Boards supported out of the box:
- [Waveshare ESP32-S3-Touch-AMOLED-1.8](https://www.waveshare.com/esp32-s3-touch-amoled-1.8.htm?&aff_id=149786)
- [Waveshare ESP32-C6-Touch-AMOLED-1.8](https://www.waveshare.com/esp32-c6-touch-amoled-1.8.htm?&aff_id=149786)
- [Waveshare ESP32-S3-Touch-AMOLED-2.06](https://www.waveshare.com/esp32-s3-touch-amoled-2.06.htm?&aff_id=149786)
+- [Waveshare ESP32-S3-Touch-LCD-1.54](https://www.waveshare.com/esp32-s3-lcd-1.54.htm?sku=33869) (240x240 SPI TFT, not AMOLED)
> Please check if a pull request exists for your alternative hardware port before opening a new one, providing QA feedback and testing on the same hardware is more valuable than duplicate pull requests.
diff --git a/assets/icon_battery-charging_24.png b/assets/icon_battery-charging_24.png
new file mode 100644
index 000000000..4925adda8
Binary files /dev/null and b/assets/icon_battery-charging_24.png differ
diff --git a/assets/icon_battery-full_24.png b/assets/icon_battery-full_24.png
new file mode 100644
index 000000000..835d9af2c
Binary files /dev/null and b/assets/icon_battery-full_24.png differ
diff --git a/assets/icon_battery-low_24.png b/assets/icon_battery-low_24.png
new file mode 100644
index 000000000..08ab73c9d
Binary files /dev/null and b/assets/icon_battery-low_24.png differ
diff --git a/assets/icon_battery-medium_24.png b/assets/icon_battery-medium_24.png
new file mode 100644
index 000000000..fad5d8335
Binary files /dev/null and b/assets/icon_battery-medium_24.png differ
diff --git a/assets/icon_battery_24.png b/assets/icon_battery_24.png
new file mode 100644
index 000000000..62ec9a668
Binary files /dev/null and b/assets/icon_battery_24.png differ
diff --git a/assets/logo_40.png b/assets/logo_40.png
new file mode 100644
index 000000000..202e7f6a7
Binary files /dev/null and b/assets/logo_40.png differ
diff --git a/firmware/platformio.ini b/firmware/platformio.ini
index ed44dae2f..93e4c3d09 100644
--- a/firmware/platformio.ini
+++ b/firmware/platformio.ini
@@ -65,6 +65,62 @@ lib_deps =
h2zero/NimBLE-Arduino@^2.1.1
+[env:waveshare_lcd_154]
+; Waveshare ESP32-S3-Touch-LCD-1.54 — 240x240 ST7789 over plain 4-wire SPI
+; (first non-QSPI/TFT port), CST816T touch, battery ADC (no PMU), ES8311
+; speaker. Module is ESP32-S3R8: 16 MB quad flash + 8 MB octal PSRAM
+; (esptool-verified: "Embedded PSRAM 8MB (AP_3v3)", eFuse flash type quad),
+; hence qio_opi and the 16 MB partition layout.
+platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip
+board = esp32-s3-devkitc-1
+framework = arduino
+board_build.arduino.memory_type = qio_opi
+board_upload.flash_size = 16MB
+board_upload.maximum_size = 16777216
+board_build.partitions = default_16MB.csv
+upload_speed = 921600
+monitor_speed = 115200
+
+build_src_filter =
+ +<*>
+ -
+ +
+
+build_flags =
+ -DBOARD_LCD_154
+ -DARDUINO_USB_CDC_ON_BOOT=1
+ -DBOARD_HAS_PSRAM
+ ; NimBLE config — peripheral, 2 simultaneous connections so the OS can
+ ; hold the HID link (Space key from BOOT button) while the daemon holds
+ ; its own connection for the custom data service.
+ -DCONFIG_BT_NIMBLE_ROLE_BROADCASTER=1
+ -DCONFIG_BT_NIMBLE_ROLE_PERIPHERAL=1
+ -DCONFIG_BT_NIMBLE_ROLE_CENTRAL=0
+ -DCONFIG_BT_NIMBLE_ROLE_OBSERVER=0
+ -DCONFIG_BT_NIMBLE_MAX_CONNECTIONS=2
+ ; LVGL config via build flags
+ -DLV_CONF_SKIP
+ -DLV_COLOR_DEPTH=16
+ -DLV_USE_LOG=0
+ -DLV_USE_BAR=1
+ -DLV_USE_LABEL=1
+ -DLV_USE_ARC=1
+ -DLV_USE_BTN=1
+ -DLV_USE_LINE=1
+ -DLV_USE_OBJ=1
+ -DLV_USE_IMG=1
+ -DLV_USE_IMAGE=1
+ -DLV_USE_ANIMIMG=0
+ -DLV_TICK_CUSTOM=1
+ -DLV_USE_SNAPSHOT=1
+
+lib_deps =
+ moononournation/GFX Library for Arduino@^1.6.4
+ lvgl/lvgl@^9.2.0
+ bblanchon/ArduinoJson@^7.0.0
+ h2zero/NimBLE-Arduino@^2.1.1
+
+
[env:waveshare_amoled_18]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip
board = esp32-s3-devkitc-1
diff --git a/firmware/src/boards/waveshare_lcd_154/board.h b/firmware/src/boards/waveshare_lcd_154/board.h
new file mode 100644
index 000000000..43954ed4b
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/board.h
@@ -0,0 +1,66 @@
+#pragma once
+
+// Waveshare ESP32-S3-Touch-LCD-1.54 — 1.54" square TFT kit.
+// 240x240 ST7789 (plain 4-wire SPI, not QSPI) + CST816T touch + battery ADC
+// (no PMU — the ETA6098 charger is standalone) + ES8311 codec + speaker.
+// QMI8658 IMU is populated but unused (fixed enclosure orientation).
+//
+// Pin map taken from the BambuHelper project's ws_lcd_154 configuration,
+// which is hardware-tested on this exact kit (display, touch, buttons,
+// battery ADC and ES8311 all exercised there).
+
+#define BOARD_NAME "Waveshare LCD 1.54"
+
+// ---- Display geometry ----
+#define LCD_WIDTH 240
+#define LCD_HEIGHT 240
+
+// ---- SPI display pins (ST7789, 4-wire SPI) ----
+#define LCD_CS 21
+#define LCD_SCLK 38
+#define LCD_MOSI 39
+#define LCD_DC 45
+#define LCD_RST 40
+#define LCD_BL 46 // backlight, LEDC PWM (TFT has no brightness cmd)
+
+// ---- I2C bus (touch + codec + IMU share one bus) ----
+#define IIC_SDA 42
+#define IIC_SCL 41
+
+// ---- Touch (CST816T, minimal inline I2C reader) ----
+#define TP_INT 48
+#define TP_RST 47
+#define CST816_ADDR 0x15
+
+// ---- Battery (ADC divider, no I2C-readable PMU) ----
+// VBAT → 3.0x divider → GPIO1. BAT_EN (GPIO2) is the power-hold line: must be
+// driven HIGH early in board_init() or the board browns out on battery power.
+#define BAT_EN 2
+#define BAT_ADC_PIN 1
+#define BAT_VOLT_DIVIDER 3.0f
+
+// ---- Audio (ES8311 mono codec + speaker, I2S) ----
+// Pins from Waveshare's factory ES8311 example. No mic path wired (the ES7210
+// mic ADC is a separate chip) — DIN unused.
+#define SND_I2S_MCLK 8
+#define SND_I2S_BCLK 9
+#define SND_I2S_WS 10 // LRCK
+#define SND_I2S_DOUT 12 // ESP → ES8311 (speaker)
+#define SND_I2S_DIN -1 // unused
+#define SND_PA_PIN 7 // power-amp enable (HIGH = on)
+#define SND_SAMPLE_RATE 44100 // must match the embedded PCM (bell_pcm.h)
+#define SND_ES8311_ADDR 0x18
+
+// ---- Buttons (active-LOW GPIOs, from the Waveshare button example) ----
+#define BTN_BACK_GPIO 0 // BOOT — primary, Space (PTT)
+#define BTN_FWD_GPIO 5 // secondary, Shift+Tab (mode toggle)
+#define BTN_PWR_GPIO 4 // PWR-role button — screens/brightness/pairing;
+ // hold 8s = power off (see power.cpp)
+
+// ---- Capability flags ----
+#define BOARD_HAS_SECONDARY_BUTTON 1
+#define BOARD_HAS_ROTATION 0
+#define BOARD_HAS_IMU 0 // QMI8658 present but unused
+#define BOARD_HAS_BATTERY 1
+#define BOARD_HAS_IO_EXPANDER 0
+#define BOARD_HAS_SOUND 1
diff --git a/firmware/src/boards/waveshare_lcd_154/board_init.cpp b/firmware/src/boards/waveshare_lcd_154/board_init.cpp
new file mode 100644
index 000000000..b01d14c1b
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/board_init.cpp
@@ -0,0 +1,19 @@
+#include "board.h"
+#include
+#include
+#include
+
+// Bring up the shared I2C bus and assert the battery power-hold line. BAT_EN
+// must go HIGH before anything power-hungry runs or the board browns out when
+// running from battery (it is harmless on USB power). No IO expander on this
+// kit; the touch reset GPIO is pulsed in touch_hal_init().
+extern "C" void board_init(void) {
+ // Release the pad hold a power-off left behind (power.cpp latches BAT_EN
+ // low with gpio_hold_en before deep sleep) — without this the HIGH write
+ // below would not reach the pin after a USB pseudo-off wake.
+ gpio_hold_dis((gpio_num_t)BAT_EN);
+ pinMode(BAT_EN, OUTPUT);
+ digitalWrite(BAT_EN, HIGH);
+
+ Wire.begin(IIC_SDA, IIC_SCL);
+}
diff --git a/firmware/src/boards/waveshare_lcd_154/caps.cpp b/firmware/src/boards/waveshare_lcd_154/caps.cpp
new file mode 100644
index 000000000..256befedb
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/caps.cpp
@@ -0,0 +1,16 @@
+#include "../../hal/board_caps.h"
+#include "board.h"
+
+static const BoardCaps caps = {
+ .name = BOARD_NAME,
+ .width = LCD_WIDTH,
+ .height = LCD_HEIGHT,
+ // BOOT (primary) + GPIO5 (secondary). The PWR-role button on GPIO4 is
+ // handled in power.cpp and not counted here.
+ .button_count = (uint8_t)(1 + BOARD_HAS_SECONDARY_BUTTON),
+ .has_rotation = (bool)BOARD_HAS_ROTATION,
+ .has_battery = (bool)BOARD_HAS_BATTERY,
+ .has_imu = (bool)BOARD_HAS_IMU,
+};
+
+const BoardCaps& board_caps(void) { return caps; }
diff --git a/firmware/src/boards/waveshare_lcd_154/display.cpp b/firmware/src/boards/waveshare_lcd_154/display.cpp
new file mode 100644
index 000000000..6b1da1d44
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/display.cpp
@@ -0,0 +1,52 @@
+#include "../../hal/display_hal.h"
+#include "board.h"
+#include
+#include
+
+// ST7789 over plain 4-wire SPI — the first non-QSPI panel in the tree, but
+// Arduino_GFX abstracts the bus so the HAL surface is identical. The ST7789
+// has no in-panel brightness command; brightness is a LEDC PWM duty on the
+// backlight GPIO instead, which keeps the idle fade working unchanged.
+
+static Arduino_DataBus* bus = nullptr;
+static Arduino_ST7789* gfx = nullptr;
+
+void display_hal_init(void) {
+ bus = new Arduino_ESP32SPI(LCD_DC, LCD_CS, LCD_SCLK, LCD_MOSI,
+ GFX_NOT_DEFINED /* no MISO */);
+ // 240x240 window of the 240x320 GRAM: rows 0-239 at rotation 0, so
+ // offsets are 0,0 (the 80-row offset only matters for rotations 2/3).
+ // ips=true — this module needs color inversion (matches the
+ // hardware-tested BambuHelper config's USE_ST7789_INVERT).
+ gfx = new Arduino_ST7789(bus, LCD_RST, 0 /* rotation */, true /* ips */,
+ LCD_WIDTH, LCD_HEIGHT, 0, 0, 0, 80);
+}
+
+void display_hal_begin(void) {
+ gfx->begin(80000000); // 80 MHz write clock, hardware-tested on this panel
+ gfx->fillScreen(0x0000);
+ ledcAttach(LCD_BL, 5000 /* Hz */, 8 /* bits */);
+ ledcWrite(LCD_BL, 200);
+}
+
+void display_hal_set_brightness(uint8_t level) {
+ ledcWrite(LCD_BL, level);
+}
+
+void display_hal_fill_screen(uint16_t color) {
+ if (gfx) gfx->fillScreen(color);
+}
+
+void display_hal_draw_bitmap(int32_t x, int32_t y, int32_t w, int32_t h,
+ const uint16_t* pixels) {
+ if (gfx) gfx->draw16bitRGBBitmap(x, y, (uint16_t*)pixels, w, h);
+}
+
+void display_hal_tick(void) {
+ // No rotation cycle on this board.
+}
+
+// ST7789 over SPI has no flush-region alignment requirement.
+void display_hal_round_area(int32_t* x1, int32_t* y1, int32_t* x2, int32_t* y2) {
+ (void)x1; (void)y1; (void)x2; (void)y2;
+}
diff --git a/firmware/src/boards/waveshare_lcd_154/imu.cpp b/firmware/src/boards/waveshare_lcd_154/imu.cpp
new file mode 100644
index 000000000..546b693c8
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/imu.cpp
@@ -0,0 +1,9 @@
+#include "../../hal/imu_hal.h"
+
+// QMI8658 is populated on the kit (I2C 0x6B) but the enclosure mounts the
+// panel at a fixed orientation, so rotation is off and the IMU stays
+// uninitialized.
+
+void imu_hal_init(void) {}
+void imu_hal_tick(void) {}
+uint8_t imu_hal_rotation_quadrant(void) { return 0; }
diff --git a/firmware/src/boards/waveshare_lcd_154/input.cpp b/firmware/src/boards/waveshare_lcd_154/input.cpp
new file mode 100644
index 000000000..f35f13b16
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/input.cpp
@@ -0,0 +1,24 @@
+#include "../../hal/input_hal.h"
+#include "board.h"
+#include
+
+void input_hal_init(void) {
+ pinMode(BTN_BACK_GPIO, INPUT_PULLUP);
+#if BOARD_HAS_SECONDARY_BUTTON
+ pinMode(BTN_FWD_GPIO, INPUT_PULLUP);
+#endif
+}
+
+bool input_hal_is_held(InputButton btn) {
+ switch (btn) {
+ case INPUT_BTN_PRIMARY:
+ return digitalRead(BTN_BACK_GPIO) == LOW;
+ case INPUT_BTN_SECONDARY:
+#if BOARD_HAS_SECONDARY_BUTTON
+ return digitalRead(BTN_FWD_GPIO) == LOW;
+#else
+ return false;
+#endif
+ }
+ return false;
+}
diff --git a/firmware/src/boards/waveshare_lcd_154/power.cpp b/firmware/src/boards/waveshare_lcd_154/power.cpp
new file mode 100644
index 000000000..f779b5ed6
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/power.cpp
@@ -0,0 +1,130 @@
+#include "../../hal/power_hal.h"
+#include "../../hal/display_hal.h"
+#include "board.h"
+#include
+#include
+#include
+
+// No PMU on this kit — the ETA6098 charger is standalone and exposes nothing
+// over I2C. Battery percentage comes from the VBAT divider on BAT_ADC_PIN;
+// charging / VBUS state is unknowable, so both report false.
+//
+// The PWR-role button is a plain active-LOW GPIO. Same software edge
+// synthesis as the AMOLED-1.8 port (which polls an IO expander instead):
+// short — fired on release if the hold was shorter than PWR_LONG_MS
+// long — fired once when a hold crosses PWR_LONG_MS
+// release — fired on every release edge
+// This keeps the hold-to-pair gesture logic in main.cpp board-agnostic.
+//
+// Power OFF mirrors the AXP boards' 8-second hardware shutdown, synthesized
+// in software since there is no PMU: holding the PWR button to 8 s drops the
+// BAT_EN latch (hard power cut on battery) and deep-sleeps (pseudo-off on
+// USB, where the rail can't be cut). The pairing gesture in main.cpp already
+// disarms at 6 s precisely to leave this window free, so the timings compose
+// without any shared-code change. Power back ON: center PWR button (battery,
+// re-raises the latched rail) or BOOT press / reset (USB deep sleep, via the
+// ext0 wake armed below).
+
+#define BATTERY_POLL_MS 2000
+#define PWR_POLL_MS 50
+#define PWR_LONG_MS 1500
+#define PWR_OFF_HOLD_MS 8000 // mirrors the AXP2101 PKEY 8s shutdown
+
+static int cached_pct = -1;
+static bool pwr_pressed_flag = false;
+static bool pwr_long_flag = false;
+static bool pwr_released_flag = false;
+static bool last_pwr_state = false;
+static uint32_t pwr_press_started_ms = 0;
+static bool pwr_long_fired = false;
+static uint32_t last_battery_ms = 0;
+static uint32_t last_pwr_ms = 0;
+
+static void sample_battery(void) {
+ // Average a few reads — the divider is high-impedance and single ADC
+ // samples on the S3 are noisy.
+ uint32_t mv = 0;
+ for (int i = 0; i < 4; i++) mv += analogReadMilliVolts(BAT_ADC_PIN);
+ float vbat = (mv / 4) * BAT_VOLT_DIVIDER / 1000.0f;
+
+ if (vbat < 3.0f) { // divider floating — no battery connected
+ cached_pct = -1;
+ return;
+ }
+ // Linear 3.3 V → 0%, 4.2 V → 100%. Crude but serviceable for a
+ // four-state indicator icon.
+ int pct = (int)((vbat - 3.3f) * (100.0f / 0.9f) + 0.5f);
+ cached_pct = pct < 0 ? 0 : pct > 100 ? 100 : pct;
+}
+
+static void power_off(void) {
+ Serial.println("PWR held 8s — powering off");
+ Serial.flush();
+ display_hal_set_brightness(0);
+ delay(50);
+
+ // Drop the battery power-hold latch and keep it low through deep sleep.
+ // On battery this cuts the rail outright; on USB the chip deep-sleeps.
+ digitalWrite(BAT_EN, LOW);
+ gpio_hold_en((gpio_num_t)BAT_EN);
+ esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_ON);
+ // On USB power, let a BOOT press wake the pseudo-off state (GPIO0 is
+ // RTC-capable on the S3). Irrelevant on battery — the rail is gone.
+ esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, 0);
+ delay(200);
+ esp_deep_sleep_start();
+}
+
+void power_hal_init(void) {
+ pinMode(BTN_PWR_GPIO, INPUT_PULLUP);
+ analogReadResolution(12);
+ sample_battery();
+}
+
+void power_hal_tick(void) {
+ uint32_t now = millis();
+
+ if (now - last_battery_ms >= BATTERY_POLL_MS) {
+ last_battery_ms = now;
+ sample_battery();
+ }
+ if (now - last_pwr_ms >= PWR_POLL_MS) {
+ last_pwr_ms = now;
+ bool pwr_now = (digitalRead(BTN_PWR_GPIO) == LOW); // active LOW
+ if (pwr_now && !last_pwr_state) { // press edge — hold begins
+ pwr_press_started_ms = now;
+ pwr_long_fired = false;
+ } else if (pwr_now && last_pwr_state) { // held
+ if (!pwr_long_fired && (now - pwr_press_started_ms >= PWR_LONG_MS)) {
+ pwr_long_flag = true;
+ pwr_long_fired = true;
+ }
+ if (now - pwr_press_started_ms >= PWR_OFF_HOLD_MS) {
+ power_off(); // does not return
+ }
+ } else if (!pwr_now && last_pwr_state) { // release edge
+ pwr_released_flag = true;
+ if (!pwr_long_fired) pwr_pressed_flag = true; // short press
+ }
+ last_pwr_state = pwr_now;
+ }
+}
+
+int power_hal_battery_pct(void) { return cached_pct; }
+bool power_hal_is_charging(void) { return false; }
+bool power_hal_is_vbus_in(void) { return false; }
+
+bool power_hal_pwr_pressed(void) {
+ if (pwr_pressed_flag) { pwr_pressed_flag = false; return true; }
+ return false;
+}
+
+bool power_hal_pwr_long_pressed(void) {
+ if (pwr_long_flag) { pwr_long_flag = false; return true; }
+ return false;
+}
+
+bool power_hal_pwr_released(void) {
+ if (pwr_released_flag) { pwr_released_flag = false; return true; }
+ return false;
+}
diff --git a/firmware/src/boards/waveshare_lcd_154/sound.cpp b/firmware/src/boards/waveshare_lcd_154/sound.cpp
new file mode 100644
index 000000000..cee352e42
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/sound.cpp
@@ -0,0 +1,28 @@
+#include "../../hal/sound_hal.h"
+#include "board.h"
+
+#if BOARD_HAS_SOUND
+
+#include
+#include "../../chime.h"
+
+// LCD-1.54: ES8311 codec + speaker, same shared chime engine as the AMOLED
+// boards. The power amp is a plain GPIO. No mic path (DIN = -1).
+
+static void amp_enable(bool on) {
+ digitalWrite(SND_PA_PIN, on ? HIGH : LOW);
+}
+
+void sound_hal_init(void) {
+ pinMode(SND_PA_PIN, OUTPUT);
+ const ChimeConfig cfg = {
+ SND_I2S_MCLK, SND_I2S_BCLK, SND_I2S_WS, SND_I2S_DOUT, SND_I2S_DIN,
+ SND_SAMPLE_RATE, SND_ES8311_ADDR, 65, amp_enable
+ };
+ chime_init(cfg);
+}
+
+void sound_hal_play_reset(void) { chime_play(); }
+void sound_hal_tick(void) { chime_tick(); }
+
+#endif // BOARD_HAS_SOUND
diff --git a/firmware/src/boards/waveshare_lcd_154/touch.cpp b/firmware/src/boards/waveshare_lcd_154/touch.cpp
new file mode 100644
index 000000000..3d166a9b8
--- /dev/null
+++ b/firmware/src/boards/waveshare_lcd_154/touch.cpp
@@ -0,0 +1,88 @@
+#include "../../hal/touch_hal.h"
+#include "board.h"
+#include
+#include
+
+// Minimal CST816T reader — same FocalTech-style register layout as the
+// AMOLED-1.8 port's inline reader (regs 0x02..0x06), vendored to keep the
+// dependency tree copyleft-free:
+// reg 0x02: low nibble = active finger count
+// reg 0x03 / 0x04: X high (low nibble) + X low
+// reg 0x05 / 0x06: Y high (low nibble) + Y low
+// The CST816T reports in panel-native orientation on this kit — no axis swap
+// or mirror at rotation 0 (matches BambuHelper's hardware-tested config for
+// the same board, which applies no swap flags).
+
+static volatile bool touch_data_ready = false;
+static volatile bool touch_pressed = false;
+static volatile uint16_t touch_x = 0;
+static volatile uint16_t touch_y = 0;
+
+static void IRAM_ATTR touch_isr(void) {
+ touch_data_ready = true;
+}
+
+static void touch_read_into_shared_state(void) {
+ Wire.beginTransmission(CST816_ADDR);
+ Wire.write(0x02);
+ if (Wire.endTransmission(false) != 0) { touch_pressed = false; return; }
+ if (Wire.requestFrom((uint8_t)CST816_ADDR, (uint8_t)5) != 5) { touch_pressed = false; return; }
+ uint8_t fingers = Wire.read() & 0x0F;
+ uint8_t xH = Wire.read();
+ uint8_t xL = Wire.read();
+ uint8_t yH = Wire.read();
+ uint8_t yL = Wire.read();
+ if (fingers == 0 || fingers > 5) {
+ touch_pressed = false;
+ return;
+ }
+ touch_x = ((uint16_t)(xH & 0x0F) << 8) | xL;
+ touch_y = ((uint16_t)(yH & 0x0F) << 8) | yL;
+ touch_pressed = true;
+}
+
+void touch_hal_init(void) {
+ // Hardware reset — the CST816T needs a clean reset pulse before it
+ // responds on I2C (it powers up in a low-power state otherwise).
+ pinMode(TP_RST, OUTPUT);
+ digitalWrite(TP_RST, LOW);
+ delay(10);
+ digitalWrite(TP_RST, HIGH);
+ delay(100);
+
+ // Verify the controller answers. CST816 chip-id lives at reg 0xA7.
+ Wire.beginTransmission(CST816_ADDR);
+ Wire.write(0xA7);
+ if (Wire.endTransmission(false) == 0 &&
+ Wire.requestFrom((uint8_t)CST816_ADDR, (uint8_t)1) == 1) {
+ Serial.printf("Touch CST816 ID=0x%02X (addr 0x%02X)\n", Wire.read(), CST816_ADDR);
+ } else {
+ Serial.printf("Touch ID read failed (addr 0x%02X)\n", CST816_ADDR);
+ }
+
+ // Disable the controller's auto-sleep — asleep it stops raising INT and
+ // the first tap after idle would be swallowed. Reg 0xFE nonzero = stay on.
+ Wire.beginTransmission(CST816_ADDR);
+ Wire.write(0xFE);
+ Wire.write(0x01);
+ Wire.endTransmission();
+
+ pinMode(TP_INT, INPUT_PULLUP);
+ attachInterrupt(TP_INT, touch_isr, FALLING);
+ Serial.println("Touch attached on INT pin");
+}
+
+void touch_hal_read(uint16_t* x, uint16_t* y, bool* pressed) {
+ if (touch_data_ready) {
+ touch_data_ready = false;
+ touch_read_into_shared_state();
+ } else if (touch_pressed) {
+ // CST816 raises INT per report while a finger is down, but the release
+ // (finger-up) report can be missed if it lands between polls — re-read
+ // while we think we're pressed so a stuck "pressed" state clears.
+ touch_read_into_shared_state();
+ }
+ *x = touch_x;
+ *y = touch_y;
+ *pressed = touch_pressed;
+}
diff --git a/firmware/src/icons.h b/firmware/src/icons.h
index 33b3612b7..d8948577c 100644
--- a/firmware/src/icons.h
+++ b/firmware/src/icons.h
@@ -2298,3 +2298,573 @@ static const uint8_t icon_battery_charging_data[6912] = {
};
+
+#define ICON_BATTERY_SMALL_W 24
+#define ICON_BATTERY_SMALL_H 24
+// RGB565A8: 576 RGB565 pixels (little-endian) followed by 576 alpha bytes
+static const uint8_t icon_battery_small_data[1728] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x1D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE7, 0xE7, 0xE7,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xD6, 0x88, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x81, 0xFF, 0xFC, 0xE4, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4,
+ 0xFC, 0xFF, 0x87, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0xD2, 0xFE, 0x4B, 0x18, 0x1D, 0x1C, 0x1C,
+ 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1E, 0x17, 0x55, 0xF5, 0xDD, 0x0A, 0x01, 0x00, 0x00, 0x00,
+ 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00, 0x20, 0xE1, 0xFC, 0x0A, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x1E, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09,
+ 0x20, 0xE1, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22, 0x20, 0xE1, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F,
+ 0x20, 0xE1, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F, 0x20, 0xE1, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22,
+ 0x20, 0xE1, 0xFC, 0x0A, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02,
+ 0x1E, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09, 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00,
+ 0x15, 0xD1, 0xFE, 0x4C, 0x18, 0x1D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1E, 0x17,
+ 0x56, 0xF5, 0xDC, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x01, 0x80, 0xFF, 0xFC, 0xE4, 0xE7, 0xE7, 0xE7,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4, 0xFC, 0xFF, 0x86, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6,
+ 0xD6, 0x87, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x1C, 0x1C, 0x1C,
+ 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+#define ICON_BATTERY_LOW_SMALL_W 24
+#define ICON_BATTERY_LOW_SMALL_H 24
+// RGB565A8: 576 RGB565 pixels (little-endian) followed by 576 alpha bytes
+static const uint8_t icon_battery_low_small_data[1728] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x1D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE7, 0xE7, 0xE7,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xD6, 0x88, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x81, 0xFF, 0xFC, 0xE4, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4,
+ 0xFC, 0xFF, 0x87, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0xD2, 0xFE, 0x4B, 0x19, 0x1B, 0x1A, 0x1C,
+ 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1E, 0x17, 0x55, 0xF5, 0xDD, 0x0A, 0x01, 0x00, 0x00, 0x00,
+ 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00, 0x20, 0xE1, 0xFC, 0x09, 0x07, 0xBE, 0xBE, 0x08,
+ 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02, 0x1E, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09,
+ 0x20, 0xE1, 0xFE, 0x02, 0x1A, 0xEC, 0xEC, 0x1D, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22, 0x20, 0xE1, 0xFE, 0x02, 0x19, 0xE6, 0xE6, 0x1C,
+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F,
+ 0x20, 0xE1, 0xFE, 0x02, 0x19, 0xE6, 0xE6, 0x1C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F, 0x20, 0xE1, 0xFE, 0x02, 0x1A, 0xEC, 0xEC, 0x1D,
+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22,
+ 0x20, 0xE1, 0xFC, 0x09, 0x07, 0xBE, 0xBE, 0x08, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x04, 0x02,
+ 0x1E, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09, 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00,
+ 0x15, 0xD1, 0xFE, 0x4C, 0x19, 0x1B, 0x1A, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1E, 0x17,
+ 0x56, 0xF5, 0xDC, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x01, 0x80, 0xFF, 0xFC, 0xE4, 0xE7, 0xE7, 0xE7,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4, 0xFC, 0xFF, 0x86, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6,
+ 0xD6, 0x87, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x1C, 0x1C, 0x1C,
+ 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+#define ICON_BATTERY_MEDIUM_SMALL_W 24
+#define ICON_BATTERY_MEDIUM_SMALL_H 24
+// RGB565A8: 576 RGB565 pixels (little-endian) followed by 576 alpha bytes
+static const uint8_t icon_battery_medium_small_data[1728] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x1D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE7, 0xE7, 0xE7,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xD6, 0x88, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x81, 0xFF, 0xFC, 0xE4, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4,
+ 0xFC, 0xFF, 0x87, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0xD2, 0xFE, 0x4B, 0x19, 0x1B, 0x1A, 0x1C,
+ 0x1C, 0x1A, 0x1A, 0x1C, 0x1C, 0x1C, 0x1E, 0x17, 0x55, 0xF5, 0xDD, 0x0A, 0x01, 0x00, 0x00, 0x00,
+ 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00, 0x20, 0xE1, 0xFC, 0x09, 0x07, 0xBE, 0xBE, 0x07,
+ 0x02, 0xC5, 0xB8, 0x0B, 0x02, 0x03, 0x04, 0x02, 0x1E, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09,
+ 0x20, 0xE1, 0xFE, 0x02, 0x1A, 0xEC, 0xEC, 0x1A, 0x02, 0xFF, 0xE9, 0x21, 0x00, 0x02, 0x02, 0x00,
+ 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22, 0x20, 0xE1, 0xFE, 0x02, 0x19, 0xE6, 0xE6, 0x19,
+ 0x02, 0xFC, 0xE3, 0x1F, 0x00, 0x02, 0x02, 0x00, 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F,
+ 0x20, 0xE1, 0xFE, 0x02, 0x19, 0xE6, 0xE6, 0x19, 0x02, 0xFC, 0xE3, 0x1F, 0x00, 0x02, 0x02, 0x00,
+ 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F, 0x20, 0xE1, 0xFE, 0x02, 0x1A, 0xEC, 0xEC, 0x1A,
+ 0x02, 0xFF, 0xE9, 0x21, 0x00, 0x02, 0x02, 0x00, 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22,
+ 0x20, 0xE1, 0xFC, 0x09, 0x07, 0xBE, 0xBE, 0x07, 0x02, 0xC5, 0xB8, 0x0B, 0x02, 0x03, 0x04, 0x02,
+ 0x1E, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09, 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00,
+ 0x15, 0xD1, 0xFE, 0x4C, 0x19, 0x1B, 0x1A, 0x1C, 0x1C, 0x1A, 0x1A, 0x1C, 0x1C, 0x1C, 0x1E, 0x17,
+ 0x56, 0xF5, 0xDC, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x01, 0x80, 0xFF, 0xFC, 0xE4, 0xE7, 0xE7, 0xE7,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4, 0xFC, 0xFF, 0x86, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6,
+ 0xD6, 0x87, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x1C, 0x1C, 0x1C,
+ 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+#define ICON_BATTERY_FULL_SMALL_W 24
+#define ICON_BATTERY_FULL_SMALL_H 24
+// RGB565A8: 576 RGB565 pixels (little-endian) followed by 576 alpha bytes
+static const uint8_t icon_battery_full_small_data[1728] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x1D, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE7, 0xE7, 0xE7,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6, 0xD6, 0x88, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x81, 0xFF, 0xFC, 0xE4, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4,
+ 0xFC, 0xFF, 0x87, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0xD2, 0xFE, 0x4B, 0x19, 0x1B, 0x1A, 0x1C,
+ 0x1C, 0x1A, 0x1A, 0x1C, 0x1C, 0x1A, 0x1D, 0x17, 0x55, 0xF5, 0xDD, 0x0A, 0x01, 0x00, 0x00, 0x00,
+ 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00, 0x20, 0xE1, 0xFC, 0x09, 0x07, 0xBE, 0xBE, 0x07,
+ 0x02, 0xC5, 0xB9, 0x08, 0x08, 0xB9, 0xC6, 0x02, 0x1D, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09,
+ 0x20, 0xE1, 0xFE, 0x02, 0x1A, 0xEC, 0xEC, 0x1A, 0x02, 0xFF, 0xEB, 0x19, 0x19, 0xEB, 0xFF, 0x02,
+ 0x19, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22, 0x20, 0xE1, 0xFE, 0x02, 0x19, 0xE6, 0xE6, 0x19,
+ 0x02, 0xFC, 0xE5, 0x18, 0x18, 0xE5, 0xFC, 0x02, 0x19, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F,
+ 0x20, 0xE1, 0xFE, 0x02, 0x19, 0xE6, 0xE6, 0x19, 0x02, 0xFC, 0xE5, 0x18, 0x18, 0xE5, 0xFC, 0x02,
+ 0x19, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F, 0x20, 0xE1, 0xFE, 0x02, 0x1A, 0xEC, 0xEC, 0x1A,
+ 0x02, 0xFF, 0xEB, 0x19, 0x19, 0xEB, 0xFF, 0x02, 0x19, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22,
+ 0x20, 0xE1, 0xFC, 0x09, 0x07, 0xBE, 0xBE, 0x07, 0x02, 0xC5, 0xB9, 0x08, 0x08, 0xB9, 0xC6, 0x02,
+ 0x1D, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09, 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00,
+ 0x15, 0xD1, 0xFE, 0x4C, 0x19, 0x1B, 0x1A, 0x1C, 0x1C, 0x1A, 0x1A, 0x1C, 0x1C, 0x1A, 0x1D, 0x17,
+ 0x56, 0xF5, 0xDC, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x01, 0x80, 0xFF, 0xFC, 0xE4, 0xE7, 0xE7, 0xE7,
+ 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE4, 0xFC, 0xFF, 0x86, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE7, 0xE6,
+ 0xD6, 0x87, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x1C, 0x1C, 0x1C,
+ 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02,
+ 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+#define ICON_BATTERY_CHARGING_SMALL_W 24
+#define ICON_BATTERY_CHARGING_SMALL_H 24
+// RGB565A8: 576 RGB565 pixels (little-endian) followed by 576 alpha bytes
+static const uint8_t icon_battery_charging_small_data[1728] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x1D, 0x1B, 0x1D, 0x03, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x1E,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x89, 0xD6, 0xE7, 0xE4, 0xE7, 0xA4,
+ 0x0A, 0x00, 0x03, 0x03, 0x00, 0x1D, 0xC6, 0xE8, 0xD6, 0x87, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x80, 0xFF, 0xFC, 0xE4, 0xE5, 0xE7, 0xA6, 0x09, 0x08, 0xBF, 0xC6, 0x03, 0x1C, 0xC7, 0xE5,
+ 0xFB, 0xFF, 0x86, 0x00, 0x03, 0x00, 0x00, 0x00, 0x15, 0xD1, 0xFE, 0x4B, 0x18, 0x1D, 0x1D, 0x05,
+ 0x00, 0x74, 0xFF, 0xD0, 0x05, 0x00, 0x0D, 0x19, 0x56, 0xF5, 0xDC, 0x0A, 0x01, 0x00, 0x00, 0x00,
+ 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0xED, 0xFF, 0x49, 0x00, 0x02, 0x00, 0x00,
+ 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00, 0x20, 0xE1, 0xFC, 0x0A, 0x02, 0x02, 0x05, 0x03,
+ 0xA5, 0xFF, 0x9D, 0x00, 0x01, 0x01, 0x03, 0x02, 0x1E, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09,
+ 0x20, 0xE1, 0xFC, 0x07, 0x00, 0x04, 0x00, 0x4D, 0xF6, 0xEB, 0x46, 0x1E, 0x09, 0x00, 0x03, 0x00,
+ 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22, 0x20, 0xE1, 0xFC, 0x07, 0x00, 0x01, 0x10, 0xC9,
+ 0xFF, 0xFB, 0xDC, 0xDF, 0xAF, 0x08, 0x01, 0x00, 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F,
+ 0x20, 0xE1, 0xFC, 0x07, 0x00, 0x00, 0x10, 0xAA, 0xDE, 0xDF, 0xFC, 0xFF, 0xD3, 0x08, 0x02, 0x00,
+ 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFD, 0xE0, 0x1F, 0x20, 0xE1, 0xFC, 0x07, 0x00, 0x01, 0x00, 0x08,
+ 0x1E, 0x41, 0xEA, 0xFC, 0x48, 0x00, 0x04, 0x00, 0x1C, 0xE7, 0xE7, 0x19, 0x02, 0xFF, 0xE6, 0x22,
+ 0x20, 0xE1, 0xFC, 0x0A, 0x02, 0x01, 0x00, 0x00, 0x00, 0x9D, 0xFF, 0xA3, 0x00, 0x02, 0x04, 0x02,
+ 0x1E, 0xE7, 0xE7, 0x1A, 0x00, 0xC4, 0xB4, 0x09, 0x21, 0xE1, 0xFC, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x48, 0xFF, 0xED, 0x25, 0x01, 0x00, 0x00, 0x00, 0x14, 0xE6, 0xE7, 0x1C, 0x00, 0x05, 0x03, 0x00,
+ 0x15, 0xD1, 0xFE, 0x4B, 0x1B, 0x09, 0x00, 0x0C, 0xCB, 0xFF, 0x77, 0x00, 0x04, 0x1F, 0x1D, 0x17,
+ 0x56, 0xF5, 0xDC, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x01, 0x80, 0xFF, 0xFB, 0xE6, 0xD2, 0x12, 0x07,
+ 0xBE, 0xC3, 0x0B, 0x04, 0xAF, 0xE8, 0xE6, 0xE4, 0xFD, 0xFF, 0x85, 0x00, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x88, 0xD5, 0xE9, 0xD1, 0x12, 0x00, 0x04, 0x02, 0x00, 0x03, 0xAD, 0xE8, 0xE6, 0xE6,
+ 0xD6, 0x86, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x01, 0x1E, 0x1B, 0x1C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x01, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
diff --git a/firmware/src/logo.h b/firmware/src/logo.h
index 863ceaa27..c8b2c6b05 100644
--- a/firmware/src/logo.h
+++ b/firmware/src/logo.h
@@ -1206,3 +1206,309 @@ static const uint8_t logo_data[19200] = {
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
};
+
+#define LOGO_SMALL_WIDTH 40
+#define LOGO_SMALL_HEIGHT 40
+// RGB565A8: 1600 RGB565 pixels (little-endian) followed by 1600 alpha bytes
+static const uint8_t logo_small_data[4800] = {
+ 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF,
+ 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF,
+ 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF,
+ 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF,
+ 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 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, 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,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCA, 0xD3, 0xAA, 0xDB, 0xCB, 0xDB, 0xCA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0x8B, 0xDB, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0xA9, 0xD3, 0xAA, 0xDB, 0x0B, 0xEC, 0xEB, 0xE3,
+ 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3,
+ 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3,
+ 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3,
+ 0xEB, 0xE3, 0x0B, 0xEC, 0xAA, 0xDB, 0xAA, 0xCB, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xCB, 0xDB, 0xAA, 0xDB, 0x8B, 0xDB, 0x00, 0x00, 0xAA, 0xD3, 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0x00, 0x00, 0x4A, 0xD3, 0xAA, 0xDB, 0xCB, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0x4A, 0xFD, 0xAA, 0xD3, 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0x4A, 0xFD, 0x8A, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0xFF, 0xE0, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xC9, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xCB, 0xDB, 0xAA, 0xDB, 0xCA, 0xDB, 0xEF, 0x7B, 0xAA, 0xD3, 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0xEF, 0x7B, 0xA9, 0xD3, 0xAA, 0xDB, 0xCB, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xCA, 0xD3, 0xFF, 0xFF, 0x4A, 0xAD, 0xE0, 0xFF, 0xE0, 0xFF,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xCB, 0xDB, 0xAA, 0xDB, 0xAB, 0xD3, 0x00, 0x00, 0xAA, 0xD3, 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0x00, 0x00, 0x8A, 0xD3, 0xAA, 0xDB, 0xCB, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0xAA, 0xDB, 0xCB, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xEB, 0xE3, 0xEB, 0xE3, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xEB, 0xE3, 0xEB, 0xE3, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3, 0xEB, 0xE3,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xCA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0x8A, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4A, 0xFD, 0x4A, 0xFD, 0xE7, 0xFB, 0xAA, 0xFA, 0x8A, 0xD3, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0x8A, 0xD3, 0xAA, 0xFA, 0x2C, 0xCB, 0x4A, 0xFD, 0x4A, 0xFD,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0x89, 0xDB, 0xAA, 0xDB, 0xEB, 0xE3, 0xCA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB,
+ 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB,
+ 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xCA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0x8A, 0xD3, 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8A, 0xE3, 0xAA, 0xDB, 0xAA, 0xD3, 0xAA, 0xDB,
+ 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xD3, 0xAA, 0xDB, 0xAA, 0xD3, 0xEB, 0xE3, 0xAA, 0xDB, 0xCA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xAA, 0xDB, 0xEB, 0xE3,
+ 0xAA, 0xDB, 0xAA, 0xD3, 0xAA, 0xDB, 0x29, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xDB,
+ 0xEB, 0xEB, 0xAA, 0xDB, 0x8B, 0xDB, 0x00, 0x00, 0xCA, 0xDB, 0xEB, 0xEB, 0xAA, 0xDB, 0xEB, 0xDB,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xEB, 0xEB, 0xAA, 0xDB, 0x00, 0x00, 0x4A, 0xCB, 0xAA, 0xD3, 0xEB, 0xEB,
+ 0xCA, 0xDB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0xCB, 0x4A, 0xFD, 0xAA, 0xDB,
+ 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xD3, 0xAA, 0xFA, 0xCA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xD3,
+ 0xAA, 0xFA, 0x2C, 0xCB, 0x4A, 0xFD, 0x4A, 0xFD, 0x4A, 0xFD, 0x4A, 0xFD, 0xE7, 0xFB, 0xAA, 0xFA,
+ 0x8A, 0xD3, 0xAA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xFA, 0x8A, 0xD3, 0xAA, 0xDB, 0xEB, 0xE3,
+ 0xCA, 0xDB, 0x4A, 0xFD, 0x2C, 0xCB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFB, 0x00, 0x00, 0xAA, 0xD3,
+ 0xEB, 0xE3, 0xAA, 0xDB, 0xAA, 0xD3, 0x00, 0x00, 0xCA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0xCA, 0xDB,
+ 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00,
+ 0xAA, 0xDB, 0xAA, 0xDB, 0xEB, 0xE3, 0xAA, 0xDB, 0x00, 0x00, 0x8A, 0xD3, 0xAA, 0xD3, 0xEB, 0xE3,
+ 0xCA, 0xDB, 0x00, 0x00, 0xEF, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xFB, 0x00, 0x00, 0xAA, 0xDB,
+ 0x0B, 0xEC, 0xAA, 0xDB, 0x8A, 0xDB, 0x00, 0x00, 0xAA, 0xD3, 0x0B, 0xEC, 0xAA, 0xDB, 0xAA, 0xDB,
+ 0x00, 0x00, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x00, 0x00,
+ 0x89, 0xDB, 0xAA, 0xDB, 0x0B, 0xEC, 0xAA, 0xDB, 0x00, 0x00, 0x69, 0xD3, 0xAA, 0xDB, 0x0B, 0xEC,
+ 0xAA, 0xDB, 0x00, 0x00, 0xEF, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0xCA, 0xDB,
+ 0xCB, 0xDB, 0xAB, 0xDB, 0xE9, 0xE3, 0x00, 0x00, 0xAA, 0xDB, 0xCB, 0xDB, 0xAB, 0xDB, 0x29, 0xCB,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x8A, 0xE3, 0xAA, 0xDB, 0xCB, 0xDB, 0xAA, 0xDB, 0x00, 0x00, 0x29, 0xE3, 0xAA, 0xDB, 0xCB, 0xDB,
+ 0xAA, 0xDB, 0x00, 0x00, 0x00, 0xF8, 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, 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,
+ 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, 0xEF, 0x7B,
+ 0x4A, 0xFD, 0xAA, 0xAA, 0x00, 0x00, 0x00, 0x00, 0xEF, 0x7B, 0x4A, 0xFD, 0xAA, 0xAA, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xAA, 0xAA, 0x4A, 0xFD, 0xEF, 0x7B, 0x00, 0x00, 0x00, 0x00, 0xAA, 0xAA, 0x4A, 0xFD,
+ 0xEF, 0x7B, 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, 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, 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, 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, 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, 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,
+ 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x13, 0x97, 0xAD, 0xAA, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+ 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
+ 0xAB, 0xAD, 0x98, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0xED, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x20, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x1C, 0xDE, 0xFC, 0xFA, 0xFC, 0xFC, 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC,
+ 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFC, 0xFC,
+ 0xFA, 0xFC, 0xDF, 0x1E, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0xE1, 0xFF, 0xFD,
+ 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xE2, 0x1E, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x1C, 0xE1, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFD, 0xFF, 0xE2, 0x1E, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0xE1, 0xFF, 0xFC,
+ 0xFF, 0xEC, 0x68, 0x4F, 0xA9, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFE, 0xFF, 0xAA, 0x4F, 0x67, 0xEB, 0xFF, 0xFC, 0xFF, 0xE2, 0x1E, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x00, 0x1C, 0xE1, 0xFF, 0xFC, 0xFF, 0xE0, 0x14, 0x00, 0x79, 0xFF, 0xFD, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0x7A, 0x00, 0x13, 0xDF, 0xFF,
+ 0xFC, 0xFF, 0xE2, 0x1E, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0xE1, 0xFF, 0xFC,
+ 0xFF, 0xE2, 0x23, 0x03, 0x82, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFD, 0xFF, 0x83, 0x03, 0x22, 0xE1, 0xFF, 0xFC, 0xFF, 0xE2, 0x1E, 0x00, 0x02, 0x00, 0x00,
+ 0x01, 0x01, 0x02, 0x01, 0x1D, 0xE1, 0xFF, 0xFC, 0xFF, 0xE2, 0x21, 0x02, 0x81, 0xFF, 0xFD, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0x82, 0x02, 0x20, 0xE1, 0xFF,
+ 0xFC, 0xFF, 0xE2, 0x1F, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE0, 0xFF, 0xFC,
+ 0xFF, 0xE1, 0x1A, 0x00, 0x7C, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFD, 0xFF, 0x7D, 0x00, 0x19, 0xE0, 0xFF, 0xFC, 0xFF, 0xE1, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0xAD, 0xAD, 0xAD, 0xAB, 0xB6, 0xF5, 0xFF, 0xFE, 0xFF, 0xF6, 0xB7, 0xA8, 0xD6, 0xFF, 0xFE, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xD6, 0xA8, 0xB7, 0xF5, 0xFF,
+ 0xFE, 0xFF, 0xF6, 0xB6, 0xAB, 0xAD, 0xAD, 0xAD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, 0xFD, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFC, 0xFC, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x52, 0x52, 0x53, 0x51, 0x65, 0xEB, 0xFF, 0xFE,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xEB, 0x66, 0x51, 0x53, 0x52, 0x52,
+ 0x00, 0x00, 0x00, 0x00, 0x0F, 0xDF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFD, 0xFF, 0xE0, 0x12, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x04, 0x03, 0x1F, 0xE1, 0xFF, 0xFD,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xE2, 0x21, 0x03, 0x05, 0x03, 0x03,
+ 0x00, 0x00, 0x01, 0x00, 0x1C, 0xE0, 0xFE, 0xFC, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFE,
+ 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF,
+ 0xFC, 0xFE, 0xE1, 0x1E, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0xE7, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE8, 0x1F, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x09, 0x4A, 0x52, 0xA6, 0xFF, 0xEA, 0x68, 0x4F, 0xA8, 0xFF, 0xEA, 0x66,
+ 0x51, 0x53, 0x52, 0x52, 0x52, 0x52, 0x53, 0x51, 0x65, 0xE9, 0xFF, 0xA9, 0x4F, 0x67, 0xE9, 0xFF,
+ 0xA7, 0x52, 0x4A, 0x0A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76,
+ 0xFF, 0xDE, 0x14, 0x00, 0x77, 0xFF, 0xDE, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0F, 0xDC, 0xFF, 0x79, 0x00, 0x13, 0xDD, 0xFF, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x03, 0x7E, 0xFF, 0xE0, 0x23, 0x03, 0x7F, 0xFF, 0xE0, 0x20,
+ 0x03, 0x05, 0x03, 0x03, 0x03, 0x03, 0x04, 0x03, 0x1F, 0xDE, 0xFF, 0x81, 0x03, 0x22, 0xDF, 0xFF,
+ 0x7F, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x7C,
+ 0xFD, 0xDF, 0x20, 0x00, 0x7D, 0xFD, 0xDF, 0x1D, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x1C, 0xDD, 0xFD, 0x7F, 0x00, 0x1F, 0xDE, 0xFD, 0x7D, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0xFF, 0xE6, 0x21, 0x00, 0x82, 0xFF, 0xE6, 0x1E,
+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0xE4, 0xFF, 0x84, 0x00, 0x20, 0xE5, 0xFF,
+ 0x82, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x28,
+ 0x56, 0x48, 0x0A, 0x00, 0x29, 0x56, 0x48, 0x0A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x48, 0x56, 0x29, 0x00, 0x0A, 0x48, 0x56, 0x29, 0x00, 0x01, 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,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x03, 0x03, 0x00, 0x00, 0x02, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x03, 0x02, 0x00, 0x00, 0x03, 0x03, 0x02, 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, 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, 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, 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, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
diff --git a/firmware/src/ui.cpp b/firmware/src/ui.cpp
index d711b4c7a..c811d3a1c 100644
--- a/firmware/src/ui.cpp
+++ b/firmware/src/ui.cpp
@@ -15,7 +15,9 @@ LV_FONT_DECLARE(font_styrene_24);
LV_FONT_DECLARE(font_styrene_20);
LV_FONT_DECLARE(font_styrene_16);
LV_FONT_DECLARE(font_styrene_14);
+LV_FONT_DECLARE(font_styrene_12);
LV_FONT_DECLARE(font_mono_32);
+LV_FONT_DECLARE(font_mono_18);
// Layout values computed from the active board's geometry. Populated once
// in ui_init() and treated as const for the rest of the program. Adding a
@@ -33,6 +35,26 @@ struct Layout {
int16_t usage_panel_gap;
int16_t usage_bar_y;
int16_t usage_reset_y;
+ int16_t bar_h;
+ int16_t panel_pad_x, panel_pad_y;
+ int16_t pill_pad_x, pill_pad_y;
+ const lv_font_t* title_font; // screen title / clock
+ const lv_font_t* pct_font; // big percentage number
+ const lv_font_t* ent_pct_font; // enterprise spending number
+ const lv_font_t* pill_font; // "Current" / "Weekly" pill
+ const lv_font_t* reset_font; // "Resets in ..." line
+ const lv_font_t* pace_font; // enterprise "Under/On/Over pace" line
+ const lv_font_t* anim_font; // animated status line
+ int16_t anim_y; // status line offset from bottom
+ bool small_icons; // 40px logo + 24px battery (vs 80/48) on small screens
+ int16_t title_nudge; // title x-shift balancing the corner logo
+ int16_t logo_y; // logo top edge
+ int16_t batt_y; // battery icon top edge
+ int16_t batt_w; // battery icon width, for position math
+
+ // Pairing hint / idle screen
+ int16_t pair_y1, pair_y2, pair_y3;
+ int16_t idle_px; // sleeping-creature size on the idle screen
// Bluetooth screen
int16_t bt_info_panel_h;
@@ -55,6 +77,31 @@ static void compute_layout(const BoardCaps& c) {
L.margin = 20;
L.title_y = 30;
+ // Values shared by the two original breakpoints; the small branch below
+ // overrides them wholesale.
+ L.bar_h = 24;
+ L.panel_pad_x = 16;
+ L.panel_pad_y = 12;
+ L.pill_pad_x = 18;
+ L.pill_pad_y = 6;
+ L.title_font = &font_tiempos_56;
+ L.pct_font = &font_styrene_48;
+ L.ent_pct_font = &font_tiempos_56;
+ L.pill_font = &font_styrene_28;
+ L.reset_font = &font_styrene_28;
+ L.pace_font = &font_styrene_16;
+ L.anim_font = &font_mono_32;
+ L.anim_y = -15;
+ L.small_icons = false;
+ L.title_nudge = 16;
+ L.logo_y = L.title_y - 10;
+ L.batt_y = L.title_y;
+ L.batt_w = ICON_BATTERY_W;
+ L.pair_y1 = 40;
+ L.pair_y2 = 120;
+ L.pair_y3 = 160;
+ L.idle_px = 160;
+
if (c.height >= 460) {
// Large layout — tuned for 480x480 (AMOLED-2.16).
L.content_y = 100;
@@ -69,7 +116,7 @@ static void compute_layout(const BoardCaps& c) {
L.bt_device_font = &font_styrene_28;
L.bt_credit_1_font = &font_styrene_24;
L.bt_credit_2_font = &font_styrene_20;
- } else {
+ } else if (c.height >= 300) {
// Compact layout — tuned for 368x448 (AMOLED-1.8).
L.content_y = 85;
L.usage_panel_h = 130;
@@ -83,6 +130,48 @@ static void compute_layout(const BoardCaps& c) {
L.bt_device_font = &font_styrene_20;
L.bt_credit_1_font = &font_styrene_16;
L.bt_credit_2_font = &font_styrene_14;
+ } else {
+ // Small layout — tuned for 240x240 (LCD-1.54 and similar square TFTs).
+ // Everything shrinks: fonts two steps down, panels ~half height, and
+ // the corner logo/battery switch to the 40px/24px small assets.
+ L.margin = 8;
+ L.title_y = 4;
+ L.content_y = 44;
+ L.usage_panel_h = 74;
+ L.usage_panel_gap = 6;
+ L.usage_bar_y = 30;
+ L.usage_reset_y = 46;
+ L.bar_h = 12;
+ L.panel_pad_x = 10;
+ L.panel_pad_y = 6;
+ L.pill_pad_x = 8;
+ L.pill_pad_y = 2;
+ L.title_font = &font_tiempos_34;
+ L.pct_font = &font_styrene_24;
+ L.ent_pct_font = &font_tiempos_34;
+ L.pill_font = &font_styrene_14;
+ L.reset_font = &font_styrene_14;
+ L.pace_font = &font_styrene_12;
+ L.anim_font = &font_mono_18;
+ // Center the status line in the strip below the weekly panel; flush
+ // against the bottom edge it reads as unevenly spaced.
+ L.anim_y = -10;
+ L.small_icons = true;
+ L.title_nudge = 8;
+ L.logo_y = 2;
+ L.batt_y = 10;
+ L.batt_w = ICON_BATTERY_SMALL_W;
+ L.pair_y1 = 12;
+ L.pair_y2 = 56;
+ L.pair_y3 = 80;
+ L.idle_px = 96;
+ L.bt_info_panel_h = 90;
+ L.bt_reset_zone_h = 60;
+ L.bt_title_font = &font_tiempos_34;
+ L.bt_status_font = &font_styrene_20;
+ L.bt_device_font = &font_styrene_14;
+ L.bt_credit_1_font = &font_styrene_12;
+ L.bt_credit_2_font = &font_styrene_12;
}
L.content_w = L.scr_w - 2 * L.margin;
@@ -231,10 +320,10 @@ static lv_obj_t* make_panel(lv_obj_t* parent, int x, int y, int w, int h) {
lv_obj_set_style_bg_opa(panel, LV_OPA_COVER, 0);
lv_obj_set_style_radius(panel, 8, 0);
lv_obj_set_style_border_width(panel, 0, 0);
- lv_obj_set_style_pad_left(panel, 16, 0);
- lv_obj_set_style_pad_right(panel, 16, 0);
- lv_obj_set_style_pad_top(panel, 12, 0);
- lv_obj_set_style_pad_bottom(panel, 12, 0);
+ lv_obj_set_style_pad_left(panel, L.panel_pad_x, 0);
+ lv_obj_set_style_pad_right(panel, L.panel_pad_x, 0);
+ lv_obj_set_style_pad_top(panel, L.panel_pad_y, 0);
+ lv_obj_set_style_pad_bottom(panel, L.panel_pad_y, 0);
lv_obj_clear_flag(panel, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_add_flag(panel, LV_OBJ_FLAG_EVENT_BUBBLE);
return panel;
@@ -267,19 +356,27 @@ static void init_icon_dsc_rgb565a8(lv_image_dsc_t* dsc, int w, int h, const uint
static lv_obj_t* make_pill(lv_obj_t* parent, const char* text) {
lv_obj_t* lbl = lv_label_create(parent);
lv_label_set_text(lbl, text);
- lv_obj_set_style_text_font(lbl, &font_styrene_28, 0);
+ lv_obj_set_style_text_font(lbl, L.pill_font, 0);
lv_obj_set_style_text_color(lbl, COL_TEXT, 0);
lv_obj_set_style_bg_color(lbl, COL_BAR_BG, 0);
lv_obj_set_style_bg_opa(lbl, LV_OPA_COVER, 0);
lv_obj_set_style_radius(lbl, LV_RADIUS_CIRCLE, 0);
- lv_obj_set_style_pad_left(lbl, 18, 0);
- lv_obj_set_style_pad_right(lbl, 18, 0);
- lv_obj_set_style_pad_top(lbl, 6, 0);
- lv_obj_set_style_pad_bottom(lbl, 6, 0);
+ lv_obj_set_style_pad_left(lbl, L.pill_pad_x, 0);
+ lv_obj_set_style_pad_right(lbl, L.pill_pad_x, 0);
+ lv_obj_set_style_pad_top(lbl, L.pill_pad_y, 0);
+ lv_obj_set_style_pad_bottom(lbl, L.pill_pad_y, 0);
return lbl;
}
static void init_battery_icons(void) {
+ if (L.small_icons) {
+ init_icon_dsc_rgb565a8(&battery_dscs[0], ICON_BATTERY_SMALL_W, ICON_BATTERY_SMALL_H, icon_battery_small_data);
+ init_icon_dsc_rgb565a8(&battery_dscs[1], ICON_BATTERY_LOW_SMALL_W, ICON_BATTERY_LOW_SMALL_H, icon_battery_low_small_data);
+ init_icon_dsc_rgb565a8(&battery_dscs[2], ICON_BATTERY_MEDIUM_SMALL_W, ICON_BATTERY_MEDIUM_SMALL_H, icon_battery_medium_small_data);
+ init_icon_dsc_rgb565a8(&battery_dscs[3], ICON_BATTERY_FULL_SMALL_W, ICON_BATTERY_FULL_SMALL_H, icon_battery_full_small_data);
+ init_icon_dsc_rgb565a8(&battery_dscs[4], ICON_BATTERY_CHARGING_SMALL_W, ICON_BATTERY_CHARGING_SMALL_H, icon_battery_charging_small_data);
+ return;
+ }
init_icon_dsc_rgb565a8(&battery_dscs[0], ICON_BATTERY_W, ICON_BATTERY_H, icon_battery_data);
init_icon_dsc_rgb565a8(&battery_dscs[1], ICON_BATTERY_LOW_W, ICON_BATTERY_LOW_H, icon_battery_low_data);
init_icon_dsc_rgb565a8(&battery_dscs[2], ICON_BATTERY_MEDIUM_W, ICON_BATTERY_MEDIUM_H, icon_battery_medium_data);
@@ -296,18 +393,19 @@ static lv_obj_t* make_usage_panel(lv_obj_t* parent, int y, const char* pill_text
*out_pct = lv_label_create(panel);
lv_label_set_text(*out_pct, "---%");
- lv_obj_set_style_text_font(*out_pct, &font_styrene_48, 0);
+ lv_obj_set_style_text_font(*out_pct, L.pct_font, 0);
lv_obj_set_style_text_color(*out_pct, COL_TEXT, 0);
lv_obj_set_pos(*out_pct, 0, 0);
*out_pill = make_pill(panel, pill_text);
lv_obj_align(*out_pill, LV_ALIGN_TOP_RIGHT, 0, 1);
- *out_bar = make_bar(panel, 0, L.usage_bar_y, L.content_w - 32, 24);
+ *out_bar = make_bar(panel, 0, L.usage_bar_y,
+ L.content_w - 2 * L.panel_pad_x, L.bar_h);
*out_reset = lv_label_create(panel);
lv_label_set_text(*out_reset, "---");
- lv_obj_set_style_text_font(*out_reset, &font_styrene_28, 0);
+ lv_obj_set_style_text_font(*out_reset, L.reset_font, 0);
lv_obj_set_style_text_color(*out_reset, COL_DIM, 0);
lv_obj_set_pos(*out_reset, 0, L.usage_reset_y);
@@ -330,19 +428,19 @@ static void build_pair_group(lv_obj_t* parent) {
lv_label_set_text(l1, "To pair");
lv_obj_set_style_text_font(l1, L.bt_status_font, 0);
lv_obj_set_style_text_color(l1, COL_TEXT, 0);
- lv_obj_align(l1, LV_ALIGN_TOP_MID, 0, 40);
+ lv_obj_align(l1, LV_ALIGN_TOP_MID, 0, L.pair_y1);
lv_obj_t* l2 = lv_label_create(pair_group);
lv_label_set_text(l2, "hold the power button");
lv_obj_set_style_text_font(l2, L.bt_device_font, 0);
lv_obj_set_style_text_color(l2, COL_DIM, 0);
- lv_obj_align(l2, LV_ALIGN_TOP_MID, 0, 120);
+ lv_obj_align(l2, LV_ALIGN_TOP_MID, 0, L.pair_y2);
lv_obj_t* l3 = lv_label_create(pair_group);
lv_label_set_text(l3, "for 3 seconds, then release");
lv_obj_set_style_text_font(l3, L.bt_device_font, 0);
lv_obj_set_style_text_color(l3, COL_DIM, 0);
- lv_obj_align(l3, LV_ALIGN_TOP_MID, 0, 160);
+ lv_obj_align(l3, LV_ALIGN_TOP_MID, 0, L.pair_y3);
lv_obj_add_flag(pair_group, LV_OBJ_FLAG_HIDDEN); // ui_update_ble_status decides
}
@@ -363,7 +461,7 @@ static void build_idle_group(lv_obj_t* parent) {
// A shrunk-down sleeping creature (reused claudepix "expression sleep" art)
// sits between the header and the status line; the animated "Listening…"
// status line carries the words, so no extra text is needed here.
- lv_obj_t* creature = splash_mini_create(idle_group, "expression sleep", 160);
+ lv_obj_t* creature = splash_mini_create(idle_group, "expression sleep", L.idle_px);
if (creature) lv_obj_align(creature, LV_ALIGN_CENTER, 0, -20);
lv_obj_add_flag(idle_group, LV_OBJ_FLAG_HIDDEN); // update_view_state decides
@@ -381,9 +479,11 @@ static void init_usage_screen(lv_obj_t* scr) {
lbl_title = lv_label_create(usage_container);
lv_label_set_text(lbl_title, "Usage");
- lv_obj_set_style_text_font(lbl_title, &font_tiempos_56, 0);
+ lv_obj_set_style_text_font(lbl_title, L.title_font, 0);
lv_obj_set_style_text_color(lbl_title, COL_TEXT, 0);
- lv_obj_align(lbl_title, LV_ALIGN_TOP_MID, 16, L.title_y);
+ // The nudge balances the corner logo on the left; smaller on small
+ // screens where the logo is 40px and the battery icon sits closer.
+ lv_obj_align(lbl_title, LV_ALIGN_TOP_MID, L.title_nudge, L.title_y);
// Usage panels (shown when connected) live in a transparent full-size group
// so they can be toggled against the pairing hint as one unit.
@@ -403,20 +503,20 @@ static void init_usage_screen(lv_obj_t* scr) {
// Enterprise-only overlays inside panel_session — hidden until enterprise data arrives
lbl_session_pct_sym = lv_label_create(panel_session);
lv_label_set_text(lbl_session_pct_sym, "%");
- lv_obj_set_style_text_font(lbl_session_pct_sym, &font_styrene_28, 0);
+ lv_obj_set_style_text_font(lbl_session_pct_sym, L.reset_font, 0);
lv_obj_set_style_text_color(lbl_session_pct_sym, COL_TEXT, 0);
lv_obj_add_flag(lbl_session_pct_sym, LV_OBJ_FLAG_HIDDEN);
lbl_spending_desc = lv_label_create(panel_session);
lv_label_set_text(lbl_spending_desc, "of your monthly budget");
- lv_obj_set_style_text_font(lbl_spending_desc, &font_styrene_28, 0);
+ lv_obj_set_style_text_font(lbl_spending_desc, L.reset_font, 0);
lv_obj_set_style_text_color(lbl_spending_desc, COL_DIM, 0);
lv_obj_set_pos(lbl_spending_desc, 0, L.usage_reset_y);
lv_obj_add_flag(lbl_spending_desc, LV_OBJ_FLAG_HIDDEN);
lbl_spending_status = lv_label_create(panel_session);
lv_label_set_text(lbl_spending_status, "");
- lv_obj_set_style_text_font(lbl_spending_status, &font_styrene_16, 0);
+ lv_obj_set_style_text_font(lbl_spending_status, L.pace_font, 0);
lv_obj_set_pos(lbl_spending_status, 0, L.usage_reset_y + 20);
lv_obj_add_flag(lbl_spending_status, LV_OBJ_FLAG_HIDDEN);
@@ -433,9 +533,9 @@ static void init_usage_screen(lv_obj_t* scr) {
// Status line — always visible on the usage view. Driven by ui_tick_anim().
lbl_anim = lv_label_create(usage_container);
lv_label_set_text(lbl_anim, "");
- lv_obj_set_style_text_font(lbl_anim, &font_mono_32, 0);
+ lv_obj_set_style_text_font(lbl_anim, L.anim_font, 0);
lv_obj_set_style_text_color(lbl_anim, COL_ACCENT, 0);
- lv_obj_align(lbl_anim, LV_ALIGN_BOTTOM_MID, 0, -15);
+ lv_obj_align(lbl_anim, LV_ALIGN_BOTTOM_MID, 0, L.anim_y);
}
// ======== Public API ========
@@ -447,7 +547,8 @@ void ui_init(void) {
lv_obj_set_style_bg_color(scr, COL_BG, 0);
lv_obj_set_style_bg_opa(scr, LV_OPA_COVER, 0);
- init_icon_dsc_rgb565a8(&logo_dsc, LOGO_WIDTH, LOGO_HEIGHT, logo_data);
+ if (L.small_icons) init_icon_dsc_rgb565a8(&logo_dsc, LOGO_SMALL_WIDTH, LOGO_SMALL_HEIGHT, logo_small_data);
+ else init_icon_dsc_rgb565a8(&logo_dsc, LOGO_WIDTH, LOGO_HEIGHT, logo_data);
init_battery_icons();
init_usage_screen(scr);
@@ -459,12 +560,17 @@ void ui_init(void) {
logo_img = lv_image_create(scr);
lv_image_set_src(logo_img, &logo_dsc);
- lv_obj_set_pos(logo_img, L.margin, L.title_y - 10);
+ lv_obj_set_pos(logo_img, L.margin, L.logo_y);
battery_img = lv_image_create(scr);
lv_image_set_src(battery_img, &battery_dscs[0]);
- lv_obj_set_pos(battery_img, L.scr_w - 48 - L.margin, L.title_y);
-
+ lv_obj_set_pos(battery_img, L.scr_w - L.batt_w - L.margin, L.batt_y);
+ // Boards without battery telemetry never show the indicator (per the HAL
+ // contract; previously every board drew the empty-battery glyph).
+ if (!board_caps().has_battery) {
+ lv_obj_del(battery_img);
+ battery_img = nullptr;
+ }
}
void ui_update(const UsageData* data) {
@@ -486,7 +592,7 @@ void ui_update(const UsageData* data) {
if (data->enterprise) {
// Spending box: big number-only label + small "%" symbol + desc + pace
- lv_obj_set_style_text_font(lbl_session_pct, &font_tiempos_56, 0);
+ lv_obj_set_style_text_font(lbl_session_pct, L.ent_pct_font, 0);
lv_label_set_text(lbl_session_label, "Spending");
lv_obj_add_flag(lbl_session_reset, LV_OBJ_FLAG_HIDDEN);
lv_obj_clear_flag(lbl_session_pct_sym, LV_OBJ_FLAG_HIDDEN);
@@ -494,7 +600,7 @@ void ui_update(const UsageData* data) {
lv_obj_add_flag(lbl_spending_status, LV_OBJ_FLAG_HIDDEN);
if (panel_weekly) lv_obj_clear_flag(panel_weekly, LV_OBJ_FLAG_HIDDEN);
} else {
- lv_obj_set_style_text_font(lbl_session_pct, &font_styrene_48, 0);
+ lv_obj_set_style_text_font(lbl_session_pct, L.pct_font, 0);
lv_label_set_text(lbl_session_label, "Current");
lv_obj_clear_flag(lbl_session_reset, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(lbl_session_pct_sym, LV_OBJ_FLAG_HIDDEN);
@@ -684,6 +790,7 @@ void ui_update_ble_status(ble_state_t state, const char* name, const char* mac)
}
void ui_update_battery(int percent, bool charging) {
+ if (!battery_img) return;
int idx;
if (charging) {
idx = 4;