feat(lcd): use Montserrat clock and battery icon assets
@@ -15,6 +15,7 @@ set(platform_srcs
|
||||
"src/platform_digital_input_driver.c"
|
||||
"src/platform_io_effects.c"
|
||||
"src/lcd_direct.c"
|
||||
"src/generated/lcd_status_assets.c"
|
||||
"src/lcd_direct_assets.c"
|
||||
"src/platform_asset_bundle.c"
|
||||
"third_party/lodepng/lodepng.cpp"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
MIT licence
|
||||
Copyright (c) 2025 LVGL Kft
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
After Width: | Height: | Size: 687 B |
|
After Width: | Height: | Size: 524 B |
|
After Width: | Height: | Size: 800 B |
|
After Width: | Height: | Size: 571 B |
|
After Width: | Height: | Size: 574 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 704 B |
|
After Width: | Height: | Size: 543 B |
|
After Width: | Height: | Size: 815 B |
|
After Width: | Height: | Size: 594 B |
|
After Width: | Height: | Size: 601 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
|
||||
/* Montserrat 14 原始 4-bit Alpha;仅保留 0..9、冒号、横线。 */
|
||||
typedef struct {
|
||||
uint16_t offset;
|
||||
uint8_t advance, width, height;
|
||||
int8_t x, y;
|
||||
} lcd_status_glyph_t;
|
||||
typedef struct {
|
||||
const uint8_t *palette; /* RGB565 高字节、低字节、A8。 */
|
||||
const uint8_t *runs; /* 数量、调色板索引。 */
|
||||
uint16_t run_bytes;
|
||||
} lcd_status_icon_t;
|
||||
extern const uint8_t lcd_status_font_bitmap[];
|
||||
extern const lcd_status_glyph_t lcd_status_font_glyphs[12];
|
||||
/* 1、25、50、75、100;后五项为对应的充电图标。 */
|
||||
extern const lcd_status_icon_t lcd_status_battery_icons[10];
|
||||
@@ -0,0 +1,580 @@
|
||||
/* Generated by tools/prepare_status_hud_assets.py; do not edit.
|
||||
* Font subset derived from LVGL Montserrat 14, Copyright (c) 2025 LVGL Kft.
|
||||
* See components/platform/assets/status_hud/LVGL-LICENSE.txt. */
|
||||
#include "lcd_status_assets.h"
|
||||
|
||||
const uint8_t lcd_status_font_bitmap[] = {
|
||||
0x00, 0x4c, 0xfe, 0x70, 0x00, 0x4f, 0xb6, 0x8f, 0x90, 0x0d, 0xb0, 0x00, 0x5f, 0x32, 0xf4, 0x00, 0x00, 0xe7, 0x4f, 0x20, 0x00, 0x0c, 0xa4, 0xf2,
|
||||
0x00, 0x00, 0xca, 0x2f, 0x40, 0x00, 0x0e, 0x70, 0xdb, 0x00, 0x05, 0xf2, 0x04, 0xfb, 0x68, 0xf9, 0x00, 0x04, 0xcf, 0xe7, 0x00, 0xef, 0xfb, 0x44,
|
||||
0xcb, 0x00, 0xab, 0x00, 0xab, 0x00, 0xab, 0x00, 0xab, 0x00, 0xab, 0x00, 0xab, 0x00, 0xab, 0x00, 0xab, 0x07, 0xdf, 0xea, 0x10, 0x8e, 0x85, 0x7e,
|
||||
0xc0, 0x01, 0x00, 0x06, 0xf1, 0x00, 0x00, 0x06, 0xf0, 0x00, 0x00, 0x0d, 0x90, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x1c, 0xc0, 0x00, 0x01, 0xdb, 0x00,
|
||||
0x00, 0x1d, 0xe5, 0x44, 0x42, 0x7f, 0xff, 0xff, 0xf9, 0x7f, 0xff, 0xff, 0xf0, 0x24, 0x44, 0x5f, 0x90, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x09, 0xe1,
|
||||
0x00, 0x00, 0x3f, 0xd8, 0x10, 0x00, 0x04, 0x6d, 0xd0, 0x00, 0x00, 0x02, 0xf4, 0x10, 0x00, 0x02, 0xf4, 0xbd, 0x75, 0x7d, 0xd0, 0x19, 0xdf, 0xea,
|
||||
0x10, 0x00, 0x00, 0x0d, 0xa0, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0x07, 0xe1, 0x00, 0x00, 0x00, 0x4f, 0x40, 0x10, 0x00, 0x02, 0xf6, 0x00,
|
||||
0xf5, 0x00, 0x1d, 0xa0, 0x00, 0xf5, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf3, 0x13, 0x33, 0x33, 0xf7, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x00, 0x00,
|
||||
0x00, 0xf5, 0x00, 0x09, 0xff, 0xff, 0xf0, 0x0a, 0xb4, 0x44, 0x40, 0x0c, 0x80, 0x00, 0x00, 0x0e, 0x70, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x40, 0x03,
|
||||
0x34, 0x5c, 0xf2, 0x00, 0x00, 0x00, 0xf7, 0x10, 0x00, 0x00, 0xf7, 0x8e, 0x85, 0x6c, 0xf1, 0x08, 0xdf, 0xfb, 0x30, 0x00, 0x2a, 0xef, 0xd5, 0x00,
|
||||
0x3f, 0xd6, 0x57, 0x40, 0x0c, 0xc0, 0x00, 0x00, 0x02, 0xf4, 0x00, 0x00, 0x00, 0x4f, 0x5b, 0xff, 0xa1, 0x04, 0xfe, 0x84, 0x5d, 0xd0, 0x3f, 0x80,
|
||||
0x00, 0x3f, 0x30, 0xe8, 0x00, 0x03, 0xf2, 0x06, 0xf8, 0x45, 0xdc, 0x00, 0x05, 0xdf, 0xe9, 0x10, 0x9f, 0xff, 0xff, 0xfd, 0x9d, 0x44, 0x44, 0xe9,
|
||||
0x9c, 0x00, 0x04, 0xf2, 0x00, 0x00, 0x0b, 0xb0, 0x00, 0x00, 0x2f, 0x40, 0x00, 0x00, 0xad, 0x00, 0x00, 0x01, 0xf6, 0x00, 0x00, 0x08, 0xe0, 0x00,
|
||||
0x00, 0x0e, 0x80, 0x00, 0x00, 0x6f, 0x10, 0x00, 0x01, 0x9e, 0xfe, 0x91, 0x00, 0xbe, 0x63, 0x6e, 0xc0, 0x0f, 0x60, 0x00, 0x6f, 0x00, 0xcc, 0x20,
|
||||
0x2b, 0xc0, 0x02, 0xef, 0xff, 0xe2, 0x00, 0xdc, 0x42, 0x4c, 0xd0, 0x5f, 0x20, 0x00, 0x1f, 0x55, 0xf2, 0x00, 0x02, 0xf5, 0x0e, 0xd5, 0x35, 0xde,
|
||||
0x00, 0x1a, 0xef, 0xea, 0x10, 0x03, 0xbf, 0xea, 0x20, 0x2f, 0xa4, 0x4b, 0xe1, 0x8e, 0x00, 0x00, 0xe9, 0x9d, 0x00, 0x00, 0xdd, 0x4f, 0x71, 0x29,
|
||||
0xff, 0x07, 0xff, 0xfc, 0x9e, 0x00, 0x02, 0x10, 0xac, 0x00, 0x00, 0x02, 0xf6, 0x07, 0x65, 0x8f, 0xb0, 0x0a, 0xef, 0xd7, 0x00, 0x2e, 0x53, 0xf5,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x52, 0xe4, 0x00, 0x00, 0x03, 0xff, 0xf9, 0x03, 0x33, 0x10,
|
||||
};
|
||||
const lcd_status_glyph_t lcd_status_font_glyphs[12] = {
|
||||
{0, 9, 9, 10, 0, 0}, /* 0 */
|
||||
{45, 5, 4, 10, 0, 0}, /* 1 */
|
||||
{65, 8, 8, 10, 0, 0}, /* 2 */
|
||||
{105, 8, 8, 10, 0, 0}, /* 3 */
|
||||
{145, 9, 10, 10, 0, 0}, /* 4 */
|
||||
{195, 8, 8, 10, 0, 0}, /* 5 */
|
||||
{235, 9, 9, 10, 0, 0}, /* 6 */
|
||||
{280, 8, 8, 10, 0, 0}, /* 7 */
|
||||
{320, 9, 9, 10, 0, 0}, /* 8 */
|
||||
{365, 9, 8, 10, 0, 0}, /* 9 */
|
||||
{405, 3, 3, 8, 0, 0}, /* : */
|
||||
{417, 5, 5, 3, 0, 3}, /* - */
|
||||
};
|
||||
static const uint8_t battery_palette_0[] = {
|
||||
0x00, 0x00, 0x00, 0xf8, 0x00, 0x01, 0xf9, 0xe7, 0x04, 0xf9, 0x86, 0x05, 0xfa, 0xaa, 0x03, 0xf8, 0x00, 0x02, 0xf9, 0xc4, 0x0d, 0xf9, 0xe6, 0x5b,
|
||||
0xf9, 0xe6, 0x82, 0xf9, 0xc6, 0x84, 0xf9, 0xc5, 0x85, 0xf9, 0xe6, 0x78, 0xf9, 0xe5, 0x36, 0xfb, 0xe0, 0x02, 0xf9, 0xc5, 0x34, 0xf9, 0xe6, 0xe4,
|
||||
0xfa, 0x06, 0xff, 0xf9, 0xc6, 0xff, 0xf9, 0xe6, 0xff, 0xf9, 0xc6, 0x98, 0xf9, 0xc7, 0x0d, 0xf9, 0xe6, 0xe5, 0xf9, 0xe6, 0xe1, 0xf9, 0xc5, 0x40,
|
||||
0xf9, 0xe5, 0x10, 0xf9, 0xa6, 0x0e, 0xfa, 0x26, 0x0f, 0xf9, 0xe6, 0x19, 0xf9, 0xc5, 0x80, 0xf9, 0xc5, 0x75, 0xf9, 0xc5, 0x5b, 0xf9, 0xc5, 0x3b,
|
||||
0xf9, 0xc6, 0xbf, 0xf9, 0xc5, 0x6b, 0xf9, 0xc6, 0xb7, 0xf9, 0xc6, 0xed, 0xf9, 0xc6, 0xfc, 0xf9, 0xe6, 0x94, 0xf9, 0x45, 0x06, 0xfa, 0xa0, 0x03,
|
||||
0xf9, 0xc6, 0x79, 0xf9, 0x84, 0x0f, 0xf9, 0x65, 0x0b, 0xf9, 0xc6, 0x83, 0xf9, 0xc6, 0xfd, 0xf9, 0xc6, 0x1a, 0xf9, 0xc5, 0xfa, 0xf9, 0xe6, 0x8c,
|
||||
0xf9, 0xc5, 0x7c, 0xf9, 0xe6, 0xfe, 0xf9, 0xc5, 0x9b, 0xf9, 0xc6, 0x3e, 0xf9, 0xc5, 0xfc, 0xf9, 0xc6, 0x8d, 0xf9, 0xc6, 0x24, 0xf9, 0xc6, 0x8a,
|
||||
0xf9, 0xc6, 0xe2, 0xfa, 0x06, 0xfd, 0xf9, 0xe6, 0x83, 0xfa, 0x06, 0xfe, 0xf9, 0xa6, 0x25, 0xf9, 0xa4, 0x0e, 0xf9, 0xc5, 0xa1, 0xfa, 0x06, 0xe9,
|
||||
0xf9, 0xc5, 0x42, 0xf9, 0xc6, 0x93, 0xf9, 0xc6, 0x78, 0xf9, 0x86, 0x0f, 0xf9, 0xc6, 0x5e, 0xf9, 0xc5, 0x38, 0xf9, 0xc5, 0xc6, 0xf9, 0xc5, 0x70,
|
||||
0xf9, 0xc6, 0xb4, 0xf9, 0xc6, 0xef, 0xf9, 0xe6, 0xe9, 0xf9, 0xe6, 0xdc, 0xf9, 0xc5, 0x3c, 0xf9, 0x86, 0x0a, 0xf9, 0xc7, 0x09, 0xf9, 0xe6, 0x14,
|
||||
0xf9, 0xc6, 0x7a, 0xf9, 0xc5, 0x39, 0xf9, 0xe6, 0xea, 0xf9, 0xc5, 0xfb, 0xf9, 0xc6, 0x9f, 0xf9, 0xe5, 0x11, 0xf9, 0xe6, 0x64, 0xf9, 0xe6, 0x8b,
|
||||
0xf9, 0xc6, 0x8e, 0xf9, 0xe6, 0x80, 0xf9, 0xc6, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_0[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x02, 0x02, 0x18, 0x03, 0x02, 0x02, 0x01, 0x04, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x05, 0x07, 0x00, 0x01, 0x05,
|
||||
0x01, 0x00, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x02, 0x09, 0x15, 0x0a, 0x02, 0x09, 0x01, 0x0b, 0x01, 0x0c, 0x01, 0x00, 0x01, 0x01, 0x05, 0x00,
|
||||
0x01, 0x0d, 0x01, 0x00, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x1a, 0x11, 0x01, 0x12, 0x01, 0x10, 0x01, 0x13, 0x01, 0x0d, 0x01, 0x05, 0x01, 0x01,
|
||||
0x03, 0x00, 0x01, 0x01, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x16, 0x06, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b,
|
||||
0x01, 0x1c, 0x01, 0x10, 0x01, 0x1d, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x00, 0x01, 0x1e, 0x01, 0x10, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21,
|
||||
0x1b, 0x00, 0x01, 0x22, 0x01, 0x23, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x02, 0x00, 0x01, 0x09, 0x01, 0x24, 0x01, 0x1b, 0x01, 0x12,
|
||||
0x01, 0x25, 0x01, 0x01, 0x01, 0x03, 0x17, 0x01, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x12, 0x01, 0x29, 0x01, 0x00, 0x01, 0x2a, 0x03, 0x00,
|
||||
0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x30, 0x01, 0x31,
|
||||
0x01, 0x06, 0x01, 0x32, 0x01, 0x0f, 0x01, 0x33, 0x02, 0x00, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x34, 0x01, 0x35, 0x01, 0x00, 0x01, 0x02,
|
||||
0x17, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x30, 0x01, 0x11, 0x01, 0x36, 0x01, 0x23, 0x01, 0x10, 0x01, 0x37, 0x02, 0x00, 0x01, 0x2b, 0x01, 0x2c,
|
||||
0x01, 0x2d, 0x01, 0x34, 0x01, 0x35, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x30, 0x01, 0x11, 0x01, 0x36, 0x01, 0x38,
|
||||
0x01, 0x39, 0x01, 0x3a, 0x02, 0x00, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x34, 0x01, 0x35, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00, 0x01, 0x02,
|
||||
0x01, 0x00, 0x01, 0x30, 0x01, 0x11, 0x01, 0x36, 0x01, 0x38, 0x01, 0x3b, 0x01, 0x3a, 0x02, 0x00, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x34,
|
||||
0x01, 0x35, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x30, 0x01, 0x11, 0x01, 0x3c, 0x01, 0x23, 0x01, 0x10, 0x01, 0x37,
|
||||
0x02, 0x00, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x00, 0x01, 0x02, 0x17, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x30,
|
||||
0x01, 0x31, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, 0x02, 0x00, 0x01, 0x09, 0x01, 0x24, 0x01, 0x2d, 0x01, 0x12, 0x01, 0x41, 0x01, 0x01,
|
||||
0x01, 0x03, 0x17, 0x01, 0x01, 0x26, 0x01, 0x27, 0x01, 0x42, 0x01, 0x12, 0x01, 0x29, 0x01, 0x00, 0x01, 0x43, 0x03, 0x00, 0x01, 0x44, 0x01, 0x10,
|
||||
0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x1b, 0x00, 0x01, 0x48, 0x01, 0x49, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01,
|
||||
0x01, 0x1a, 0x01, 0x4a, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x14, 0x01, 0x4d, 0x17, 0x4e, 0x01, 0x2a, 0x01, 0x4f, 0x01, 0x42, 0x01, 0x10, 0x01, 0x50,
|
||||
0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x0d, 0x01, 0x00, 0x01, 0x51, 0x01, 0x52, 0x01, 0x10, 0x1a, 0x53, 0x01, 0x12, 0x01, 0x10,
|
||||
0x01, 0x54, 0x01, 0x02, 0x01, 0x05, 0x01, 0x01, 0x04, 0x00, 0x01, 0x05, 0x01, 0x00, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x35, 0x16, 0x58,
|
||||
0x02, 0x35, 0x01, 0x59, 0x01, 0x5a, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x01, 0x09, 0x00, 0x01, 0x01, 0x03, 0x02, 0x17, 0x03, 0x02, 0x02,
|
||||
0x01, 0x04, 0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_1[] = {
|
||||
0x00, 0x00, 0x00, 0xf8, 0x00, 0x01, 0xf9, 0xe7, 0x04, 0xf9, 0x86, 0x05, 0xfa, 0xaa, 0x03, 0xf8, 0x00, 0x02, 0xf9, 0xc4, 0x0d, 0xf9, 0xe6, 0x5b,
|
||||
0xf9, 0xe6, 0x83, 0xf9, 0xc5, 0x85, 0xf9, 0xc5, 0x86, 0xf9, 0xc6, 0x84, 0xf9, 0xe6, 0x78, 0xf9, 0xe5, 0x36, 0xfb, 0xe0, 0x02, 0xf9, 0xc5, 0x34,
|
||||
0xf9, 0xe6, 0xe3, 0xfa, 0x06, 0xff, 0xf9, 0xc6, 0xfd, 0xf9, 0xc5, 0xfc, 0xf9, 0xe6, 0xff, 0xf9, 0xc6, 0xff, 0xf9, 0xc6, 0x98, 0xf9, 0xc7, 0x0d,
|
||||
0xf9, 0xe6, 0xe5, 0xf9, 0xe6, 0xe4, 0xf9, 0xc5, 0x32, 0xf9, 0xc5, 0x1b, 0xf9, 0xe5, 0x20, 0xf9, 0xc6, 0x1e, 0xf9, 0xc6, 0x1f, 0xf9, 0xe6, 0x19,
|
||||
0xf9, 0xa6, 0x0e, 0xfa, 0x26, 0x0f, 0xf9, 0xc5, 0x80, 0xf9, 0xc5, 0x75, 0xf9, 0xc5, 0x5b, 0xf9, 0xc5, 0x2d, 0xf9, 0xe6, 0x54, 0xf9, 0xe6, 0xe1,
|
||||
0xf9, 0xc6, 0xe7, 0xf9, 0xc6, 0xe8, 0xf9, 0xc5, 0x6c, 0xf9, 0xc6, 0xb7, 0xf9, 0xc6, 0xed, 0xf9, 0xe6, 0x15, 0xf9, 0xc6, 0xf6, 0xf9, 0xe5, 0x10,
|
||||
0xf9, 0x45, 0x06, 0xfa, 0xa0, 0x03, 0xf9, 0xc6, 0x79, 0xf9, 0x84, 0x0f, 0xf9, 0x65, 0x0b, 0xf9, 0xc6, 0x83, 0xf9, 0xa5, 0x21, 0xf9, 0xc6, 0xfe,
|
||||
0xf9, 0xe6, 0xfe, 0xf9, 0xc6, 0xf1, 0xf9, 0xa5, 0x17, 0xf9, 0xc5, 0x7c, 0xf9, 0xc5, 0x9b, 0xf9, 0xc6, 0x3e, 0xf9, 0xc6, 0xe9, 0xf9, 0xc6, 0xf2,
|
||||
0xf9, 0xc5, 0x16, 0xf9, 0xc6, 0x24, 0xf9, 0xc6, 0x8a, 0xf9, 0xc6, 0xe2, 0xfa, 0x06, 0xfd, 0xfa, 0x06, 0xfe, 0xf9, 0xa6, 0x25, 0xf9, 0xa4, 0x0e,
|
||||
0xf9, 0xc5, 0xa1, 0xfa, 0x06, 0xe9, 0xf9, 0xc5, 0x42, 0xf9, 0xc6, 0xee, 0xf9, 0xc6, 0xf7, 0xf9, 0xe5, 0x11, 0xf9, 0xc6, 0x78, 0xf9, 0x86, 0x0f,
|
||||
0xf9, 0xe6, 0x5d, 0xf9, 0xa5, 0x29, 0xf9, 0xe6, 0xe7, 0xf9, 0xc6, 0xec, 0xf9, 0xe6, 0xe8, 0xf9, 0xc6, 0x73, 0xf9, 0xc6, 0xb4, 0xf9, 0xc6, 0xef,
|
||||
0xf9, 0xe6, 0xe9, 0xf9, 0xe6, 0xdf, 0xf9, 0xc5, 0x2c, 0xf9, 0xc7, 0x09, 0xf9, 0xe7, 0x08, 0xf9, 0xe6, 0x14, 0xf9, 0xc6, 0x7a, 0xf9, 0xc5, 0x39,
|
||||
0xf9, 0xc6, 0xf8, 0xf9, 0xc5, 0xf6, 0xf9, 0xc5, 0xfb, 0xf9, 0xc6, 0x9f, 0xf9, 0xe6, 0x63, 0xf9, 0xe6, 0x8c, 0xf9, 0xc6, 0x8e, 0xf9, 0xc6, 0x8f,
|
||||
0xf9, 0xc6, 0x8d, 0xf9, 0xe6, 0x80, 0xf9, 0xc6, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_1[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x02, 0x02, 0x18, 0x03, 0x02, 0x02, 0x01, 0x04, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x05, 0x07, 0x00, 0x01, 0x05,
|
||||
0x01, 0x00, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x03, 0x0a, 0x13, 0x09, 0x02, 0x0b, 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x00, 0x01, 0x01,
|
||||
0x05, 0x00, 0x01, 0x0e, 0x01, 0x00, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x03, 0x13, 0x01, 0x12, 0x01, 0x14, 0x14, 0x15, 0x01, 0x14,
|
||||
0x01, 0x11, 0x01, 0x16, 0x01, 0x0e, 0x01, 0x05, 0x01, 0x01, 0x03, 0x00, 0x01, 0x01, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b,
|
||||
0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x04, 0x01, 0x17, 0x11, 0x06, 0x01, 0x20, 0x01, 0x21, 0x01, 0x1f, 0x01, 0x22, 0x01, 0x11,
|
||||
0x01, 0x23, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x00, 0x01, 0x24, 0x01, 0x11, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29,
|
||||
0x01, 0x28, 0x01, 0x27, 0x01, 0x2a, 0x16, 0x00, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x02, 0x00, 0x01, 0x0b,
|
||||
0x01, 0x12, 0x01, 0x2d, 0x01, 0x2c, 0x05, 0x14, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x01, 0x01, 0x05, 0x11, 0x01, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32,
|
||||
0x01, 0x14, 0x01, 0x33, 0x01, 0x00, 0x01, 0x34, 0x03, 0x00, 0x01, 0x35, 0x01, 0x12, 0x01, 0x36, 0x01, 0x29, 0x01, 0x37, 0x01, 0x12, 0x01, 0x37,
|
||||
0x01, 0x12, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x01, 0x00, 0x01, 0x01, 0x11, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x3b, 0x01, 0x38, 0x01, 0x06,
|
||||
0x01, 0x3c, 0x01, 0x19, 0x01, 0x3d, 0x02, 0x00, 0x01, 0x35, 0x01, 0x12, 0x01, 0x1e, 0x01, 0x3e, 0x01, 0x14, 0x01, 0x37, 0x01, 0x15, 0x01, 0x37,
|
||||
0x01, 0x14, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x00, 0x01, 0x01, 0x11, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x3b, 0x01, 0x15, 0x01, 0x41, 0x01, 0x2c,
|
||||
0x01, 0x11, 0x01, 0x42, 0x02, 0x00, 0x01, 0x35, 0x01, 0x12, 0x01, 0x1e, 0x01, 0x3e, 0x01, 0x14, 0x01, 0x37, 0x01, 0x15, 0x01, 0x37, 0x01, 0x14,
|
||||
0x01, 0x3f, 0x01, 0x40, 0x01, 0x00, 0x01, 0x01, 0x11, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x3b, 0x01, 0x15, 0x01, 0x41, 0x01, 0x43, 0x01, 0x44,
|
||||
0x01, 0x08, 0x02, 0x00, 0x01, 0x35, 0x01, 0x12, 0x01, 0x1e, 0x01, 0x3e, 0x01, 0x14, 0x01, 0x37, 0x01, 0x15, 0x01, 0x37, 0x01, 0x14, 0x01, 0x3f,
|
||||
0x01, 0x40, 0x01, 0x00, 0x01, 0x01, 0x11, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x3b, 0x01, 0x15, 0x01, 0x41, 0x01, 0x43, 0x01, 0x45, 0x01, 0x08,
|
||||
0x02, 0x00, 0x01, 0x35, 0x01, 0x12, 0x01, 0x1e, 0x01, 0x3e, 0x01, 0x14, 0x01, 0x37, 0x01, 0x15, 0x01, 0x37, 0x01, 0x14, 0x01, 0x3f, 0x01, 0x40,
|
||||
0x01, 0x00, 0x01, 0x01, 0x11, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x3b, 0x01, 0x15, 0x01, 0x46, 0x01, 0x2c, 0x01, 0x11, 0x01, 0x42, 0x02, 0x00,
|
||||
0x01, 0x35, 0x01, 0x12, 0x01, 0x36, 0x01, 0x29, 0x01, 0x38, 0x01, 0x12, 0x01, 0x37, 0x01, 0x12, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x01, 0x00,
|
||||
0x01, 0x01, 0x11, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x3b, 0x01, 0x38, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4a, 0x02, 0x00, 0x01, 0x0b,
|
||||
0x01, 0x12, 0x01, 0x40, 0x01, 0x4b, 0x05, 0x14, 0x01, 0x4c, 0x01, 0x4d, 0x01, 0x01, 0x01, 0x05, 0x11, 0x01, 0x01, 0x30, 0x01, 0x31, 0x01, 0x4e,
|
||||
0x01, 0x14, 0x01, 0x33, 0x01, 0x00, 0x01, 0x4f, 0x03, 0x00, 0x01, 0x50, 0x01, 0x11, 0x01, 0x51, 0x01, 0x24, 0x01, 0x52, 0x01, 0x53, 0x01, 0x4b,
|
||||
0x01, 0x53, 0x01, 0x54, 0x01, 0x55, 0x16, 0x00, 0x01, 0x56, 0x01, 0x57, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01,
|
||||
0x01, 0x21, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x00, 0x02, 0x5b, 0x01, 0x5c,
|
||||
0x10, 0x5b, 0x01, 0x34, 0x01, 0x5d, 0x01, 0x4e, 0x01, 0x11, 0x01, 0x5e, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x0e, 0x01, 0x00,
|
||||
0x01, 0x5f, 0x01, 0x58, 0x01, 0x11, 0x01, 0x60, 0x03, 0x61, 0x01, 0x4c, 0x01, 0x12, 0x14, 0x62, 0x01, 0x14, 0x01, 0x11, 0x01, 0x63, 0x01, 0x02,
|
||||
0x01, 0x05, 0x01, 0x01, 0x04, 0x00, 0x01, 0x05, 0x01, 0x00, 0x01, 0x4d, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x03, 0x67, 0x13, 0x66, 0x02, 0x68,
|
||||
0x01, 0x69, 0x01, 0x6a, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x01, 0x09, 0x00, 0x01, 0x01, 0x03, 0x02, 0x17, 0x03, 0x02, 0x02, 0x01, 0x04,
|
||||
0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_2[] = {
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0xff, 0xff, 0x04, 0xff, 0xff, 0x05, 0xff, 0xff, 0x03, 0xff, 0xff, 0x02, 0xff, 0xff, 0x0d, 0xff, 0xff, 0x5b,
|
||||
0xff, 0xff, 0x83, 0xff, 0xff, 0x85, 0xff, 0xff, 0x86, 0xff, 0xff, 0x84, 0xff, 0xff, 0x78, 0xff, 0xff, 0x36, 0xff, 0xff, 0x34, 0xff, 0xff, 0xe3,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfc, 0xff, 0xff, 0x98, 0xff, 0xff, 0xe5, 0xff, 0xff, 0xe4, 0xff, 0xff, 0x32, 0xff, 0xff, 0x1b,
|
||||
0xff, 0xff, 0x20, 0xff, 0xff, 0x1e, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x19, 0xff, 0xff, 0x0e, 0xff, 0xff, 0x0f, 0xff, 0xff, 0x80, 0xff, 0xff, 0x75,
|
||||
0xff, 0xff, 0x2d, 0xff, 0xff, 0x54, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xe9, 0xff, 0xff, 0x6c, 0xff, 0xff, 0xb7, 0xff, 0xff, 0xed,
|
||||
0xff, 0xff, 0x15, 0xff, 0xff, 0xf6, 0xff, 0xff, 0x10, 0xff, 0xff, 0x06, 0xff, 0xff, 0x79, 0xff, 0xff, 0x0b, 0xff, 0xff, 0x21, 0xff, 0xff, 0xe8,
|
||||
0xff, 0xff, 0xfe, 0xff, 0xff, 0xf1, 0xff, 0xff, 0x17, 0xff, 0xff, 0x7c, 0xff, 0xff, 0x9b, 0xff, 0xff, 0x3e, 0xff, 0xff, 0xf2, 0xff, 0xff, 0x16,
|
||||
0xff, 0xff, 0x24, 0xff, 0xff, 0x8a, 0xff, 0xff, 0xe2, 0xff, 0xff, 0x25, 0xff, 0xff, 0xa1, 0xff, 0xff, 0x42, 0xff, 0xff, 0xee, 0xff, 0xff, 0xf7,
|
||||
0xff, 0xff, 0x11, 0xff, 0xff, 0x5d, 0xff, 0xff, 0x29, 0xff, 0xff, 0xec, 0xff, 0xff, 0xef, 0xff, 0xff, 0x73, 0xff, 0xff, 0xb4, 0xff, 0xff, 0xdf,
|
||||
0xff, 0xff, 0x2c, 0xff, 0xff, 0x09, 0xff, 0xff, 0x08, 0xff, 0xff, 0x14, 0xff, 0xff, 0x7a, 0xff, 0xff, 0x39, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xfb,
|
||||
0xff, 0xff, 0x9f, 0xff, 0xff, 0x63, 0xff, 0xff, 0x8c, 0xff, 0xff, 0x8e, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_2[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x02, 0x02, 0x18, 0x03, 0x02, 0x02, 0x01, 0x04, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x05, 0x07, 0x00, 0x01, 0x05,
|
||||
0x01, 0x00, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x0a, 0x0a, 0x0c, 0x09, 0x02, 0x0b, 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x00, 0x01, 0x01,
|
||||
0x05, 0x00, 0x01, 0x05, 0x01, 0x00, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x0a, 0x12, 0x01, 0x11, 0x10, 0x10, 0x01, 0x13, 0x02, 0x05,
|
||||
0x01, 0x01, 0x03, 0x00, 0x01, 0x01, 0x01, 0x06, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x06, 0x1a, 0x01, 0x19,
|
||||
0x01, 0x1a, 0x01, 0x1b, 0x01, 0x04, 0x0b, 0x06, 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x1b, 0x01, 0x1e, 0x01, 0x10, 0x01, 0x1f, 0x01, 0x00, 0x01, 0x02,
|
||||
0x01, 0x01, 0x03, 0x00, 0x01, 0x07, 0x01, 0x10, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x08, 0x24, 0x01, 0x23, 0x01, 0x22, 0x01, 0x25,
|
||||
0x0f, 0x00, 0x01, 0x26, 0x01, 0x27, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x02, 0x00, 0x01, 0x0b, 0x01, 0x11, 0x01, 0x28, 0x01, 0x27,
|
||||
0x0c, 0x10, 0x01, 0x29, 0x01, 0x2a, 0x01, 0x01, 0x01, 0x05, 0x0a, 0x01, 0x01, 0x2b, 0x01, 0x04, 0x01, 0x2c, 0x01, 0x10, 0x01, 0x1d, 0x01, 0x00,
|
||||
0x01, 0x2d, 0x03, 0x00, 0x01, 0x08, 0x01, 0x11, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x30, 0x01, 0x11, 0x08, 0x30, 0x01, 0x11, 0x01, 0x30, 0x01, 0x31,
|
||||
0x01, 0x32, 0x01, 0x00, 0x01, 0x01, 0x0a, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x33, 0x01, 0x30, 0x01, 0x06, 0x01, 0x34, 0x01, 0x15, 0x01, 0x35,
|
||||
0x02, 0x00, 0x01, 0x08, 0x01, 0x11, 0x01, 0x1a, 0x01, 0x24, 0x01, 0x10, 0x01, 0x30, 0x08, 0x10, 0x01, 0x30, 0x01, 0x10, 0x01, 0x36, 0x01, 0x37,
|
||||
0x01, 0x00, 0x01, 0x01, 0x0a, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x33, 0x01, 0x10, 0x01, 0x38, 0x01, 0x27, 0x01, 0x10, 0x01, 0x39, 0x02, 0x00,
|
||||
0x01, 0x08, 0x01, 0x11, 0x01, 0x1a, 0x01, 0x24, 0x01, 0x10, 0x01, 0x30, 0x08, 0x10, 0x01, 0x30, 0x01, 0x10, 0x01, 0x36, 0x01, 0x37, 0x01, 0x00,
|
||||
0x01, 0x01, 0x0a, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x33, 0x01, 0x10, 0x01, 0x38, 0x01, 0x3a, 0x01, 0x11, 0x01, 0x08, 0x02, 0x00, 0x01, 0x08,
|
||||
0x01, 0x11, 0x01, 0x1a, 0x01, 0x24, 0x01, 0x10, 0x01, 0x30, 0x08, 0x10, 0x01, 0x30, 0x01, 0x10, 0x01, 0x36, 0x01, 0x37, 0x01, 0x00, 0x01, 0x01,
|
||||
0x0a, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x33, 0x01, 0x10, 0x01, 0x38, 0x01, 0x3a, 0x01, 0x30, 0x01, 0x08, 0x02, 0x00, 0x01, 0x08, 0x01, 0x11,
|
||||
0x01, 0x1a, 0x01, 0x24, 0x01, 0x10, 0x01, 0x30, 0x08, 0x10, 0x01, 0x30, 0x01, 0x10, 0x01, 0x36, 0x01, 0x37, 0x01, 0x00, 0x01, 0x01, 0x0a, 0x00,
|
||||
0x01, 0x02, 0x01, 0x00, 0x01, 0x33, 0x01, 0x10, 0x01, 0x3b, 0x01, 0x27, 0x01, 0x10, 0x01, 0x39, 0x02, 0x00, 0x01, 0x08, 0x01, 0x11, 0x01, 0x2e,
|
||||
0x01, 0x2f, 0x01, 0x30, 0x01, 0x11, 0x08, 0x30, 0x01, 0x11, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x00, 0x01, 0x01, 0x0a, 0x00, 0x01, 0x02,
|
||||
0x01, 0x00, 0x01, 0x33, 0x01, 0x30, 0x01, 0x1c, 0x01, 0x3c, 0x01, 0x24, 0x01, 0x3d, 0x02, 0x00, 0x01, 0x0b, 0x01, 0x11, 0x01, 0x37, 0x01, 0x3e,
|
||||
0x0c, 0x10, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x01, 0x01, 0x05, 0x0a, 0x01, 0x01, 0x2b, 0x01, 0x04, 0x01, 0x0c, 0x01, 0x10, 0x01, 0x1d, 0x01, 0x00,
|
||||
0x01, 0x1d, 0x03, 0x00, 0x01, 0x41, 0x01, 0x10, 0x01, 0x42, 0x01, 0x07, 0x01, 0x23, 0x01, 0x43, 0x01, 0x3e, 0x07, 0x44, 0x01, 0x43, 0x01, 0x2f,
|
||||
0x01, 0x45, 0x0f, 0x00, 0x01, 0x46, 0x01, 0x44, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x1d, 0x01, 0x24,
|
||||
0x01, 0x47, 0x01, 0x48, 0x01, 0x17, 0x01, 0x18, 0x09, 0x1a, 0x01, 0x1b, 0x01, 0x00, 0x02, 0x49, 0x01, 0x4a, 0x09, 0x49, 0x01, 0x2d, 0x01, 0x4b,
|
||||
0x01, 0x0c, 0x01, 0x10, 0x01, 0x4c, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x05, 0x01, 0x00, 0x01, 0x4d, 0x01, 0x24, 0x01, 0x10,
|
||||
0x01, 0x4e, 0x0a, 0x29, 0x01, 0x3f, 0x01, 0x11, 0x0d, 0x4f, 0x02, 0x10, 0x01, 0x50, 0x01, 0x02, 0x01, 0x05, 0x01, 0x01, 0x04, 0x00, 0x01, 0x05,
|
||||
0x01, 0x00, 0x01, 0x40, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x0a, 0x54, 0x0c, 0x53, 0x02, 0x55, 0x01, 0x1e, 0x01, 0x56, 0x09, 0x00, 0x01, 0x05,
|
||||
0x1e, 0x00, 0x01, 0x01, 0x09, 0x00, 0x01, 0x01, 0x03, 0x02, 0x17, 0x03, 0x02, 0x02, 0x01, 0x04, 0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_3[] = {
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0xff, 0xff, 0x04, 0xff, 0xff, 0x05, 0xff, 0xff, 0x03, 0xff, 0xff, 0x02, 0xff, 0xff, 0x0d, 0xff, 0xff, 0x5b,
|
||||
0xff, 0xff, 0x83, 0xff, 0xff, 0x85, 0xff, 0xff, 0x86, 0xff, 0xff, 0x84, 0xff, 0xff, 0x78, 0xff, 0xff, 0x36, 0xff, 0xff, 0x34, 0xff, 0xff, 0xe3,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfc, 0xff, 0xff, 0x98, 0xff, 0xff, 0xe5, 0xff, 0xff, 0xe4, 0xff, 0xff, 0x32, 0xff, 0xff, 0x1b,
|
||||
0xff, 0xff, 0x20, 0xff, 0xff, 0x1e, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x0a, 0xff, 0xff, 0x08, 0xff, 0xff, 0x0e, 0xff, 0xff, 0x0f, 0xff, 0xff, 0x19,
|
||||
0xff, 0xff, 0x80, 0xff, 0xff, 0x75, 0xff, 0xff, 0x2d, 0xff, 0xff, 0x54, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xe9, 0xff, 0xff, 0xe8,
|
||||
0xff, 0xff, 0xc0, 0xff, 0xff, 0x18, 0xff, 0xff, 0xb7, 0xff, 0xff, 0xed, 0xff, 0xff, 0x15, 0xff, 0xff, 0x06, 0xff, 0xff, 0x79, 0xff, 0xff, 0x0b,
|
||||
0xff, 0xff, 0x21, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfa, 0xff, 0xff, 0x88, 0xff, 0xff, 0x7c, 0xff, 0xff, 0x9b, 0xff, 0xff, 0x3e, 0xff, 0xff, 0xfb,
|
||||
0xff, 0xff, 0x24, 0xff, 0xff, 0x8a, 0xff, 0xff, 0x87, 0xff, 0xff, 0xe2, 0xff, 0xff, 0x25, 0xff, 0xff, 0xa1, 0xff, 0xff, 0x42, 0xff, 0xff, 0x16,
|
||||
0xff, 0xff, 0xee, 0xff, 0xff, 0x82, 0xff, 0xff, 0x5d, 0xff, 0xff, 0x29, 0xff, 0xff, 0xec, 0xff, 0xff, 0xef, 0xff, 0xff, 0xc7, 0xff, 0xff, 0x1c,
|
||||
0xff, 0xff, 0xb4, 0xff, 0xff, 0xdf, 0xff, 0xff, 0x2c, 0xff, 0xff, 0x09, 0xff, 0xff, 0x14, 0xff, 0xff, 0x7a, 0xff, 0xff, 0x39, 0xff, 0xff, 0xf8,
|
||||
0xff, 0xff, 0xf6, 0xff, 0xff, 0x9f, 0xff, 0xff, 0x11, 0xff, 0xff, 0x63, 0xff, 0xff, 0x8c, 0xff, 0xff, 0x8e, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x8d,
|
||||
0xff, 0xff, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_3[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x02, 0x02, 0x18, 0x03, 0x02, 0x02, 0x01, 0x04, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x05, 0x07, 0x00, 0x01, 0x05,
|
||||
0x01, 0x00, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x11, 0x0a, 0x05, 0x09, 0x02, 0x0b, 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x00, 0x01, 0x01,
|
||||
0x05, 0x00, 0x01, 0x05, 0x01, 0x00, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x12, 0x12, 0x09, 0x10, 0x01, 0x13, 0x02, 0x05, 0x01, 0x01,
|
||||
0x03, 0x00, 0x01, 0x01, 0x01, 0x06, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x0e, 0x1a, 0x02, 0x19, 0x01, 0x1b,
|
||||
0x01, 0x1c, 0x01, 0x1d, 0x02, 0x06, 0x01, 0x1d, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x10, 0x01, 0x21, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01,
|
||||
0x03, 0x00, 0x01, 0x07, 0x01, 0x10, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x0f, 0x26, 0x02, 0x27, 0x01, 0x28, 0x01, 0x29, 0x07, 0x00,
|
||||
0x01, 0x2a, 0x01, 0x2b, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x02, 0x00, 0x01, 0x0b, 0x01, 0x11, 0x01, 0x2c, 0x01, 0x2b, 0x14, 0x10,
|
||||
0x01, 0x20, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x2d, 0x01, 0x04, 0x01, 0x2e, 0x01, 0x10, 0x01, 0x1e, 0x01, 0x00, 0x01, 0x2f, 0x03, 0x00,
|
||||
0x01, 0x08, 0x01, 0x11, 0x01, 0x30, 0x01, 0x27, 0x01, 0x31, 0x01, 0x11, 0x10, 0x31, 0x01, 0x32, 0x01, 0x12, 0x01, 0x33, 0x01, 0x00, 0x01, 0x02,
|
||||
0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x34, 0x01, 0x31, 0x01, 0x06, 0x01, 0x35, 0x01, 0x15, 0x01, 0x36, 0x02, 0x00, 0x01, 0x08, 0x01, 0x11,
|
||||
0x01, 0x1a, 0x01, 0x26, 0x01, 0x10, 0x01, 0x31, 0x10, 0x10, 0x01, 0x37, 0x01, 0x10, 0x01, 0x0a, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02,
|
||||
0x01, 0x00, 0x01, 0x34, 0x01, 0x10, 0x01, 0x38, 0x01, 0x2b, 0x01, 0x10, 0x01, 0x39, 0x02, 0x00, 0x01, 0x08, 0x01, 0x11, 0x01, 0x1a, 0x01, 0x26,
|
||||
0x01, 0x10, 0x01, 0x31, 0x10, 0x10, 0x01, 0x37, 0x01, 0x10, 0x01, 0x3a, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x34,
|
||||
0x01, 0x10, 0x01, 0x38, 0x01, 0x3b, 0x01, 0x11, 0x01, 0x08, 0x02, 0x00, 0x01, 0x08, 0x01, 0x11, 0x01, 0x1a, 0x01, 0x26, 0x01, 0x10, 0x01, 0x31,
|
||||
0x10, 0x10, 0x01, 0x37, 0x01, 0x10, 0x01, 0x3a, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x34, 0x01, 0x10, 0x01, 0x38,
|
||||
0x01, 0x3b, 0x01, 0x31, 0x01, 0x08, 0x02, 0x00, 0x01, 0x08, 0x01, 0x11, 0x01, 0x1a, 0x01, 0x26, 0x01, 0x10, 0x01, 0x31, 0x10, 0x10, 0x01, 0x37,
|
||||
0x01, 0x10, 0x01, 0x0a, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x34, 0x01, 0x10, 0x01, 0x3c, 0x01, 0x2b, 0x01, 0x10,
|
||||
0x01, 0x39, 0x02, 0x00, 0x01, 0x08, 0x01, 0x11, 0x01, 0x30, 0x01, 0x27, 0x01, 0x31, 0x01, 0x11, 0x10, 0x31, 0x01, 0x32, 0x01, 0x11, 0x01, 0x33,
|
||||
0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x34, 0x01, 0x31, 0x01, 0x1d, 0x01, 0x3d, 0x01, 0x26, 0x01, 0x3e, 0x02, 0x00,
|
||||
0x01, 0x0b, 0x01, 0x11, 0x01, 0x3f, 0x01, 0x40, 0x14, 0x10, 0x01, 0x41, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x2d, 0x01, 0x04, 0x01, 0x0c,
|
||||
0x01, 0x10, 0x01, 0x1e, 0x01, 0x00, 0x01, 0x1e, 0x03, 0x00, 0x01, 0x42, 0x01, 0x10, 0x01, 0x43, 0x01, 0x07, 0x01, 0x25, 0x01, 0x44, 0x01, 0x40,
|
||||
0x0e, 0x45, 0x02, 0x40, 0x01, 0x46, 0x01, 0x47, 0x07, 0x00, 0x01, 0x48, 0x01, 0x45, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00,
|
||||
0x01, 0x01, 0x01, 0x1e, 0x01, 0x26, 0x01, 0x49, 0x01, 0x4a, 0x01, 0x17, 0x01, 0x18, 0x0f, 0x1a, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x4b, 0x01, 0x04,
|
||||
0x01, 0x4b, 0x01, 0x1c, 0x02, 0x4b, 0x01, 0x2f, 0x01, 0x4c, 0x01, 0x0c, 0x01, 0x10, 0x01, 0x4d, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00,
|
||||
0x01, 0x05, 0x01, 0x00, 0x01, 0x4e, 0x01, 0x26, 0x01, 0x10, 0x01, 0x4f, 0x12, 0x50, 0x01, 0x37, 0x01, 0x12, 0x05, 0x37, 0x02, 0x10, 0x01, 0x51,
|
||||
0x01, 0x02, 0x01, 0x05, 0x01, 0x01, 0x04, 0x00, 0x01, 0x05, 0x01, 0x00, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, 0x01, 0x55, 0x11, 0x56, 0x05, 0x55,
|
||||
0x02, 0x57, 0x01, 0x20, 0x01, 0x58, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x01, 0x09, 0x00, 0x01, 0x01, 0x03, 0x02, 0x17, 0x03, 0x02, 0x02,
|
||||
0x01, 0x04, 0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_4[] = {
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0xff, 0xff, 0x04, 0xff, 0xff, 0x05, 0xff, 0xff, 0x03, 0xff, 0xff, 0x02, 0xff, 0xff, 0x0d, 0xff, 0xff, 0x5b,
|
||||
0xff, 0xff, 0x83, 0xff, 0xff, 0x85, 0xff, 0xff, 0x86, 0xff, 0xff, 0x78, 0xff, 0xff, 0x36, 0xff, 0xff, 0x34, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xfd, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfb, 0xff, 0xff, 0x97, 0xff, 0xff, 0xe5, 0xff, 0xff, 0xe4, 0xff, 0xff, 0x32, 0xff, 0xff, 0x1b,
|
||||
0xff, 0xff, 0x20, 0xff, 0xff, 0x1e, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x17, 0xff, 0xff, 0x7c, 0xff, 0xff, 0x75, 0xff, 0xff, 0x2d, 0xff, 0xff, 0x54,
|
||||
0xff, 0xff, 0xe1, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xe9, 0xff, 0xff, 0xe8, 0xff, 0xff, 0xbe, 0xff, 0xff, 0x06, 0xff, 0xff, 0xb2, 0xff, 0xff, 0xee,
|
||||
0xff, 0xff, 0x84, 0xff, 0xff, 0x15, 0xff, 0xff, 0xed, 0xff, 0xff, 0x6d, 0xff, 0xff, 0x65, 0xff, 0xff, 0x0f, 0xff, 0xff, 0x0b, 0xff, 0xff, 0x21,
|
||||
0xff, 0xff, 0xfe, 0xff, 0xff, 0xfa, 0xff, 0xff, 0x76, 0xff, 0xff, 0x69, 0xff, 0xff, 0x9b, 0xff, 0xff, 0x3e, 0xff, 0xff, 0x73, 0xff, 0xff, 0x6a,
|
||||
0xff, 0xff, 0x24, 0xff, 0xff, 0x8a, 0xff, 0xff, 0x74, 0xff, 0xff, 0xe2, 0xff, 0xff, 0x25, 0xff, 0xff, 0x0e, 0xff, 0xff, 0xa1, 0xff, 0xff, 0x42,
|
||||
0xff, 0xff, 0x16, 0xff, 0xff, 0x6e, 0xff, 0xff, 0x5d, 0xff, 0xff, 0x29, 0xff, 0xff, 0xec, 0xff, 0xff, 0xef, 0xff, 0xff, 0xc5, 0xff, 0xff, 0x08,
|
||||
0xff, 0xff, 0xae, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xdf, 0xff, 0xff, 0x2c, 0xff, 0xff, 0x14, 0xff, 0xff, 0x7a, 0xff, 0xff, 0x39, 0xff, 0xff, 0xf8,
|
||||
0xff, 0xff, 0xf6, 0xff, 0xff, 0xf5, 0xff, 0xff, 0x9e, 0xff, 0xff, 0x11, 0xff, 0xff, 0x63, 0xff, 0xff, 0x8c, 0xff, 0xff, 0x8e, 0xff, 0xff, 0x8f,
|
||||
0xff, 0xff, 0x81, 0xff, 0xff, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_4[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x02, 0x02, 0x18, 0x03, 0x02, 0x02, 0x01, 0x04, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x05, 0x07, 0x00, 0x01, 0x05,
|
||||
0x01, 0x00, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x16, 0x0a, 0x02, 0x09, 0x01, 0x0b, 0x01, 0x0c, 0x01, 0x00, 0x01, 0x01, 0x05, 0x00,
|
||||
0x01, 0x05, 0x01, 0x00, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x18, 0x11, 0x01, 0x12, 0x02, 0x0f, 0x01, 0x13, 0x02, 0x05, 0x01, 0x01,
|
||||
0x03, 0x00, 0x01, 0x01, 0x01, 0x06, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x16, 0x1a, 0x01, 0x18, 0x01, 0x1b,
|
||||
0x01, 0x1c, 0x01, 0x0f, 0x01, 0x1d, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x00, 0x01, 0x07, 0x01, 0x0f, 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20,
|
||||
0x01, 0x21, 0x16, 0x22, 0x02, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x02, 0x01, 0x01, 0x01, 0x00, 0x01, 0x05, 0x02, 0x00,
|
||||
0x01, 0x28, 0x01, 0x10, 0x01, 0x29, 0x01, 0x2a, 0x1b, 0x0f, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x0f, 0x01, 0x2d, 0x01, 0x00, 0x01, 0x2e, 0x03, 0x00,
|
||||
0x01, 0x08, 0x01, 0x10, 0x01, 0x2f, 0x01, 0x23, 0x01, 0x30, 0x01, 0x10, 0x17, 0x30, 0x01, 0x31, 0x01, 0x11, 0x01, 0x32, 0x01, 0x33, 0x01, 0x30,
|
||||
0x01, 0x06, 0x01, 0x34, 0x01, 0x15, 0x01, 0x35, 0x02, 0x00, 0x01, 0x08, 0x01, 0x10, 0x01, 0x1a, 0x01, 0x22, 0x01, 0x0f, 0x01, 0x30, 0x17, 0x0f,
|
||||
0x01, 0x12, 0x01, 0x0f, 0x01, 0x36, 0x01, 0x37, 0x01, 0x0f, 0x01, 0x38, 0x01, 0x2a, 0x01, 0x0f, 0x01, 0x39, 0x02, 0x00, 0x01, 0x08, 0x01, 0x10,
|
||||
0x01, 0x1a, 0x01, 0x22, 0x01, 0x0f, 0x01, 0x30, 0x17, 0x0f, 0x01, 0x12, 0x01, 0x0f, 0x01, 0x3a, 0x01, 0x37, 0x01, 0x0f, 0x01, 0x38, 0x01, 0x3b,
|
||||
0x01, 0x10, 0x01, 0x08, 0x02, 0x00, 0x01, 0x08, 0x01, 0x10, 0x01, 0x1a, 0x01, 0x22, 0x01, 0x0f, 0x01, 0x30, 0x17, 0x0f, 0x01, 0x12, 0x01, 0x0f,
|
||||
0x01, 0x3a, 0x01, 0x37, 0x01, 0x0f, 0x01, 0x38, 0x01, 0x3b, 0x01, 0x30, 0x01, 0x08, 0x02, 0x00, 0x01, 0x08, 0x01, 0x10, 0x01, 0x1a, 0x01, 0x22,
|
||||
0x01, 0x0f, 0x01, 0x30, 0x17, 0x0f, 0x01, 0x12, 0x01, 0x0f, 0x01, 0x36, 0x01, 0x37, 0x01, 0x0f, 0x01, 0x3c, 0x01, 0x2a, 0x01, 0x0f, 0x01, 0x39,
|
||||
0x02, 0x00, 0x01, 0x08, 0x01, 0x10, 0x01, 0x2f, 0x01, 0x23, 0x01, 0x30, 0x01, 0x10, 0x17, 0x30, 0x01, 0x31, 0x01, 0x10, 0x01, 0x32, 0x01, 0x33,
|
||||
0x01, 0x30, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x22, 0x01, 0x3f, 0x02, 0x00, 0x01, 0x28, 0x01, 0x10, 0x01, 0x40, 0x01, 0x27, 0x1b, 0x0f, 0x01, 0x41,
|
||||
0x01, 0x2c, 0x01, 0x0f, 0x01, 0x2d, 0x01, 0x00, 0x01, 0x2d, 0x03, 0x00, 0x01, 0x42, 0x01, 0x0f, 0x01, 0x43, 0x01, 0x07, 0x01, 0x21, 0x01, 0x44,
|
||||
0x01, 0x27, 0x15, 0x45, 0x02, 0x27, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x03, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00,
|
||||
0x01, 0x01, 0x01, 0x2d, 0x01, 0x22, 0x01, 0x4a, 0x01, 0x4b, 0x01, 0x17, 0x01, 0x18, 0x17, 0x1a, 0x01, 0x2f, 0x01, 0x4c, 0x01, 0x3a, 0x01, 0x0f,
|
||||
0x01, 0x4d, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x05, 0x01, 0x00, 0x01, 0x4e, 0x01, 0x22, 0x01, 0x0f, 0x01, 0x4f, 0x18, 0x50,
|
||||
0x01, 0x51, 0x02, 0x0f, 0x01, 0x52, 0x01, 0x02, 0x01, 0x05, 0x01, 0x01, 0x04, 0x00, 0x01, 0x05, 0x01, 0x00, 0x01, 0x53, 0x01, 0x54, 0x01, 0x55,
|
||||
0x01, 0x56, 0x17, 0x57, 0x01, 0x56, 0x01, 0x58, 0x01, 0x59, 0x09, 0x00, 0x01, 0x05, 0x1e, 0x00, 0x01, 0x01, 0x09, 0x00, 0x01, 0x01, 0x03, 0x02,
|
||||
0x17, 0x03, 0x02, 0x02, 0x01, 0x04, 0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_5[] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0xe0, 0x01, 0x3d, 0xe7, 0x04, 0x3f, 0xef, 0x04, 0x36, 0x6c, 0x05, 0x55, 0x4a, 0x03, 0x07, 0xef, 0x02, 0x03, 0xef, 0x02,
|
||||
0x03, 0xe0, 0x02, 0x25, 0x89, 0x0d, 0x36, 0x6b, 0x5b, 0x36, 0x6b, 0x82, 0x36, 0x2b, 0x84, 0x36, 0x2b, 0x85, 0x36, 0x2b, 0x86, 0x2e, 0x2a, 0x83,
|
||||
0x36, 0x4b, 0x84, 0x36, 0x6b, 0x78, 0x36, 0x4b, 0x36, 0x00, 0x00, 0x01, 0x7f, 0xef, 0x02, 0x35, 0xeb, 0x34, 0x36, 0x6b, 0xe4, 0x3e, 0xcc, 0xff,
|
||||
0x36, 0x4b, 0xff, 0x36, 0x2a, 0xfa, 0x46, 0x8d, 0xff, 0x36, 0x6b, 0xff, 0x3e, 0xec, 0xff, 0x36, 0x2b, 0x98, 0x3e, 0x2c, 0x0d, 0x36, 0x6b, 0xe5,
|
||||
0x36, 0x8b, 0xe1, 0x36, 0x0a, 0x40, 0x2d, 0xeb, 0x10, 0x36, 0x4b, 0x0e, 0x3e, 0x29, 0x0d, 0x6e, 0x90, 0x11, 0x01, 0xe0, 0x04, 0xef, 0xdd, 0x70,
|
||||
0xef, 0xde, 0x45, 0x26, 0x29, 0x0d, 0x56, 0x6e, 0x0f, 0x36, 0x6a, 0x0f, 0x36, 0x0b, 0x19, 0x36, 0x4b, 0x80, 0x3f, 0x0c, 0xff, 0x36, 0x2b, 0x75,
|
||||
0x36, 0x2b, 0x5b, 0x35, 0xea, 0x3b, 0x36, 0x4b, 0xbf, 0x36, 0x4b, 0x6b, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xd2, 0xff, 0xff, 0x02, 0x36, 0x4b, 0xb7,
|
||||
0x36, 0x2b, 0xed, 0x3d, 0xef, 0x04, 0x36, 0x2b, 0xfc, 0x36, 0xab, 0x19, 0x36, 0x2a, 0x94, 0x36, 0x66, 0x05, 0xbf, 0xf7, 0x04, 0xff, 0xdf, 0x2c,
|
||||
0xff, 0xff, 0xfc, 0xff, 0xff, 0x86, 0xe7, 0xff, 0x09, 0x2d, 0x4a, 0x06, 0x36, 0x2b, 0x79, 0x2d, 0xc8, 0x0b, 0x36, 0x2b, 0x83, 0x36, 0x2b, 0xfd,
|
||||
0x36, 0x6b, 0x1a, 0x36, 0x2b, 0xfa, 0x36, 0x2b, 0x8c, 0xff, 0xff, 0x19, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xf6, 0xff, 0xff, 0x12, 0x36, 0x2b, 0x7c,
|
||||
0x36, 0x6b, 0xfe, 0x36, 0x2b, 0x9b, 0x3e, 0xac, 0xe4, 0x36, 0x2b, 0x3e, 0x36, 0x2b, 0x8d, 0xff, 0xff, 0x0b, 0xff, 0xff, 0xcb, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xe8, 0xff, 0xff, 0x80, 0xff, 0xff, 0x7c, 0xff, 0xff, 0x88, 0xff, 0xff, 0x28, 0x36, 0x2a, 0x24, 0x36, 0x2b, 0x8a, 0xff, 0xff, 0x01,
|
||||
0xff, 0xff, 0xaf, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xb7, 0xff, 0xff, 0x0c, 0x36, 0x2b, 0xe2, 0x3e, 0xcc, 0xfd, 0xff, 0xff, 0x09, 0xff, 0xff, 0xab,
|
||||
0xff, 0xff, 0xb9, 0x3e, 0xcc, 0xfe, 0xff, 0xff, 0x26, 0xff, 0xff, 0x90, 0xff, 0xff, 0x84, 0xff, 0xff, 0x95, 0xff, 0xff, 0xfa, 0xff, 0xff, 0x0f,
|
||||
0x36, 0x2a, 0x25, 0xff, 0xff, 0x46, 0xff, 0xff, 0xe2, 0xff, 0xff, 0x1e, 0xff, 0xff, 0x03, 0x36, 0x2b, 0xa1, 0x3e, 0xcc, 0xe9, 0x36, 0x2b, 0x42,
|
||||
0x36, 0x2b, 0x93, 0xff, 0xff, 0x07, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x30, 0xff, 0xff, 0x04, 0x36, 0x2b, 0x78, 0x35, 0xca, 0x0f,
|
||||
0x36, 0x2b, 0x5e, 0x35, 0xea, 0x38, 0x36, 0x2b, 0xc6, 0x36, 0x2b, 0x70, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xfd, 0xff, 0xff, 0x48, 0x36, 0x2b, 0xb4,
|
||||
0x36, 0x2b, 0xef, 0x07, 0xff, 0x01, 0x36, 0x6b, 0xe9, 0x36, 0x8b, 0xdc, 0x36, 0x0b, 0x3c, 0x36, 0x69, 0x0a, 0x3e, 0x2a, 0x09, 0x6e, 0xb2, 0x0c,
|
||||
0x1d, 0x47, 0x09, 0xff, 0xff, 0x7e, 0xf7, 0xfe, 0x7a, 0x76, 0xb1, 0x0d, 0x3e, 0xeb, 0x08, 0x2d, 0xcb, 0x0b, 0x35, 0xeb, 0x14, 0x36, 0x4b, 0x78,
|
||||
0x36, 0x2b, 0x7a, 0x36, 0x0a, 0x39, 0x36, 0x6b, 0xea, 0x36, 0x2b, 0xfb, 0x3e, 0x4b, 0xfb, 0x76, 0xf1, 0xff, 0x2e, 0x2a, 0xf5, 0x36, 0x4b, 0x9f,
|
||||
0x2d, 0xa9, 0x11, 0x36, 0x6b, 0x64, 0x36, 0x4b, 0x8b, 0x36, 0x2a, 0x8e, 0x36, 0x2b, 0x8e, 0x2e, 0x0a, 0x8a, 0x36, 0x2b, 0x8f, 0x36, 0x4b, 0x8d,
|
||||
0x36, 0x6b, 0x80, 0x36, 0x4b, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_5[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x18, 0x04, 0x02, 0x03, 0x01, 0x05, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0x07, 0x07, 0x00,
|
||||
0x01, 0x08, 0x01, 0x00, 0x01, 0x09, 0x01, 0x0a, 0x01, 0x0b, 0x02, 0x0c, 0x0c, 0x0d, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x0d, 0x01, 0x0c, 0x05, 0x0d,
|
||||
0x01, 0x0c, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x00, 0x01, 0x13, 0x05, 0x00, 0x01, 0x14, 0x01, 0x00, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17,
|
||||
0x0f, 0x18, 0x01, 0x19, 0x01, 0x1a, 0x09, 0x18, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x1d, 0x01, 0x14, 0x01, 0x07, 0x01, 0x13, 0x03, 0x00, 0x01, 0x01,
|
||||
0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x0a, 0x1e, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28,
|
||||
0x01, 0x29, 0x01, 0x2a, 0x05, 0x1e, 0x01, 0x23, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01,
|
||||
0x03, 0x00, 0x01, 0x30, 0x01, 0x17, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 0x0d, 0x00, 0x01, 0x34, 0x01, 0x35, 0x01, 0x36, 0x0b, 0x00, 0x01, 0x37,
|
||||
0x01, 0x38, 0x01, 0x39, 0x01, 0x01, 0x01, 0x00, 0x01, 0x07, 0x02, 0x00, 0x01, 0x0c, 0x01, 0x3a, 0x01, 0x3b, 0x01, 0x1b, 0x01, 0x3c, 0x01, 0x01,
|
||||
0x01, 0x3d, 0x08, 0x01, 0x01, 0x3e, 0x01, 0x00, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x41, 0x01, 0x3e, 0x01, 0x42, 0x01, 0x14, 0x07, 0x01, 0x01, 0x43,
|
||||
0x01, 0x05, 0x01, 0x44, 0x01, 0x1b, 0x01, 0x2b, 0x01, 0x00, 0x01, 0x45, 0x03, 0x00, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4a,
|
||||
0x01, 0x00, 0x01, 0x02, 0x07, 0x00, 0x01, 0x36, 0x01, 0x00, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x4d, 0x01, 0x4e, 0x0a, 0x00, 0x01, 0x02, 0x01, 0x00,
|
||||
0x01, 0x4f, 0x01, 0x50, 0x01, 0x24, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x02, 0x00, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x3a, 0x01, 0x54,
|
||||
0x01, 0x00, 0x01, 0x02, 0x06, 0x00, 0x02, 0x36, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, 0x01, 0x5c,
|
||||
0x01, 0x00, 0x01, 0x36, 0x05, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x4f, 0x01, 0x18, 0x01, 0x5d, 0x01, 0x38, 0x01, 0x2e, 0x01, 0x5e, 0x02, 0x00,
|
||||
0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x3a, 0x01, 0x54, 0x01, 0x00, 0x01, 0x02, 0x05, 0x00, 0x01, 0x5f, 0x02, 0x00, 0x01, 0x60, 0x01, 0x57,
|
||||
0x01, 0x61, 0x03, 0x57, 0x01, 0x62, 0x01, 0x63, 0x01, 0x36, 0x01, 0x5f, 0x05, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x4f, 0x01, 0x18, 0x01, 0x5d,
|
||||
0x01, 0x64, 0x01, 0x65, 0x01, 0x46, 0x02, 0x00, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x3a, 0x01, 0x54, 0x01, 0x00, 0x01, 0x02, 0x04, 0x00,
|
||||
0x01, 0x5f, 0x01, 0x36, 0x01, 0x66, 0x01, 0x67, 0x03, 0x57, 0x01, 0x61, 0x01, 0x57, 0x01, 0x68, 0x02, 0x00, 0x01, 0x5f, 0x06, 0x00, 0x01, 0x02,
|
||||
0x01, 0x00, 0x01, 0x4f, 0x01, 0x18, 0x01, 0x5d, 0x01, 0x64, 0x01, 0x69, 0x01, 0x46, 0x02, 0x00, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x3a,
|
||||
0x01, 0x54, 0x01, 0x00, 0x01, 0x02, 0x04, 0x00, 0x01, 0x36, 0x01, 0x00, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x6e, 0x01, 0x57,
|
||||
0x01, 0x35, 0x01, 0x6f, 0x01, 0x5f, 0x01, 0x36, 0x07, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x4f, 0x01, 0x18, 0x01, 0x70, 0x01, 0x38, 0x01, 0x2e,
|
||||
0x01, 0x5e, 0x02, 0x00, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4a, 0x01, 0x00, 0x01, 0x02, 0x09, 0x00, 0x01, 0x71, 0x01, 0x57,
|
||||
0x01, 0x72, 0x01, 0x73, 0x01, 0x00, 0x01, 0x74, 0x08, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x23, 0x01, 0x75, 0x01, 0x76,
|
||||
0x01, 0x77, 0x02, 0x00, 0x01, 0x0c, 0x01, 0x3a, 0x01, 0x48, 0x01, 0x1b, 0x01, 0x78, 0x01, 0x01, 0x01, 0x3d, 0x06, 0x01, 0x01, 0x14, 0x01, 0x79,
|
||||
0x01, 0x5f, 0x01, 0x7a, 0x01, 0x7b, 0x01, 0x7c, 0x01, 0x00, 0x01, 0x7d, 0x01, 0x13, 0x08, 0x01, 0x01, 0x43, 0x01, 0x05, 0x01, 0x7e, 0x01, 0x1b,
|
||||
0x01, 0x7f, 0x01, 0x00, 0x01, 0x7f, 0x03, 0x00, 0x01, 0x80, 0x01, 0x17, 0x01, 0x81, 0x01, 0x82, 0x01, 0x83, 0x0a, 0x00, 0x01, 0x84, 0x01, 0x85,
|
||||
0x01, 0x86, 0x01, 0x00, 0x01, 0x5f, 0x0c, 0x00, 0x01, 0x87, 0x01, 0x88, 0x01, 0x04, 0x01, 0x13, 0x01, 0x00, 0x01, 0x89, 0x01, 0x00, 0x01, 0x01,
|
||||
0x01, 0x2b, 0x01, 0x8a, 0x01, 0x8b, 0x01, 0x8c, 0x01, 0x24, 0x01, 0x8d, 0x07, 0x8e, 0x01, 0x8f, 0x01, 0x90, 0x01, 0x91, 0x01, 0x92, 0x01, 0x00,
|
||||
0x01, 0x93, 0x01, 0x94, 0x09, 0x8e, 0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, 0x2e, 0x01, 0x98, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00,
|
||||
0x01, 0x14, 0x01, 0x00, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x17, 0x0a, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 0x01, 0x9e, 0x01, 0x47, 0x0c, 0x9b, 0x01, 0x18,
|
||||
0x01, 0x1c, 0x01, 0x9f, 0x01, 0x02, 0x01, 0x07, 0x01, 0x13, 0x04, 0x00, 0x01, 0x07, 0x01, 0x00, 0x01, 0xa0, 0x01, 0xa1, 0x01, 0xa2, 0x01, 0x54,
|
||||
0x08, 0xa3, 0x01, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa4, 0x0a, 0xa3, 0x01, 0x54, 0x01, 0xa7, 0x01, 0xa8, 0x01, 0xa9, 0x09, 0x00, 0x01, 0x06,
|
||||
0x1e, 0x00, 0x01, 0x89, 0x09, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x17, 0x04, 0x01, 0x39, 0x01, 0x03, 0x01, 0x05, 0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_6[] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0xe0, 0x01, 0x3d, 0xe7, 0x04, 0x3f, 0xef, 0x04, 0x36, 0x6c, 0x05, 0x55, 0x4a, 0x03, 0x07, 0xef, 0x02, 0x03, 0xef, 0x02,
|
||||
0x03, 0xe0, 0x02, 0x25, 0x89, 0x0d, 0x36, 0x6b, 0x5b, 0x36, 0x6b, 0x83, 0x36, 0x2b, 0x85, 0x36, 0x2b, 0x86, 0x2e, 0x2a, 0x83, 0x36, 0x2b, 0x84,
|
||||
0x36, 0x4b, 0x84, 0x36, 0x6b, 0x78, 0x36, 0x4b, 0x36, 0x00, 0x00, 0x01, 0x7f, 0xef, 0x02, 0x35, 0xeb, 0x34, 0x36, 0x6b, 0xe3, 0x3e, 0xec, 0xff,
|
||||
0x36, 0x2b, 0xfd, 0x36, 0x2b, 0xfc, 0x36, 0x4b, 0xff, 0x36, 0x2a, 0xfa, 0x46, 0x8d, 0xff, 0x36, 0x6b, 0xff, 0x36, 0x2b, 0x98, 0x3e, 0x2c, 0x0d,
|
||||
0x36, 0x6b, 0xe5, 0x36, 0x8b, 0xe4, 0x36, 0x0a, 0x32, 0x2e, 0x2a, 0x1b, 0x36, 0x6b, 0x20, 0x36, 0x0a, 0x1e, 0x36, 0x6b, 0x1f, 0x36, 0x0a, 0x19,
|
||||
0x3e, 0xac, 0x0d, 0x3e, 0x29, 0x0d, 0x6e, 0x90, 0x11, 0x01, 0xe0, 0x04, 0xef, 0xdd, 0x70, 0xef, 0xde, 0x45, 0x26, 0x29, 0x0d, 0x56, 0x6e, 0x0f,
|
||||
0x36, 0x4b, 0x0e, 0x36, 0x6a, 0x0f, 0x36, 0x0b, 0x19, 0x36, 0x4b, 0x80, 0x3f, 0x0c, 0xff, 0x36, 0x2b, 0x75, 0x36, 0x2b, 0x5b, 0x35, 0xca, 0x2d,
|
||||
0x36, 0x4b, 0x54, 0x36, 0x8b, 0xe1, 0x36, 0x2b, 0xe7, 0x36, 0x2b, 0xe8, 0x36, 0x2a, 0x6c, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xd2, 0xff, 0xff, 0x02,
|
||||
0x36, 0x4b, 0xb7, 0x36, 0x2b, 0xed, 0x3d, 0xef, 0x04, 0x36, 0x6c, 0x15, 0x36, 0x8b, 0xff, 0x36, 0x2b, 0xf6, 0x3e, 0x6b, 0x10, 0x07, 0xe0, 0x02,
|
||||
0xbf, 0xf7, 0x04, 0xff, 0xdf, 0x2c, 0xff, 0xff, 0xfc, 0xff, 0xff, 0x86, 0xe7, 0xff, 0x09, 0x2d, 0x4a, 0x06, 0x36, 0x2b, 0x79, 0x2d, 0xc8, 0x0b,
|
||||
0x36, 0x2b, 0x83, 0x2e, 0x4b, 0x21, 0x36, 0x4b, 0xe8, 0x36, 0x4b, 0xfe, 0x36, 0x2b, 0xfe, 0x36, 0x2b, 0xf1, 0x36, 0x2b, 0x17, 0xff, 0xff, 0x19,
|
||||
0xff, 0xff, 0xe0, 0xff, 0xff, 0xf6, 0xff, 0xff, 0x12, 0x36, 0x2b, 0x7c, 0x36, 0x6b, 0xfe, 0x36, 0x2b, 0x9b, 0x3e, 0xac, 0xe4, 0x36, 0x2b, 0x3e,
|
||||
0x36, 0x2b, 0x1f, 0x36, 0x2b, 0xe9, 0x36, 0x2b, 0xff, 0x36, 0x2b, 0xf2, 0x3e, 0x2b, 0x16, 0xff, 0xff, 0x0b, 0xff, 0xff, 0xcb, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xe8, 0xff, 0xff, 0x80, 0xff, 0xff, 0x7c, 0xff, 0xff, 0x88, 0xff, 0xff, 0x28, 0x36, 0x2a, 0x24, 0x36, 0x2b, 0x8a, 0xff, 0xff, 0xaf,
|
||||
0xff, 0xff, 0xfb, 0xff, 0xff, 0xb7, 0xff, 0xff, 0x0c, 0xff, 0xff, 0x01, 0x36, 0x2b, 0xe2, 0x3e, 0xcc, 0xfd, 0xff, 0xff, 0x03, 0xff, 0xff, 0x09,
|
||||
0xff, 0xff, 0xab, 0xff, 0xff, 0xb9, 0x3e, 0xcc, 0xfe, 0xff, 0xff, 0x26, 0xff, 0xff, 0x90, 0xff, 0xff, 0x84, 0xff, 0xff, 0x95, 0xff, 0xff, 0xfa,
|
||||
0xff, 0xff, 0x0f, 0x36, 0x2a, 0x25, 0xff, 0xff, 0x46, 0xff, 0xff, 0xe2, 0xff, 0xff, 0x1e, 0x36, 0x2b, 0xa1, 0x3e, 0xcc, 0xe9, 0x36, 0x2b, 0x42,
|
||||
0x2e, 0x8b, 0x16, 0x36, 0x2b, 0xee, 0x36, 0x2b, 0xf7, 0x3e, 0x0b, 0x11, 0xff, 0xff, 0x07, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xf9, 0xff, 0xff, 0x30,
|
||||
0xff, 0xff, 0x04, 0x36, 0x2b, 0x78, 0x35, 0xca, 0x0f, 0x36, 0x4a, 0x5d, 0x36, 0x0a, 0x29, 0x36, 0x8b, 0xe7, 0x36, 0x4b, 0xec, 0x36, 0x6b, 0xe8,
|
||||
0x36, 0x2b, 0x73, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xfd, 0xff, 0xff, 0x48, 0x36, 0x2b, 0xb4, 0x36, 0x2b, 0xef, 0x07, 0xff, 0x01, 0x36, 0x6b, 0xe9,
|
||||
0x36, 0x8b, 0xdf, 0x35, 0xea, 0x2c, 0x36, 0x6b, 0x1e, 0x3e, 0x6b, 0x1f, 0x3e, 0x2a, 0x09, 0x3e, 0xeb, 0x08, 0x6e, 0xb2, 0x0c, 0x1d, 0x47, 0x09,
|
||||
0xff, 0xff, 0x7e, 0xf7, 0xfe, 0x7a, 0x76, 0xb1, 0x0d, 0x2d, 0xcb, 0x0b, 0x35, 0xeb, 0x14, 0x36, 0x4b, 0x78, 0x36, 0x2b, 0x7a, 0x36, 0x0a, 0x39,
|
||||
0x3e, 0xcc, 0xff, 0x36, 0x2b, 0xf8, 0x36, 0x2b, 0xfb, 0x3e, 0x4b, 0xfb, 0x76, 0xf1, 0xff, 0x2e, 0x2a, 0xf5, 0x36, 0x4b, 0x9f, 0x2d, 0xa9, 0x11,
|
||||
0x36, 0x6b, 0x63, 0x36, 0x6b, 0x8c, 0x36, 0x2b, 0x8e, 0x36, 0x2b, 0x8f, 0x36, 0x2a, 0x8e, 0x2e, 0x0a, 0x8a, 0x36, 0x2b, 0x8d, 0x36, 0x4b, 0x8d,
|
||||
0x36, 0x6b, 0x80, 0x36, 0x4b, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_6[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x18, 0x04, 0x02, 0x03, 0x01, 0x05, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0x07, 0x07, 0x00,
|
||||
0x01, 0x08, 0x01, 0x00, 0x01, 0x09, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x03, 0x0d, 0x0a, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x0c, 0x01, 0x0f,
|
||||
0x05, 0x0c, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x00, 0x01, 0x13, 0x05, 0x00, 0x01, 0x14, 0x01, 0x00, 0x01, 0x15, 0x01, 0x16,
|
||||
0x01, 0x17, 0x01, 0x18, 0x03, 0x19, 0x01, 0x18, 0x0a, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x09, 0x1a, 0x01, 0x1d, 0x01, 0x17, 0x01, 0x1e, 0x01, 0x14,
|
||||
0x01, 0x07, 0x01, 0x13, 0x03, 0x00, 0x01, 0x01, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x01, 0x26,
|
||||
0x01, 0x27, 0x01, 0x05, 0x01, 0x28, 0x05, 0x1f, 0x01, 0x29, 0x01, 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x05, 0x1f,
|
||||
0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x35, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x00, 0x01, 0x36, 0x01, 0x17,
|
||||
0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3a, 0x01, 0x39, 0x01, 0x3c, 0x08, 0x00, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f,
|
||||
0x0b, 0x00, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x01, 0x01, 0x00, 0x01, 0x07, 0x02, 0x00, 0x01, 0x0f, 0x01, 0x18, 0x01, 0x43, 0x01, 0x41,
|
||||
0x01, 0x44, 0x01, 0x1a, 0x01, 0x1d, 0x01, 0x1a, 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x01, 0x01, 0x47, 0x02, 0x01, 0x01, 0x48, 0x01, 0x00,
|
||||
0x01, 0x49, 0x01, 0x4a, 0x01, 0x4b, 0x01, 0x48, 0x01, 0x4c, 0x01, 0x14, 0x07, 0x01, 0x01, 0x4d, 0x01, 0x05, 0x01, 0x4e, 0x01, 0x1d, 0x01, 0x31,
|
||||
0x01, 0x00, 0x01, 0x4f, 0x03, 0x00, 0x01, 0x50, 0x01, 0x18, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x18, 0x01, 0x54, 0x01, 0x18, 0x01, 0x53,
|
||||
0x01, 0x55, 0x01, 0x56, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x3f, 0x01, 0x00, 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5a, 0x0a, 0x00,
|
||||
0x01, 0x02, 0x01, 0x00, 0x01, 0x5b, 0x01, 0x5c, 0x01, 0x29, 0x01, 0x5d, 0x01, 0x5e, 0x01, 0x5f, 0x02, 0x00, 0x01, 0x50, 0x01, 0x18, 0x01, 0x60,
|
||||
0x01, 0x61, 0x01, 0x1a, 0x01, 0x54, 0x01, 0x62, 0x01, 0x54, 0x01, 0x1a, 0x01, 0x63, 0x01, 0x64, 0x01, 0x00, 0x01, 0x01, 0x02, 0x3f, 0x01, 0x65,
|
||||
0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x6b, 0x01, 0x6c, 0x01, 0x00, 0x01, 0x3f, 0x05, 0x00, 0x01, 0x02, 0x01, 0x00,
|
||||
0x01, 0x5b, 0x01, 0x1a, 0x01, 0x6d, 0x01, 0x41, 0x01, 0x34, 0x01, 0x6e, 0x02, 0x00, 0x01, 0x50, 0x01, 0x18, 0x01, 0x60, 0x01, 0x61, 0x01, 0x1a,
|
||||
0x01, 0x54, 0x01, 0x62, 0x01, 0x54, 0x01, 0x1a, 0x01, 0x63, 0x01, 0x64, 0x01, 0x00, 0x01, 0x14, 0x02, 0x00, 0x01, 0x6f, 0x01, 0x67, 0x01, 0x70,
|
||||
0x03, 0x67, 0x01, 0x71, 0x01, 0x72, 0x01, 0x3f, 0x01, 0x73, 0x05, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x5b, 0x01, 0x1a, 0x01, 0x6d, 0x01, 0x74,
|
||||
0x01, 0x75, 0x01, 0x50, 0x02, 0x00, 0x01, 0x50, 0x01, 0x18, 0x01, 0x60, 0x01, 0x61, 0x01, 0x1a, 0x01, 0x54, 0x01, 0x62, 0x01, 0x54, 0x01, 0x1a,
|
||||
0x01, 0x63, 0x01, 0x64, 0x01, 0x00, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x03, 0x67, 0x01, 0x70, 0x01, 0x67, 0x01, 0x79, 0x02, 0x00, 0x01, 0x73,
|
||||
0x06, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x5b, 0x01, 0x1a, 0x01, 0x6d, 0x01, 0x74, 0x01, 0x7a, 0x01, 0x50, 0x02, 0x00, 0x01, 0x50, 0x01, 0x18,
|
||||
0x01, 0x60, 0x01, 0x61, 0x01, 0x1a, 0x01, 0x54, 0x01, 0x62, 0x01, 0x54, 0x01, 0x1a, 0x01, 0x63, 0x01, 0x64, 0x02, 0x00, 0x01, 0x7b, 0x01, 0x7c,
|
||||
0x01, 0x7d, 0x01, 0x7e, 0x01, 0x7f, 0x01, 0x67, 0x01, 0x3e, 0x01, 0x80, 0x01, 0x73, 0x01, 0x3f, 0x07, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x5b,
|
||||
0x01, 0x1a, 0x01, 0x81, 0x01, 0x41, 0x01, 0x34, 0x01, 0x6e, 0x02, 0x00, 0x01, 0x50, 0x01, 0x18, 0x01, 0x51, 0x01, 0x3b, 0x01, 0x53, 0x01, 0x18,
|
||||
0x01, 0x54, 0x01, 0x18, 0x01, 0x53, 0x01, 0x55, 0x01, 0x56, 0x01, 0x00, 0x01, 0x01, 0x03, 0x00, 0x01, 0x82, 0x01, 0x67, 0x01, 0x83, 0x01, 0x84,
|
||||
0x01, 0x00, 0x01, 0x76, 0x08, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x5b, 0x01, 0x5c, 0x01, 0x30, 0x01, 0x85, 0x01, 0x86, 0x01, 0x87, 0x02, 0x00,
|
||||
0x01, 0x0f, 0x01, 0x18, 0x01, 0x88, 0x01, 0x89, 0x01, 0x44, 0x03, 0x1a, 0x01, 0x44, 0x01, 0x8a, 0x01, 0x8b, 0x01, 0x01, 0x01, 0x47, 0x01, 0x14,
|
||||
0x01, 0x8c, 0x01, 0x73, 0x01, 0x8d, 0x01, 0x8e, 0x01, 0x8f, 0x01, 0x00, 0x01, 0x90, 0x01, 0x13, 0x08, 0x01, 0x01, 0x4d, 0x01, 0x05, 0x01, 0x91,
|
||||
0x01, 0x1d, 0x01, 0x92, 0x01, 0x00, 0x01, 0x92, 0x03, 0x00, 0x01, 0x93, 0x01, 0x17, 0x01, 0x94, 0x01, 0x36, 0x01, 0x95, 0x01, 0x96, 0x01, 0x89,
|
||||
0x01, 0x96, 0x01, 0x97, 0x01, 0x98, 0x05, 0x00, 0x01, 0x99, 0x01, 0x9a, 0x01, 0x9b, 0x01, 0x00, 0x01, 0x73, 0x0c, 0x00, 0x01, 0x9c, 0x01, 0x9d,
|
||||
0x01, 0x04, 0x01, 0x13, 0x01, 0x00, 0x01, 0x9e, 0x01, 0x00, 0x01, 0x01, 0x01, 0x31, 0x01, 0x9f, 0x01, 0xa0, 0x01, 0xa1, 0x01, 0x23, 0x01, 0x24,
|
||||
0x01, 0xa2, 0x01, 0xa3, 0x01, 0x27, 0x01, 0x00, 0x02, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0xa8, 0x01, 0xa9, 0x01, 0x00, 0x01, 0xaa,
|
||||
0x01, 0xa5, 0x09, 0xa4, 0x01, 0xab, 0x01, 0xac, 0x01, 0xad, 0x01, 0x34, 0x01, 0xae, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x14,
|
||||
0x01, 0x00, 0x01, 0xaf, 0x01, 0x9f, 0x01, 0xb0, 0x01, 0xb1, 0x03, 0x45, 0x01, 0x8a, 0x01, 0x18, 0x04, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0xb5,
|
||||
0x01, 0x18, 0x0c, 0xb2, 0x01, 0x1a, 0x01, 0x17, 0x01, 0xb6, 0x01, 0x02, 0x01, 0x07, 0x01, 0x13, 0x04, 0x00, 0x01, 0x07, 0x01, 0x00, 0x01, 0xb7,
|
||||
0x01, 0xb8, 0x01, 0xb9, 0x01, 0xba, 0x03, 0xbb, 0x05, 0xbc, 0x01, 0xba, 0x01, 0xbd, 0x01, 0xbb, 0x01, 0xba, 0x0a, 0xbc, 0x01, 0xbe, 0x01, 0xbf,
|
||||
0x01, 0xc0, 0x01, 0xc1, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0x9e, 0x09, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x17, 0x04, 0x01, 0x42,
|
||||
0x01, 0x03, 0x01, 0x05, 0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_7[] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0xe0, 0x01, 0x3d, 0xe7, 0x04, 0x3f, 0xef, 0x04, 0x36, 0x6c, 0x05, 0x55, 0x4a, 0x03, 0x07, 0xef, 0x02, 0x03, 0xef, 0x02,
|
||||
0x03, 0xe0, 0x02, 0x25, 0x89, 0x0d, 0x36, 0x6b, 0x5b, 0x36, 0x6b, 0x83, 0x36, 0x2b, 0x85, 0x36, 0x2b, 0x86, 0x2e, 0x2a, 0x83, 0x36, 0x2b, 0x84,
|
||||
0x36, 0x4b, 0x84, 0x36, 0x6b, 0x78, 0x36, 0x4b, 0x36, 0x00, 0x00, 0x01, 0x7f, 0xef, 0x02, 0x35, 0xeb, 0x34, 0x36, 0x6b, 0xe3, 0x3e, 0xec, 0xff,
|
||||
0x36, 0x2b, 0xfd, 0x36, 0x2b, 0xfc, 0x36, 0x4b, 0xff, 0x36, 0x2a, 0xfa, 0x46, 0x8d, 0xff, 0x36, 0x6b, 0xff, 0x36, 0x2b, 0x98, 0x3e, 0x2c, 0x0d,
|
||||
0x36, 0x6b, 0xe5, 0x36, 0x8b, 0xe4, 0x36, 0x0a, 0x32, 0x2e, 0x2a, 0x1b, 0x36, 0x6b, 0x20, 0x36, 0x6b, 0x1e, 0x36, 0x2b, 0x1f, 0x36, 0x6b, 0x1f,
|
||||
0x36, 0x0a, 0x19, 0x66, 0xaf, 0x12, 0x03, 0x20, 0x05, 0xef, 0xdd, 0x70, 0xef, 0xde, 0x45, 0x26, 0x29, 0x0d, 0x56, 0x6e, 0x0f, 0x36, 0x4b, 0x0e,
|
||||
0x36, 0x6a, 0x0f, 0x36, 0x0b, 0x19, 0x36, 0x4b, 0x80, 0x3f, 0x0c, 0xff, 0x36, 0x2b, 0x75, 0x36, 0x2b, 0x5b, 0x35, 0xca, 0x2d, 0x36, 0x4b, 0x54,
|
||||
0x36, 0x8b, 0xe1, 0x36, 0x2b, 0xe7, 0x36, 0x2b, 0xe9, 0x3e, 0x4b, 0x70, 0xff, 0xff, 0x4e, 0xff, 0xff, 0xd2, 0xff, 0xff, 0x02, 0x36, 0x4b, 0xb7,
|
||||
0x36, 0x2b, 0xed, 0x3d, 0xef, 0x04, 0x36, 0x6c, 0x15, 0x36, 0x8b, 0xff, 0x3e, 0xac, 0xff, 0x2e, 0x09, 0xed, 0xc7, 0x7a, 0x3c, 0xff, 0xff, 0xfc,
|
||||
0xff, 0xff, 0x87, 0xbf, 0xf7, 0x04, 0xe7, 0xff, 0x09, 0x2d, 0x4a, 0x06, 0x36, 0x2b, 0x79, 0x2d, 0xc8, 0x0b, 0x36, 0x2b, 0x83, 0x2e, 0x4b, 0x21,
|
||||
0x36, 0x4b, 0xe8, 0x36, 0x4b, 0xfe, 0x36, 0x2b, 0xfe, 0x2e, 0x2a, 0xfe, 0x46, 0x4c, 0xf2, 0xf7, 0xfe, 0xed, 0xff, 0xff, 0xf7, 0xf7, 0xfe, 0x13,
|
||||
0x36, 0x2b, 0x7c, 0x36, 0x6b, 0xfe, 0x3e, 0x29, 0x0d, 0x36, 0x2b, 0x9b, 0x3e, 0xac, 0xe4, 0x36, 0x2b, 0x3e, 0x36, 0x2b, 0xff, 0x36, 0x2a, 0xff,
|
||||
0xd7, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xff, 0xff, 0x80, 0xff, 0xff, 0x7c, 0xff, 0xff, 0x88, 0xff, 0xff, 0x28, 0x36, 0x2a, 0x24,
|
||||
0x36, 0x2b, 0x8a, 0x2e, 0x2a, 0xff, 0xc7, 0x79, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xb7, 0xff, 0xff, 0x0c, 0xff, 0xff, 0x01, 0x36, 0x2b, 0xe2,
|
||||
0x3e, 0xcc, 0xfd, 0xbf, 0x79, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xb9, 0x3e, 0xcc, 0xfe, 0x56, 0x6e, 0xff, 0xa7, 0x36, 0xff, 0x9f, 0x15, 0xff,
|
||||
0xaf, 0x57, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xff, 0x0f, 0x36, 0x2a, 0x25, 0x36, 0x2b, 0xe8, 0x36, 0x2a, 0xfe, 0x26, 0x09, 0xfe, 0x1d, 0xe8, 0xff,
|
||||
0x6e, 0xb0, 0xfd, 0xff, 0xff, 0xe5, 0xf7, 0xbe, 0x1f, 0xff, 0xff, 0x03, 0x36, 0x2b, 0xa1, 0x3e, 0xcc, 0xe9, 0x36, 0x2b, 0x42, 0x2e, 0x8b, 0x16,
|
||||
0x36, 0x2b, 0xee, 0x3e, 0x6b, 0xff, 0xcf, 0x9a, 0xff, 0xff, 0xff, 0xf4, 0xf7, 0xde, 0x33, 0xff, 0xff, 0x04, 0x36, 0x2b, 0x78, 0x35, 0xca, 0x0f,
|
||||
0x36, 0x4a, 0x5d, 0x36, 0x0a, 0x29, 0x36, 0x8b, 0xe7, 0x36, 0x4b, 0xec, 0x36, 0x2b, 0xef, 0x2e, 0x2a, 0xef, 0x4e, 0x8d, 0xf0, 0xff, 0xff, 0xfa,
|
||||
0xff, 0xff, 0x45, 0x36, 0x2b, 0xb4, 0x07, 0xff, 0x01, 0x36, 0x6b, 0xe9, 0x36, 0x8b, 0xdf, 0x35, 0xea, 0x2c, 0x4e, 0x4d, 0x22, 0x25, 0xe9, 0x1f,
|
||||
0xf7, 0xde, 0x8a, 0xf7, 0xde, 0x79, 0x76, 0xb1, 0x0d, 0x3e, 0xeb, 0x08, 0x3e, 0x2a, 0x09, 0x2d, 0xcb, 0x0b, 0x35, 0xeb, 0x14, 0x36, 0x4b, 0x78,
|
||||
0x36, 0x2b, 0x7a, 0x36, 0x0a, 0x39, 0x3e, 0xcc, 0xff, 0x36, 0x2b, 0xf8, 0x36, 0x2b, 0xf6, 0x3e, 0x4b, 0xf6, 0x6e, 0xf1, 0xff, 0x2e, 0x2a, 0xf5,
|
||||
0x36, 0x2b, 0xfb, 0x36, 0x4b, 0x9f, 0x2d, 0xa9, 0x11, 0x36, 0x6b, 0x63, 0x36, 0x6b, 0x8c, 0x36, 0x2b, 0x8e, 0x36, 0x2b, 0x8f, 0x2e, 0x2a, 0x8b,
|
||||
0x36, 0x2a, 0x8e, 0x36, 0x2b, 0x8d, 0x36, 0x4b, 0x8d, 0x36, 0x6b, 0x80, 0x36, 0x4b, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_7[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x18, 0x04, 0x02, 0x03, 0x01, 0x05, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0x07, 0x07, 0x00,
|
||||
0x01, 0x08, 0x01, 0x00, 0x01, 0x09, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x0a, 0x0d, 0x03, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x0c, 0x01, 0x0f,
|
||||
0x05, 0x0c, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x00, 0x01, 0x13, 0x05, 0x00, 0x01, 0x14, 0x01, 0x00, 0x01, 0x15, 0x01, 0x16,
|
||||
0x01, 0x17, 0x01, 0x18, 0x0a, 0x19, 0x01, 0x18, 0x03, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x09, 0x1a, 0x01, 0x1d, 0x01, 0x17, 0x01, 0x1e, 0x01, 0x14,
|
||||
0x01, 0x07, 0x01, 0x13, 0x03, 0x00, 0x01, 0x01, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x06, 0x26,
|
||||
0x01, 0x25, 0x01, 0x27, 0x01, 0x28, 0x01, 0x06, 0x01, 0x29, 0x01, 0x2a, 0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 0x05, 0x1f, 0x01, 0x2f,
|
||||
0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x00, 0x01, 0x35, 0x01, 0x17, 0x01, 0x36,
|
||||
0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x08, 0x3a, 0x01, 0x39, 0x01, 0x38, 0x01, 0x3b, 0x01, 0x00, 0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x0b, 0x00,
|
||||
0x01, 0x3f, 0x01, 0x40, 0x01, 0x41, 0x01, 0x01, 0x01, 0x00, 0x01, 0x07, 0x02, 0x00, 0x01, 0x0f, 0x01, 0x18, 0x01, 0x42, 0x01, 0x40, 0x01, 0x43,
|
||||
0x0a, 0x1a, 0x01, 0x44, 0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4a, 0x01, 0x14, 0x07, 0x01, 0x01, 0x4b, 0x01, 0x05,
|
||||
0x01, 0x4c, 0x01, 0x1d, 0x01, 0x30, 0x01, 0x00, 0x01, 0x4d, 0x03, 0x00, 0x01, 0x4e, 0x01, 0x18, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x51, 0x01, 0x18,
|
||||
0x09, 0x52, 0x01, 0x53, 0x01, 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x0a, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5a,
|
||||
0x01, 0x5b, 0x01, 0x5c, 0x01, 0x5d, 0x02, 0x00, 0x01, 0x4e, 0x01, 0x18, 0x01, 0x26, 0x01, 0x3a, 0x01, 0x1a, 0x01, 0x52, 0x08, 0x5e, 0x01, 0x5f,
|
||||
0x01, 0x5e, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x00, 0x01, 0x3e, 0x05, 0x00, 0x01, 0x02,
|
||||
0x01, 0x00, 0x01, 0x58, 0x01, 0x1a, 0x01, 0x67, 0x01, 0x40, 0x01, 0x33, 0x01, 0x68, 0x02, 0x00, 0x01, 0x4e, 0x01, 0x18, 0x01, 0x26, 0x01, 0x3a,
|
||||
0x01, 0x1a, 0x01, 0x52, 0x07, 0x5e, 0x01, 0x5f, 0x01, 0x69, 0x01, 0x6a, 0x01, 0x61, 0x01, 0x6b, 0x03, 0x61, 0x01, 0x6c, 0x01, 0x6d, 0x01, 0x3e,
|
||||
0x01, 0x6e, 0x05, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x58, 0x01, 0x1a, 0x01, 0x67, 0x01, 0x6f, 0x01, 0x70, 0x01, 0x4e, 0x02, 0x00, 0x01, 0x4e,
|
||||
0x01, 0x18, 0x01, 0x26, 0x01, 0x3a, 0x01, 0x1a, 0x01, 0x52, 0x08, 0x5e, 0x01, 0x71, 0x03, 0x61, 0x01, 0x72, 0x01, 0x61, 0x01, 0x73, 0x02, 0x00,
|
||||
0x01, 0x6e, 0x06, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x58, 0x01, 0x1a, 0x01, 0x67, 0x01, 0x6f, 0x01, 0x74, 0x01, 0x4e, 0x02, 0x00, 0x01, 0x4e,
|
||||
0x01, 0x18, 0x01, 0x26, 0x01, 0x3a, 0x01, 0x1a, 0x01, 0x52, 0x06, 0x5e, 0x01, 0x69, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x47,
|
||||
0x01, 0x61, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x6e, 0x01, 0x3e, 0x07, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x58, 0x01, 0x1a, 0x01, 0x7b, 0x01, 0x40,
|
||||
0x01, 0x33, 0x01, 0x68, 0x02, 0x00, 0x01, 0x4e, 0x01, 0x18, 0x01, 0x4f, 0x01, 0x7c, 0x01, 0x51, 0x01, 0x18, 0x07, 0x52, 0x01, 0x7d, 0x01, 0x7e,
|
||||
0x01, 0x7f, 0x01, 0x80, 0x01, 0x61, 0x01, 0x81, 0x01, 0x82, 0x01, 0x00, 0x01, 0x83, 0x08, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x58, 0x01, 0x59,
|
||||
0x01, 0x2f, 0x01, 0x84, 0x01, 0x85, 0x01, 0x86, 0x02, 0x00, 0x01, 0x0f, 0x01, 0x18, 0x01, 0x87, 0x01, 0x88, 0x01, 0x43, 0x09, 0x1a, 0x01, 0x89,
|
||||
0x01, 0x69, 0x01, 0x8a, 0x01, 0x8b, 0x01, 0x8c, 0x01, 0x00, 0x01, 0x8d, 0x01, 0x13, 0x08, 0x01, 0x01, 0x4b, 0x01, 0x05, 0x01, 0x8e, 0x01, 0x1d,
|
||||
0x01, 0x8f, 0x01, 0x00, 0x01, 0x8f, 0x03, 0x00, 0x01, 0x90, 0x01, 0x17, 0x01, 0x91, 0x01, 0x35, 0x01, 0x92, 0x01, 0x93, 0x01, 0x88, 0x07, 0x94,
|
||||
0x01, 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, 0x98, 0x01, 0x00, 0x01, 0x6e, 0x0c, 0x00, 0x01, 0x99, 0x01, 0x94, 0x01, 0x04, 0x01, 0x13, 0x01, 0x00,
|
||||
0x01, 0x9a, 0x01, 0x00, 0x01, 0x01, 0x01, 0x30, 0x01, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 0x01, 0x23, 0x01, 0x24, 0x07, 0x26, 0x01, 0x9e, 0x01, 0x9f,
|
||||
0x01, 0xa0, 0x01, 0xa1, 0x01, 0x00, 0x01, 0xa2, 0x01, 0xa3, 0x09, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0x33, 0x01, 0xa8, 0x01, 0x00,
|
||||
0x01, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x14, 0x01, 0x00, 0x01, 0xa9, 0x01, 0x9b, 0x01, 0xaa, 0x01, 0xab, 0x09, 0xac, 0x01, 0xad, 0x01, 0xae,
|
||||
0x01, 0xaf, 0x01, 0x18, 0x0c, 0xb0, 0x01, 0x1a, 0x01, 0x17, 0x01, 0xb1, 0x01, 0x02, 0x01, 0x07, 0x01, 0x13, 0x04, 0x00, 0x01, 0x07, 0x01, 0x00,
|
||||
0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0xb5, 0x09, 0xb6, 0x01, 0xb7, 0x01, 0xb6, 0x01, 0xb5, 0x0a, 0xb8, 0x01, 0xb9, 0x01, 0xba, 0x01, 0xbb,
|
||||
0x01, 0xbc, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0x9a, 0x09, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x17, 0x04, 0x01, 0x41, 0x01, 0x03,
|
||||
0x01, 0x05, 0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_8[] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0xe0, 0x01, 0x3d, 0xe7, 0x04, 0x3f, 0xef, 0x04, 0x36, 0x6c, 0x05, 0x55, 0x4a, 0x03, 0x07, 0xef, 0x02, 0x03, 0xef, 0x02,
|
||||
0x03, 0xe0, 0x02, 0x25, 0x89, 0x0d, 0x36, 0x6b, 0x5b, 0x36, 0x6b, 0x83, 0x36, 0x2b, 0x85, 0x36, 0x2b, 0x86, 0x2e, 0x2a, 0x84, 0x36, 0x2b, 0x84,
|
||||
0x36, 0x4b, 0x84, 0x36, 0x6b, 0x78, 0x36, 0x4b, 0x36, 0x00, 0x00, 0x01, 0x7f, 0xef, 0x02, 0x35, 0xeb, 0x34, 0x36, 0x6b, 0xe3, 0x3e, 0xec, 0xff,
|
||||
0x36, 0x2b, 0xfd, 0x36, 0x2b, 0xfc, 0x36, 0x2a, 0xf9, 0x46, 0x6d, 0xff, 0x36, 0x4b, 0xff, 0x36, 0x6b, 0xff, 0x36, 0x2b, 0x98, 0x3e, 0x2c, 0x0d,
|
||||
0x36, 0x6b, 0xe5, 0x36, 0x8b, 0xe4, 0x36, 0x0a, 0x32, 0x2e, 0x2a, 0x1b, 0x36, 0x6b, 0x20, 0x36, 0x6b, 0x1e, 0x36, 0x2b, 0x1f, 0x36, 0x2a, 0x1f,
|
||||
0x56, 0x8e, 0x21, 0x05, 0xa5, 0x1f, 0xe7, 0xdd, 0x74, 0xcf, 0x7a, 0x54, 0x2e, 0x0a, 0x1e, 0x46, 0xac, 0x20, 0x36, 0x69, 0x0a, 0x3d, 0xeb, 0x08,
|
||||
0x36, 0x4b, 0x0e, 0x36, 0x6a, 0x0f, 0x36, 0x0b, 0x19, 0x36, 0x4b, 0x80, 0x3f, 0x0c, 0xff, 0x36, 0x2b, 0x75, 0x36, 0x2b, 0x5b, 0x35, 0xca, 0x2d,
|
||||
0x36, 0x4b, 0x54, 0x36, 0x8b, 0xe1, 0x36, 0x2b, 0xe7, 0x36, 0x2b, 0xe9, 0x3e, 0x4b, 0xe9, 0x26, 0x09, 0xe9, 0x7e, 0xd2, 0xe9, 0xdf, 0xbc, 0xfd,
|
||||
0x36, 0x2a, 0xec, 0x36, 0x2b, 0xe8, 0x36, 0x4b, 0xe8, 0x36, 0x4b, 0xc0, 0x36, 0x4a, 0x18, 0x36, 0x4b, 0xb7, 0x36, 0x2b, 0xed, 0x3d, 0xef, 0x04,
|
||||
0x36, 0x6c, 0x15, 0x36, 0x8b, 0xff, 0x3e, 0x6b, 0xff, 0x2e, 0x4a, 0xff, 0x56, 0xae, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x36, 0xff, 0x26, 0x29, 0xff,
|
||||
0x3e, 0x6c, 0xff, 0x36, 0x2b, 0x80, 0x36, 0x66, 0x05, 0x2d, 0x4a, 0x06, 0x36, 0x2b, 0x79, 0x2d, 0xc8, 0x0b, 0x36, 0x2b, 0x83, 0x2e, 0x4b, 0x21,
|
||||
0x36, 0x4b, 0xfe, 0x36, 0x2b, 0xfe, 0x2e, 0x2a, 0xfe, 0x46, 0x4c, 0xfe, 0xe7, 0xbd, 0xfe, 0xff, 0xff, 0xfe, 0x46, 0x4c, 0xff, 0x1e, 0x08, 0xfe,
|
||||
0x26, 0x09, 0xfe, 0x2e, 0x2a, 0xfa, 0x3e, 0xac, 0xfc, 0x36, 0x4b, 0x88, 0x36, 0x2b, 0x7c, 0x36, 0x6b, 0xfe, 0x3e, 0x29, 0x0d, 0x36, 0x2b, 0x9b,
|
||||
0x3e, 0xac, 0xe4, 0x36, 0x2b, 0x3e, 0x36, 0x2b, 0xff, 0x36, 0x2a, 0xff, 0xd7, 0xbb, 0xff, 0xef, 0xde, 0xff, 0x9f, 0x15, 0xff, 0x97, 0x15, 0xff,
|
||||
0xa7, 0x36, 0xff, 0x56, 0x8e, 0xfb, 0x36, 0xab, 0xff, 0x36, 0x4b, 0x86, 0x36, 0x2a, 0x24, 0x36, 0x2b, 0x8a, 0x2e, 0x2a, 0xff, 0xc7, 0x79, 0xff,
|
||||
0xc7, 0x7a, 0xff, 0x36, 0x2b, 0xfb, 0x3e, 0xab, 0xff, 0x36, 0x4b, 0x87, 0x36, 0x2b, 0xe2, 0x3e, 0xcc, 0xfd, 0xbf, 0x79, 0xff, 0xcf, 0x9a, 0xff,
|
||||
0x2e, 0x2a, 0xfb, 0x3e, 0xac, 0xff, 0x3e, 0xcc, 0xfe, 0x56, 0x6e, 0xff, 0xaf, 0x57, 0xff, 0xdf, 0xbc, 0xff, 0x3e, 0x4b, 0xff, 0x36, 0x2a, 0x25,
|
||||
0x36, 0x2a, 0xfe, 0x1d, 0xe8, 0xfe, 0x6e, 0xb0, 0xff, 0xef, 0xdd, 0xfe, 0x4e, 0x6d, 0xfe, 0x36, 0x2b, 0xfa, 0x3e, 0xab, 0xfd, 0x36, 0x2b, 0xa1,
|
||||
0x3e, 0xcc, 0xe9, 0x36, 0x2b, 0x42, 0x2e, 0x8b, 0x16, 0x36, 0x2b, 0xee, 0x36, 0x2b, 0x82, 0x36, 0x2b, 0x78, 0x35, 0xca, 0x0f, 0x36, 0x4a, 0x5d,
|
||||
0x36, 0x0a, 0x29, 0x36, 0x8b, 0xe7, 0x36, 0x4b, 0xec, 0x36, 0x2b, 0xef, 0x2e, 0x2a, 0xef, 0x4e, 0x6d, 0xf3, 0x76, 0xd1, 0xef, 0x26, 0x09, 0xef,
|
||||
0x3e, 0x4b, 0xef, 0x36, 0x4b, 0xee, 0x36, 0x4b, 0xc7, 0x36, 0x4b, 0x1c, 0x36, 0x2b, 0xb4, 0x07, 0xff, 0x01, 0x36, 0x6b, 0xe9, 0x36, 0x8b, 0xdf,
|
||||
0x35, 0xea, 0x2c, 0x4e, 0x4d, 0x22, 0x26, 0x29, 0x1f, 0xf7, 0xde, 0x8a, 0xef, 0xde, 0x7e, 0x05, 0xa4, 0x1f, 0x3e, 0x6b, 0x1f, 0x3d, 0x4a, 0x09,
|
||||
0x57, 0xea, 0x03, 0x3e, 0x2a, 0x09, 0x2d, 0xcb, 0x0b, 0x35, 0xeb, 0x14, 0x36, 0x4b, 0x78, 0x36, 0x2b, 0x7a, 0x36, 0x0a, 0x39, 0x3e, 0xcc, 0xff,
|
||||
0x36, 0x2b, 0xf8, 0x36, 0x2b, 0xf6, 0x3e, 0x4b, 0xf6, 0x6e, 0xf1, 0xff, 0x2e, 0x2a, 0xf4, 0x36, 0x4b, 0x9f, 0x2d, 0xa9, 0x11, 0x36, 0x6b, 0x63,
|
||||
0x36, 0x6b, 0x8c, 0x36, 0x2b, 0x8e, 0x36, 0x2b, 0x8f, 0x2e, 0x2a, 0x8b, 0x36, 0x2a, 0x8e, 0x36, 0x2b, 0x8d, 0x36, 0x4b, 0x8d, 0x36, 0x6b, 0x80,
|
||||
0x36, 0x4b, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_8[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x18, 0x04, 0x02, 0x03, 0x01, 0x05, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0x07, 0x07, 0x00,
|
||||
0x01, 0x08, 0x01, 0x00, 0x01, 0x09, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x0e, 0x0d, 0x01, 0x0e, 0x02, 0x0d, 0x05, 0x0c, 0x01, 0x0f, 0x01, 0x10,
|
||||
0x01, 0x11, 0x01, 0x12, 0x01, 0x00, 0x01, 0x13, 0x05, 0x00, 0x01, 0x14, 0x01, 0x00, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x0e, 0x19,
|
||||
0x01, 0x1a, 0x01, 0x1b, 0x02, 0x19, 0x07, 0x1c, 0x01, 0x1d, 0x01, 0x17, 0x01, 0x1e, 0x01, 0x14, 0x01, 0x07, 0x01, 0x13, 0x03, 0x00, 0x01, 0x01,
|
||||
0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01, 0x25, 0x09, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2a,
|
||||
0x01, 0x2b, 0x01, 0x2c, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x30, 0x02, 0x1f, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 0x01, 0x34,
|
||||
0x01, 0x35, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x00, 0x01, 0x36, 0x01, 0x17, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x0a, 0x3b,
|
||||
0x01, 0x3c, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x07, 0x00, 0x01, 0x45, 0x01, 0x46,
|
||||
0x01, 0x47, 0x01, 0x01, 0x01, 0x00, 0x01, 0x07, 0x02, 0x00, 0x01, 0x0f, 0x01, 0x18, 0x01, 0x48, 0x01, 0x46, 0x01, 0x49, 0x0a, 0x1c, 0x01, 0x4a,
|
||||
0x01, 0x4b, 0x01, 0x4c, 0x01, 0x4d, 0x01, 0x4e, 0x01, 0x4f, 0x01, 0x50, 0x01, 0x1c, 0x01, 0x17, 0x01, 0x51, 0x01, 0x01, 0x01, 0x52, 0x03, 0x01,
|
||||
0x01, 0x53, 0x01, 0x05, 0x01, 0x54, 0x01, 0x1d, 0x01, 0x31, 0x01, 0x00, 0x01, 0x55, 0x03, 0x00, 0x01, 0x56, 0x01, 0x18, 0x01, 0x57, 0x01, 0x42,
|
||||
0x01, 0x58, 0x01, 0x18, 0x09, 0x59, 0x01, 0x5a, 0x01, 0x5b, 0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5e, 0x01, 0x5f, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62,
|
||||
0x01, 0x63, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69,
|
||||
0x02, 0x00, 0x01, 0x56, 0x01, 0x18, 0x01, 0x26, 0x01, 0x3b, 0x01, 0x1c, 0x01, 0x59, 0x08, 0x6a, 0x01, 0x6b, 0x01, 0x1c, 0x01, 0x6c, 0x01, 0x4d,
|
||||
0x01, 0x6d, 0x01, 0x6e, 0x01, 0x6f, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00,
|
||||
0x01, 0x64, 0x01, 0x1c, 0x01, 0x74, 0x01, 0x46, 0x01, 0x34, 0x01, 0x75, 0x02, 0x00, 0x01, 0x56, 0x01, 0x18, 0x01, 0x26, 0x01, 0x3b, 0x01, 0x1c,
|
||||
0x01, 0x59, 0x07, 0x6a, 0x01, 0x6b, 0x01, 0x76, 0x01, 0x77, 0x05, 0x4d, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x7b, 0x01, 0x00, 0x01, 0x02,
|
||||
0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x64, 0x01, 0x1c, 0x01, 0x74, 0x01, 0x7c, 0x01, 0x7d, 0x01, 0x56, 0x02, 0x00, 0x01, 0x56, 0x01, 0x18,
|
||||
0x01, 0x26, 0x01, 0x3b, 0x01, 0x1c, 0x01, 0x59, 0x08, 0x6a, 0x01, 0x7e, 0x05, 0x4d, 0x01, 0x7f, 0x01, 0x76, 0x01, 0x80, 0x01, 0x81, 0x01, 0x7b,
|
||||
0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x64, 0x01, 0x1c, 0x01, 0x74, 0x01, 0x7c, 0x01, 0x82, 0x01, 0x56, 0x02, 0x00,
|
||||
0x01, 0x56, 0x01, 0x18, 0x01, 0x26, 0x01, 0x3b, 0x01, 0x1c, 0x01, 0x59, 0x06, 0x6a, 0x01, 0x76, 0x01, 0x83, 0x01, 0x70, 0x01, 0x6e, 0x01, 0x84,
|
||||
0x02, 0x4d, 0x01, 0x85, 0x01, 0x86, 0x01, 0x6b, 0x01, 0x79, 0x01, 0x7a, 0x01, 0x73, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00,
|
||||
0x01, 0x64, 0x01, 0x1c, 0x01, 0x87, 0x01, 0x46, 0x01, 0x34, 0x01, 0x75, 0x02, 0x00, 0x01, 0x56, 0x01, 0x18, 0x01, 0x57, 0x01, 0x41, 0x01, 0x58,
|
||||
0x01, 0x18, 0x07, 0x59, 0x01, 0x88, 0x01, 0x60, 0x01, 0x89, 0x01, 0x8a, 0x01, 0x5d, 0x01, 0x8b, 0x01, 0x8c, 0x01, 0x5a, 0x01, 0x59, 0x01, 0x8d,
|
||||
0x01, 0x8e, 0x01, 0x63, 0x01, 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x02, 0x01, 0x00, 0x01, 0x64, 0x01, 0x65, 0x01, 0x30, 0x01, 0x8f, 0x01, 0x90,
|
||||
0x01, 0x91, 0x02, 0x00, 0x01, 0x0f, 0x01, 0x18, 0x01, 0x92, 0x01, 0x93, 0x01, 0x49, 0x09, 0x1c, 0x01, 0x4a, 0x01, 0x76, 0x01, 0x7f, 0x01, 0x4d,
|
||||
0x01, 0x4c, 0x01, 0x76, 0x01, 0x86, 0x01, 0x1c, 0x01, 0x6a, 0x01, 0x17, 0x01, 0x94, 0x01, 0x01, 0x01, 0x52, 0x03, 0x01, 0x01, 0x53, 0x01, 0x05,
|
||||
0x01, 0x95, 0x01, 0x1d, 0x01, 0x96, 0x01, 0x00, 0x01, 0x96, 0x03, 0x00, 0x01, 0x97, 0x01, 0x17, 0x01, 0x98, 0x01, 0x36, 0x01, 0x99, 0x01, 0x9a,
|
||||
0x01, 0x93, 0x07, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 0x01, 0x4d, 0x01, 0x9e, 0x01, 0x9f, 0x01, 0xa0, 0x01, 0x9b, 0x01, 0x93, 0x01, 0xa1, 0x01, 0xa2,
|
||||
0x01, 0xa3, 0x07, 0x00, 0x01, 0xa4, 0x01, 0x9b, 0x01, 0x04, 0x01, 0x13, 0x01, 0x00, 0x01, 0xa5, 0x01, 0x00, 0x01, 0x01, 0x01, 0x31, 0x01, 0xa6,
|
||||
0x01, 0xa7, 0x01, 0xa8, 0x01, 0x23, 0x01, 0x24, 0x07, 0x26, 0x01, 0xa9, 0x01, 0xaa, 0x01, 0xab, 0x01, 0xac, 0x01, 0xad, 0x01, 0x28, 0x02, 0x26,
|
||||
0x01, 0x25, 0x01, 0xae, 0x01, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 0x01, 0x2f, 0x02, 0xb1, 0x01, 0xb2, 0x01, 0xb3, 0x01, 0xb4, 0x01, 0x34, 0x01, 0xb5,
|
||||
0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x14, 0x01, 0x00, 0x01, 0xb6, 0x01, 0xa6, 0x01, 0xb7, 0x01, 0xb8, 0x09, 0xb9, 0x01, 0xba,
|
||||
0x01, 0xbb, 0x01, 0xbc, 0x06, 0xb9, 0x01, 0x79, 0x01, 0x19, 0x05, 0x79, 0x01, 0x1c, 0x01, 0x17, 0x01, 0xbd, 0x01, 0x02, 0x01, 0x07, 0x01, 0x13,
|
||||
0x04, 0x00, 0x01, 0x07, 0x01, 0x00, 0x01, 0xbe, 0x01, 0xbf, 0x01, 0xc0, 0x01, 0xc1, 0x09, 0xc2, 0x01, 0xc3, 0x07, 0xc2, 0x01, 0xc1, 0x04, 0xc4,
|
||||
0x01, 0xc5, 0x01, 0xc6, 0x01, 0xc7, 0x01, 0xc8, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0xa5, 0x09, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03,
|
||||
0x17, 0x04, 0x01, 0x47, 0x01, 0x03, 0x01, 0x05, 0x07, 0x00,
|
||||
};
|
||||
static const uint8_t battery_palette_9[] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0xe0, 0x01, 0x3d, 0xe7, 0x04, 0x3f, 0xef, 0x04, 0x36, 0x6c, 0x05, 0x55, 0x4a, 0x03, 0x07, 0xef, 0x02, 0x03, 0xef, 0x02,
|
||||
0x03, 0xe0, 0x02, 0x25, 0x89, 0x0d, 0x36, 0x6b, 0x5b, 0x36, 0x6b, 0x83, 0x36, 0x2b, 0x85, 0x36, 0x2b, 0x86, 0x2e, 0x2a, 0x84, 0x36, 0x4b, 0x85,
|
||||
0x36, 0x6b, 0x78, 0x36, 0x4b, 0x36, 0x00, 0x00, 0x01, 0x7f, 0xef, 0x02, 0x35, 0xeb, 0x34, 0x36, 0x6b, 0xe3, 0x3e, 0xec, 0xff, 0x36, 0x2b, 0xfd,
|
||||
0x36, 0x2b, 0xfc, 0x36, 0x2a, 0xf9, 0x46, 0x6d, 0xff, 0x36, 0x2b, 0xfb, 0x36, 0x6b, 0xff, 0x36, 0x4b, 0x97, 0x3e, 0x2c, 0x0d, 0x36, 0x6b, 0xe5,
|
||||
0x36, 0x8b, 0xe4, 0x36, 0x0a, 0x32, 0x2e, 0x2a, 0x1b, 0x36, 0x6b, 0x20, 0x36, 0x6b, 0x1e, 0x36, 0x2b, 0x1f, 0x36, 0x2a, 0x1f, 0x56, 0x8e, 0x21,
|
||||
0x05, 0xa5, 0x1f, 0xe7, 0xdd, 0x74, 0xcf, 0x7a, 0x54, 0x2d, 0xea, 0x1f, 0x46, 0x4c, 0x21, 0x36, 0xab, 0x20, 0x2d, 0xe9, 0x17, 0x36, 0x4b, 0x7c,
|
||||
0x3f, 0x0c, 0xff, 0x36, 0x2b, 0x75, 0x36, 0x2b, 0x5b, 0x35, 0xca, 0x2d, 0x36, 0x4b, 0x54, 0x36, 0x8b, 0xe1, 0x36, 0x2b, 0xe7, 0x36, 0x2b, 0xe9,
|
||||
0x3e, 0x4b, 0xe9, 0x26, 0x09, 0xe9, 0x7e, 0xd2, 0xe9, 0xdf, 0xbc, 0xfd, 0x36, 0x2a, 0xec, 0x36, 0x2b, 0xe8, 0x36, 0x6b, 0xe8, 0x36, 0x6b, 0xbe,
|
||||
0x2d, 0x4a, 0x06, 0x36, 0x4b, 0xb2, 0x36, 0x2b, 0xee, 0x3d, 0xef, 0x04, 0x36, 0x2b, 0x84, 0x36, 0x6c, 0x15, 0x36, 0x2b, 0xed, 0x36, 0x8b, 0xff,
|
||||
0x36, 0x4b, 0xff, 0x3e, 0x6b, 0xff, 0x2e, 0x4a, 0xff, 0x56, 0xae, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x36, 0xff, 0x26, 0x29, 0xff, 0x3e, 0x6c, 0xff,
|
||||
0x36, 0x2b, 0x6d, 0x36, 0x2b, 0x65, 0x36, 0x6a, 0x0f, 0x2d, 0xc8, 0x0b, 0x36, 0x2b, 0x83, 0x2e, 0x4b, 0x21, 0x36, 0x4b, 0xe8, 0x36, 0x4b, 0xfe,
|
||||
0x36, 0x2b, 0xfe, 0x2e, 0x2a, 0xfe, 0x46, 0x4c, 0xfe, 0xe7, 0xbd, 0xfe, 0xff, 0xff, 0xfe, 0x46, 0x4c, 0xff, 0x1e, 0x08, 0xfe, 0x26, 0x09, 0xfe,
|
||||
0x36, 0x2a, 0xfe, 0x36, 0x2b, 0xfa, 0x3e, 0xcc, 0xfc, 0x36, 0x4b, 0x76, 0x36, 0x2b, 0x69, 0x36, 0x6b, 0xfe, 0x3e, 0x29, 0x0d, 0x36, 0x2b, 0x9b,
|
||||
0x3e, 0xac, 0xe4, 0x36, 0x2b, 0x3e, 0x36, 0x2b, 0xff, 0x36, 0x2a, 0xff, 0xd7, 0xbb, 0xff, 0xef, 0xde, 0xff, 0x9f, 0x15, 0xff, 0x97, 0x15, 0xff,
|
||||
0xa7, 0x36, 0xff, 0x56, 0x8e, 0xff, 0x2e, 0x2a, 0xff, 0x3e, 0xcc, 0xff, 0x36, 0x4b, 0x73, 0x36, 0x2b, 0x6a, 0x36, 0x2a, 0x24, 0x36, 0x2b, 0x8a,
|
||||
0xc7, 0x79, 0xff, 0xc7, 0x7a, 0xff, 0x36, 0x4a, 0x74, 0x36, 0x2b, 0xe2, 0x3e, 0xcc, 0xfd, 0xbf, 0x79, 0xff, 0xcf, 0x9a, 0xff, 0x3e, 0xcc, 0xfe,
|
||||
0x56, 0x6e, 0xff, 0xaf, 0x57, 0xff, 0xdf, 0xbc, 0xff, 0x3e, 0x4b, 0xff, 0x36, 0x2a, 0x25, 0x1d, 0xe8, 0xfe, 0x6e, 0xb0, 0xff, 0xef, 0xdd, 0xfe,
|
||||
0x4e, 0x6d, 0xfe, 0x36, 0x2b, 0x76, 0x36, 0x4b, 0x0e, 0x36, 0x2b, 0xa1, 0x3e, 0xcc, 0xe9, 0x36, 0x2b, 0x42, 0x2e, 0x8b, 0x16, 0x36, 0x2b, 0x6e,
|
||||
0x35, 0xca, 0x0f, 0x36, 0x4a, 0x5d, 0x36, 0x0a, 0x29, 0x36, 0x8b, 0xe7, 0x36, 0x4b, 0xec, 0x36, 0x2b, 0xef, 0x2e, 0x2a, 0xef, 0x4e, 0x6d, 0xf3,
|
||||
0x76, 0xd1, 0xef, 0x26, 0x09, 0xef, 0x3e, 0x4b, 0xef, 0x36, 0x4b, 0xee, 0x36, 0x6b, 0xc5, 0x3d, 0xeb, 0x08, 0x36, 0x2b, 0xae, 0x36, 0x2b, 0xf0,
|
||||
0x07, 0xff, 0x01, 0x36, 0x6b, 0xe9, 0x36, 0x8b, 0xdf, 0x35, 0xea, 0x2c, 0x4e, 0x4d, 0x22, 0x26, 0x29, 0x1f, 0xf7, 0xde, 0x8a, 0xef, 0xde, 0x7e,
|
||||
0x05, 0xa4, 0x1f, 0x36, 0x8b, 0x21, 0x35, 0xeb, 0x14, 0x36, 0x4b, 0x74, 0x36, 0x2a, 0x7a, 0x36, 0x0a, 0x39, 0x36, 0x2b, 0xf8, 0x36, 0x2b, 0xf6,
|
||||
0x3e, 0x4b, 0xf6, 0x6e, 0xf1, 0xff, 0x2e, 0x2a, 0xf4, 0x36, 0x2b, 0xf5, 0x36, 0x4b, 0x9e, 0x2d, 0xa9, 0x11, 0x36, 0x6b, 0x63, 0x36, 0x6b, 0x8c,
|
||||
0x36, 0x2b, 0x8e, 0x36, 0x2b, 0x8f, 0x2e, 0x2a, 0x8b, 0x36, 0x4b, 0x8e, 0x36, 0x6b, 0x81, 0x36, 0x4b, 0x3d,
|
||||
};
|
||||
static const uint8_t battery_runs_9[] = {
|
||||
0x03, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x18, 0x04, 0x02, 0x03, 0x01, 0x05, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0x07, 0x07, 0x00,
|
||||
0x01, 0x08, 0x01, 0x00, 0x01, 0x09, 0x01, 0x0a, 0x01, 0x0b, 0x01, 0x0c, 0x0e, 0x0d, 0x01, 0x0e, 0x07, 0x0d, 0x01, 0x0c, 0x01, 0x0f, 0x01, 0x10,
|
||||
0x01, 0x11, 0x01, 0x00, 0x01, 0x12, 0x05, 0x00, 0x01, 0x13, 0x01, 0x00, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x0e, 0x18, 0x01, 0x19,
|
||||
0x01, 0x1a, 0x08, 0x18, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x16, 0x01, 0x1d, 0x01, 0x13, 0x01, 0x07, 0x01, 0x12, 0x03, 0x00, 0x01, 0x01, 0x01, 0x1e,
|
||||
0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x09, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2a,
|
||||
0x01, 0x2b, 0x01, 0x2c, 0x06, 0x25, 0x01, 0x2d, 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x30, 0x01, 0x31, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x03, 0x00,
|
||||
0x01, 0x32, 0x01, 0x16, 0x01, 0x33, 0x01, 0x34, 0x01, 0x35, 0x01, 0x36, 0x0a, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3a, 0x01, 0x3b, 0x01, 0x3c,
|
||||
0x07, 0x37, 0x01, 0x3d, 0x01, 0x3e, 0x01, 0x3f, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x01, 0x01, 0x00, 0x01, 0x07, 0x02, 0x00,
|
||||
0x01, 0x44, 0x01, 0x17, 0x01, 0x45, 0x01, 0x46, 0x01, 0x47, 0x0a, 0x48, 0x01, 0x49, 0x01, 0x4a, 0x01, 0x4b, 0x01, 0x4c, 0x01, 0x4d, 0x01, 0x4e,
|
||||
0x01, 0x4f, 0x01, 0x1c, 0x07, 0x48, 0x01, 0x30, 0x01, 0x50, 0x01, 0x51, 0x01, 0x47, 0x01, 0x52, 0x01, 0x00, 0x01, 0x53, 0x03, 0x00, 0x01, 0x54,
|
||||
0x01, 0x17, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x17, 0x09, 0x58, 0x01, 0x59, 0x01, 0x5a, 0x01, 0x5b, 0x01, 0x5c, 0x01, 0x5d, 0x01, 0x5e,
|
||||
0x01, 0x5f, 0x01, 0x60, 0x06, 0x58, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69,
|
||||
0x02, 0x00, 0x01, 0x54, 0x01, 0x17, 0x01, 0x25, 0x01, 0x37, 0x01, 0x48, 0x01, 0x58, 0x08, 0x6a, 0x01, 0x6b, 0x01, 0x48, 0x01, 0x6c, 0x01, 0x4c,
|
||||
0x01, 0x6d, 0x01, 0x6e, 0x01, 0x6f, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 0x05, 0x6a, 0x01, 0x1b, 0x01, 0x73, 0x01, 0x74, 0x01, 0x75, 0x01, 0x48,
|
||||
0x01, 0x76, 0x01, 0x46, 0x01, 0x30, 0x01, 0x77, 0x02, 0x00, 0x01, 0x54, 0x01, 0x17, 0x01, 0x25, 0x01, 0x37, 0x01, 0x48, 0x01, 0x58, 0x07, 0x6a,
|
||||
0x01, 0x6b, 0x01, 0x72, 0x01, 0x78, 0x05, 0x4c, 0x01, 0x79, 0x07, 0x6a, 0x01, 0x1b, 0x01, 0x73, 0x01, 0x7a, 0x01, 0x75, 0x01, 0x48, 0x01, 0x76,
|
||||
0x01, 0x7b, 0x01, 0x7c, 0x01, 0x54, 0x02, 0x00, 0x01, 0x54, 0x01, 0x17, 0x01, 0x25, 0x01, 0x37, 0x01, 0x48, 0x01, 0x58, 0x08, 0x6a, 0x01, 0x7d,
|
||||
0x05, 0x4c, 0x01, 0x7e, 0x01, 0x72, 0x01, 0x6b, 0x06, 0x6a, 0x01, 0x1b, 0x01, 0x73, 0x01, 0x7a, 0x01, 0x75, 0x01, 0x48, 0x01, 0x76, 0x01, 0x7b,
|
||||
0x01, 0x7f, 0x01, 0x54, 0x02, 0x00, 0x01, 0x54, 0x01, 0x17, 0x01, 0x25, 0x01, 0x37, 0x01, 0x48, 0x01, 0x58, 0x06, 0x6a, 0x01, 0x72, 0x01, 0x80,
|
||||
0x01, 0x70, 0x01, 0x6e, 0x01, 0x81, 0x02, 0x4c, 0x01, 0x82, 0x01, 0x83, 0x01, 0x6b, 0x01, 0x48, 0x06, 0x6a, 0x01, 0x1b, 0x01, 0x73, 0x01, 0x74,
|
||||
0x01, 0x75, 0x01, 0x48, 0x01, 0x84, 0x01, 0x46, 0x01, 0x30, 0x01, 0x77, 0x02, 0x00, 0x01, 0x54, 0x01, 0x17, 0x01, 0x55, 0x01, 0x3d, 0x01, 0x57,
|
||||
0x01, 0x17, 0x07, 0x58, 0x01, 0x60, 0x01, 0x5f, 0x01, 0x85, 0x01, 0x86, 0x01, 0x5c, 0x01, 0x87, 0x01, 0x88, 0x01, 0x59, 0x08, 0x58, 0x01, 0x61,
|
||||
0x01, 0x7c, 0x01, 0x89, 0x01, 0x64, 0x01, 0x65, 0x01, 0x8a, 0x01, 0x8b, 0x01, 0x8c, 0x01, 0x8d, 0x02, 0x00, 0x01, 0x44, 0x01, 0x17, 0x01, 0x8e,
|
||||
0x01, 0x42, 0x01, 0x47, 0x09, 0x48, 0x01, 0x49, 0x01, 0x72, 0x01, 0x7e, 0x01, 0x4c, 0x01, 0x4b, 0x01, 0x72, 0x01, 0x83, 0x08, 0x48, 0x01, 0x6a,
|
||||
0x01, 0x30, 0x01, 0x8f, 0x01, 0x51, 0x01, 0x47, 0x01, 0x90, 0x01, 0x00, 0x01, 0x90, 0x03, 0x00, 0x01, 0x91, 0x01, 0x16, 0x01, 0x92, 0x01, 0x32,
|
||||
0x01, 0x93, 0x01, 0x94, 0x01, 0x42, 0x07, 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, 0x4c, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9a, 0x08, 0x95, 0x01, 0x42,
|
||||
0x01, 0x9b, 0x01, 0x9c, 0x01, 0x9d, 0x01, 0x9e, 0x01, 0x9f, 0x01, 0x04, 0x01, 0x12, 0x01, 0x00, 0x01, 0xa0, 0x01, 0x00, 0x01, 0x01, 0x01, 0x52,
|
||||
0x01, 0xa1, 0x01, 0xa2, 0x01, 0xa3, 0x01, 0x22, 0x01, 0x23, 0x07, 0x25, 0x01, 0xa4, 0x01, 0xa5, 0x01, 0xa6, 0x01, 0xa7, 0x01, 0xa8, 0x01, 0x27,
|
||||
0x0a, 0x25, 0x01, 0xa9, 0x01, 0xaa, 0x01, 0xab, 0x01, 0x30, 0x01, 0xac, 0x01, 0x00, 0x01, 0x02, 0x01, 0x01, 0x02, 0x00, 0x01, 0x13, 0x01, 0x00,
|
||||
0x01, 0xad, 0x01, 0xa1, 0x01, 0x73, 0x01, 0xae, 0x09, 0xaf, 0x01, 0xb0, 0x01, 0xb1, 0x01, 0xb2, 0x0c, 0xaf, 0x01, 0xb3, 0x01, 0x48, 0x01, 0x16,
|
||||
0x01, 0xb4, 0x01, 0x02, 0x01, 0x07, 0x01, 0x12, 0x04, 0x00, 0x01, 0x07, 0x01, 0x00, 0x01, 0xb5, 0x01, 0xb6, 0x01, 0xb7, 0x01, 0xb8, 0x09, 0xb9,
|
||||
0x01, 0xba, 0x0d, 0xb9, 0x01, 0xbb, 0x01, 0xbc, 0x01, 0xbd, 0x09, 0x00, 0x01, 0x06, 0x1e, 0x00, 0x01, 0xa0, 0x09, 0x00, 0x01, 0x01, 0x01, 0x02,
|
||||
0x02, 0x03, 0x17, 0x04, 0x01, 0x43, 0x01, 0x03, 0x01, 0x05, 0x07, 0x00,
|
||||
};
|
||||
const lcd_status_icon_t lcd_status_battery_icons[10] = {
|
||||
{battery_palette_0, battery_runs_0, sizeof(battery_runs_0)},
|
||||
{battery_palette_1, battery_runs_1, sizeof(battery_runs_1)},
|
||||
{battery_palette_2, battery_runs_2, sizeof(battery_runs_2)},
|
||||
{battery_palette_3, battery_runs_3, sizeof(battery_runs_3)},
|
||||
{battery_palette_4, battery_runs_4, sizeof(battery_runs_4)},
|
||||
{battery_palette_5, battery_runs_5, sizeof(battery_runs_5)},
|
||||
{battery_palette_6, battery_runs_6, sizeof(battery_runs_6)},
|
||||
{battery_palette_7, battery_runs_7, sizeof(battery_runs_7)},
|
||||
{battery_palette_8, battery_runs_8, sizeof(battery_runs_8)},
|
||||
{battery_palette_9, battery_runs_9, sizeof(battery_runs_9)},
|
||||
};
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "lcd_direct.h"
|
||||
#include "lcd_direct_assets.h"
|
||||
#include "platform_asset_bundle.h"
|
||||
#include "lcd_status_assets.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
@@ -87,17 +88,16 @@
|
||||
#define LCD_DIRECT_BACKLIGHT_PWM_TIMER LEDC_TIMER_0
|
||||
#define LCD_DIRECT_BACKLIGHT_PWM_CHANNEL LEDC_CHANNEL_0
|
||||
#define LCD_DIRECT_BACKLIGHT_LOCK_TIMEOUT_MS 100U
|
||||
/* 5x7 点阵放大4倍,24像素步进为字形留出间隔;颜色为 RGB565 白字黑描边。 */
|
||||
/* Montserrat 14 子集直接合成,无 label 字形缓存或新增动态缓冲。 */
|
||||
#define LCD_DIRECT_CLOCK_X 12U
|
||||
#define LCD_DIRECT_CLOCK_Y 10U
|
||||
#define LCD_DIRECT_CLOCK_GLYPH_WIDTH 5U
|
||||
#define LCD_DIRECT_CLOCK_GLYPH_HEIGHT 7U
|
||||
#define LCD_DIRECT_CLOCK_GLYPH_SCALE 4U
|
||||
#define LCD_DIRECT_CLOCK_GLYPH_ADVANCE 24U
|
||||
#define LCD_DIRECT_CLOCK_Y 14U
|
||||
#define LCD_DIRECT_CLOCK_TEXT_LENGTH 5U
|
||||
#define LCD_DIRECT_CLOCK_OUTLINE_PX 1
|
||||
#define LCD_DIRECT_CLOCK_COLOR 0xFFFFU
|
||||
#define LCD_DIRECT_CLOCK_OUTLINE_COLOR 0x0000U
|
||||
#define LCD_DIRECT_CLOCK_COLOR 0xFFFFU
|
||||
#define LCD_DIRECT_BATTERY_WIDTH 40U
|
||||
#define LCD_DIRECT_BATTERY_HEIGHT 20U
|
||||
#define LCD_DIRECT_BATTERY_X (LCD_DIRECT_WIDTH - LCD_DIRECT_BATTERY_WIDTH - 8U)
|
||||
#define LCD_DIRECT_BATTERY_Y 12U
|
||||
|
||||
#if CONFIG_TQ_LCD_EMOTE_GFX_TEST
|
||||
#define LCD_DIRECT_HUD_ROWS 40U
|
||||
@@ -202,21 +202,6 @@ static const lcd_direct_init_cmd_t s_st7789_init_cmds[] = {
|
||||
{0, {0}, 0xFF},
|
||||
};
|
||||
|
||||
/* Five-bit rows, most-significant displayed column first. Kept in flash. */
|
||||
static const uint8_t s_clock_glyph_rows[][LCD_DIRECT_CLOCK_GLYPH_HEIGHT] = {
|
||||
{0x0E, 0x11, 0x13, 0x15, 0x19, 0x11, 0x0E}, /* 0 */
|
||||
{0x04, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x0E}, /* 1 */
|
||||
{0x0E, 0x11, 0x01, 0x02, 0x04, 0x08, 0x1F}, /* 2 */
|
||||
{0x1E, 0x01, 0x01, 0x0E, 0x01, 0x01, 0x1E}, /* 3 */
|
||||
{0x02, 0x06, 0x0A, 0x12, 0x1F, 0x02, 0x02}, /* 4 */
|
||||
{0x1F, 0x10, 0x10, 0x1E, 0x01, 0x01, 0x1E}, /* 5 */
|
||||
{0x0E, 0x10, 0x10, 0x1E, 0x11, 0x11, 0x0E}, /* 6 */
|
||||
{0x1F, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08}, /* 7 */
|
||||
{0x0E, 0x11, 0x11, 0x0E, 0x11, 0x11, 0x0E}, /* 8 */
|
||||
{0x0E, 0x11, 0x11, 0x0F, 0x01, 0x01, 0x0E}, /* 9 */
|
||||
{0x00, 0x04, 0x04, 0x00, 0x04, 0x04, 0x00}, /* : */
|
||||
{0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00}, /* - */
|
||||
};
|
||||
|
||||
static esp_lcd_panel_io_handle_t s_panel_io;
|
||||
static esp_lcd_panel_handle_t s_panel;
|
||||
@@ -646,7 +631,7 @@ static bool lcd_direct_should_stop_idle(void)
|
||||
return stop;
|
||||
}
|
||||
|
||||
/* 调用方持有 GFX 锁;字形复用 PNG 路径,无字体包和额外 PNG 解码。 */
|
||||
/* 调用方持有 GFX 锁;两种后端共用 Montserrat 子集和电池资产,无动态解码缓存。 */
|
||||
static esp_err_t lcd_direct_emote_update_hud(bool force, bool *changed)
|
||||
{
|
||||
if (changed != NULL) {
|
||||
@@ -1745,7 +1730,7 @@ static size_t lcd_direct_append_status_icons(const lcd_direct_image_t *image,
|
||||
.y = LCD_DIRECT_LOW_BATTERY_ICON_Y,
|
||||
};
|
||||
}
|
||||
/* 充电状态改由右上角程序绘制的电池图标表示,避免和百分比重叠。 */
|
||||
/* 充电状态由右上角新电池素材表示;保留底部低电量提醒。 */
|
||||
return icon_count;
|
||||
}
|
||||
|
||||
@@ -1837,131 +1822,92 @@ static void lcd_direct_clock_text(char text[LCD_DIRECT_CLOCK_TEXT_LENGTH + 1U])
|
||||
text[5] = '\0';
|
||||
}
|
||||
|
||||
static void lcd_direct_draw_clock_pass(uint16_t *pixel_buffer,
|
||||
uint16_t row_start,
|
||||
uint16_t row_count,
|
||||
const char text[LCD_DIRECT_CLOCK_TEXT_LENGTH + 1U],
|
||||
int x_offset,
|
||||
int y_offset,
|
||||
uint16_t color)
|
||||
/* 输入/输出沿用 PNG 行缓冲字节序;GFX HUD 在提交前统一转换。 */
|
||||
static void lcd_direct_hud_blend_pixel(uint16_t *pixels, uint16_t row_start,
|
||||
uint16_t rows, int x, int y,
|
||||
uint16_t color, uint8_t alpha)
|
||||
{
|
||||
const int row_end = (int)row_start + (int)row_count;
|
||||
for (size_t character_index = 0; character_index < LCD_DIRECT_CLOCK_TEXT_LENGTH;
|
||||
++character_index) {
|
||||
const uint8_t *glyph =
|
||||
s_clock_glyph_rows[lcd_direct_clock_glyph_index(text[character_index])];
|
||||
const int glyph_x = (int)LCD_DIRECT_CLOCK_X +
|
||||
(int)(character_index * LCD_DIRECT_CLOCK_GLYPH_ADVANCE) +
|
||||
x_offset;
|
||||
const int glyph_y = (int)LCD_DIRECT_CLOCK_Y + y_offset;
|
||||
|
||||
for (uint16_t source_y = 0; source_y < LCD_DIRECT_CLOCK_GLYPH_HEIGHT; ++source_y) {
|
||||
for (uint16_t scale_y = 0; scale_y < LCD_DIRECT_CLOCK_GLYPH_SCALE; ++scale_y) {
|
||||
const int destination_y = glyph_y +
|
||||
(int)(source_y * LCD_DIRECT_CLOCK_GLYPH_SCALE + scale_y);
|
||||
if (destination_y < (int)row_start || destination_y >= row_end) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (uint16_t source_x = 0; source_x < LCD_DIRECT_CLOCK_GLYPH_WIDTH;
|
||||
++source_x) {
|
||||
if ((glyph[source_y] &
|
||||
(1U << (LCD_DIRECT_CLOCK_GLYPH_WIDTH - 1U - source_x))) == 0U) {
|
||||
continue;
|
||||
}
|
||||
for (uint16_t scale_x = 0; scale_x < LCD_DIRECT_CLOCK_GLYPH_SCALE;
|
||||
++scale_x) {
|
||||
const int destination_x = glyph_x +
|
||||
(int)(source_x * LCD_DIRECT_CLOCK_GLYPH_SCALE + scale_x);
|
||||
if (destination_x < 0 || destination_x >= (int)LCD_DIRECT_WIDTH) {
|
||||
continue;
|
||||
}
|
||||
const uint32_t destination_index =
|
||||
(uint32_t)(destination_y - (int)row_start) * LCD_DIRECT_WIDTH +
|
||||
(uint32_t)destination_x;
|
||||
pixel_buffer[destination_index] = lcd_direct_swap_color(color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void lcd_direct_overlay_clock(uint16_t *pixel_buffer,
|
||||
uint16_t row_start,
|
||||
uint16_t row_count,
|
||||
const char text[LCD_DIRECT_CLOCK_TEXT_LENGTH + 1U])
|
||||
{
|
||||
/* 时钟作为最终覆盖层绘制,保证 presentation 与状态图标不会遮住时间。 */
|
||||
if (pixel_buffer == NULL || text == NULL) {
|
||||
if (pixels == NULL || alpha == 0 || x < 0 || x >= (int)LCD_DIRECT_WIDTH ||
|
||||
y < (int)row_start || y >= (int)row_start + (int)rows) {
|
||||
return;
|
||||
}
|
||||
|
||||
lcd_direct_draw_clock_pass(pixel_buffer,
|
||||
row_start,
|
||||
row_count,
|
||||
text,
|
||||
LCD_DIRECT_CLOCK_OUTLINE_PX,
|
||||
LCD_DIRECT_CLOCK_OUTLINE_PX,
|
||||
LCD_DIRECT_CLOCK_OUTLINE_COLOR);
|
||||
lcd_direct_draw_clock_pass(pixel_buffer,
|
||||
row_start,
|
||||
row_count,
|
||||
text,
|
||||
0,
|
||||
0,
|
||||
LCD_DIRECT_CLOCK_COLOR);
|
||||
const size_t index = (size_t)(y - row_start) * LCD_DIRECT_WIDTH + (size_t)x;
|
||||
const uint16_t background = lcd_direct_swap_color(pixels[index]);
|
||||
pixels[index] = lcd_direct_swap_color(lcd_direct_blend_rgb565(background, color, alpha));
|
||||
}
|
||||
|
||||
/* 小型电池 + 数字百分比,沿用 5x7 点阵;所有写入都裁剪到当前行块。 */
|
||||
static void lcd_direct_hud_pixel(uint16_t *pixels, uint16_t row_start,
|
||||
uint16_t rows, int x, int y, uint16_t color)
|
||||
static void lcd_direct_draw_clock_pass(uint16_t *pixels, uint16_t row_start,
|
||||
uint16_t rows,
|
||||
const char text[LCD_DIRECT_CLOCK_TEXT_LENGTH + 1U],
|
||||
int x_offset, int y_offset, uint16_t color)
|
||||
{
|
||||
if (x >= 0 && x < LCD_DIRECT_WIDTH && y >= row_start && y < row_start + rows) {
|
||||
pixels[(y - row_start) * LCD_DIRECT_WIDTH + x] = lcd_direct_swap_color(color);
|
||||
int cursor = LCD_DIRECT_CLOCK_X;
|
||||
for (size_t i = 0; i < LCD_DIRECT_CLOCK_TEXT_LENGTH; ++i) {
|
||||
const lcd_status_glyph_t *glyph = &lcd_status_font_glyphs[lcd_direct_clock_glyph_index(text[i])];
|
||||
/* 原字体 line_height=16、base_line=3;不缩放,保留 4-bit 抗锯齿。 */
|
||||
const int top = (int)LCD_DIRECT_CLOCK_Y + 16 - 3 - glyph->height - glyph->y;
|
||||
for (unsigned y = 0; y < glyph->height; ++y) {
|
||||
for (unsigned x = 0; x < glyph->width; ++x) {
|
||||
const size_t pixel = y * glyph->width + x;
|
||||
const uint8_t packed = lcd_status_font_bitmap[glyph->offset + pixel / 2];
|
||||
const uint8_t alpha = ((pixel & 1U) ? packed & 15U : packed >> 4) * 17U;
|
||||
lcd_direct_hud_blend_pixel(pixels, row_start, rows,
|
||||
cursor + glyph->x + x_offset + (int)x,
|
||||
top + y_offset + (int)y, color, alpha);
|
||||
}
|
||||
}
|
||||
cursor += glyph->advance;
|
||||
}
|
||||
}
|
||||
|
||||
static void lcd_direct_overlay_clock(uint16_t *pixels, uint16_t row_start,
|
||||
uint16_t rows,
|
||||
const char text[LCD_DIRECT_CLOCK_TEXT_LENGTH + 1U])
|
||||
{
|
||||
if (pixels == NULL || text == NULL ||
|
||||
(int)row_start >= (int)LCD_DIRECT_CLOCK_Y + 17 ||
|
||||
(int)row_start + rows <= (int)LCD_DIRECT_CLOCK_Y) {
|
||||
return;
|
||||
}
|
||||
lcd_direct_draw_clock_pass(pixels, row_start, rows, text, 1, 1, LCD_DIRECT_CLOCK_OUTLINE_COLOR);
|
||||
lcd_direct_draw_clock_pass(pixels, row_start, rows, text, 0, 0, LCD_DIRECT_CLOCK_COLOR);
|
||||
}
|
||||
|
||||
/* 档位向上分组:0..10→1,11..25→25,26..50→50,51..75→75,76..100→100。 */
|
||||
static unsigned lcd_direct_battery_icon_index(uint8_t percent, bool charging)
|
||||
{
|
||||
unsigned level = percent <= 10 ? 0 : percent <= 25 ? 1 :
|
||||
percent <= 50 ? 2 : percent <= 75 ? 3 : 4;
|
||||
return level + (charging ? 5U : 0U);
|
||||
}
|
||||
|
||||
static void lcd_direct_overlay_battery(uint16_t *pixels, uint16_t row_start, uint16_t rows)
|
||||
{
|
||||
platform_lcd_status_overlay_t status;
|
||||
portENTER_CRITICAL(&s_state_lock);
|
||||
status = s_status_overlay;
|
||||
portEXIT_CRITICAL(&s_state_lock);
|
||||
const uint16_t color = status.charging_visible ? 0x07E0U :
|
||||
status.low_battery_visible ? 0xF800U : 0xFFFFU;
|
||||
const int left = LCD_DIRECT_WIDTH - 108;
|
||||
char text[5];
|
||||
if (status.battery_valid) {
|
||||
snprintf(text, sizeof(text), "%u%%", (unsigned)status.battery_percent);
|
||||
} else {
|
||||
memcpy(text, "--%", 4);
|
||||
/* 素材没有未知电量图标;读取有效电量前不显示,避免暗示错误档位。 */
|
||||
if (pixels == NULL || !status.battery_valid ||
|
||||
(int)row_start >= (int)(LCD_DIRECT_BATTERY_Y + LCD_DIRECT_BATTERY_HEIGHT) ||
|
||||
(int)row_start + rows <= (int)LCD_DIRECT_BATTERY_Y) {
|
||||
return;
|
||||
}
|
||||
static const uint8_t percent[7] = {0x19, 0x1A, 0x02, 0x04, 0x08, 0x0B, 0x13};
|
||||
for (size_t i = 0; text[i] != '\0'; ++i) {
|
||||
const uint8_t *glyph = text[i] == '%' ? percent :
|
||||
s_clock_glyph_rows[lcd_direct_clock_glyph_index(text[i])];
|
||||
for (int y = 0; y < 21; ++y) {
|
||||
for (int x = 0; x < 15; ++x) {
|
||||
if (glyph[y / 3] & (1U << (4 - x / 3))) {
|
||||
lcd_direct_hud_pixel(pixels, row_start, rows, left + i * 18 + x, 13 + y, color);
|
||||
}
|
||||
const lcd_status_icon_t *icon = &lcd_status_battery_icons[
|
||||
lcd_direct_battery_icon_index(status.battery_percent, status.charging_visible)];
|
||||
size_t pixel = 0;
|
||||
/* 从 Flash 流式读 palette/RLE,保留源图 Alpha,不创建解码图缓存。 */
|
||||
for (size_t run = 0; run + 1 < icon->run_bytes; run += 2) {
|
||||
const uint8_t *value = icon->palette + (size_t)icon->runs[run + 1] * 3;
|
||||
const uint16_t color = ((uint16_t)value[0] << 8) | value[1];
|
||||
for (unsigned count = 0; count < icon->runs[run]; ++count, ++pixel) {
|
||||
if (pixel >= LCD_DIRECT_BATTERY_WIDTH * LCD_DIRECT_BATTERY_HEIGHT) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
const int icon_x = LCD_DIRECT_WIDTH - 32;
|
||||
const int fill = status.battery_valid ? status.battery_percent * 16 / 100 : 0;
|
||||
for (int y = 0; y < 20; ++y) {
|
||||
for (int x = 0; x < 24; ++x) {
|
||||
bool on = x < 22 && (x < 2 || x >= 20 || y < 2 || y >= 18);
|
||||
on |= x >= 22 && y >= 6 && y < 14;
|
||||
on |= status.battery_valid && x >= 3 && x < 3 + fill && y >= 3 && y < 17;
|
||||
/* 充电时在电池中挖出黑色闪电,绿色外框仍可辨识。 */
|
||||
if (status.charging_visible && y >= 3 && y < 17 &&
|
||||
x >= 11 - (y - 3) / 3 && x <= 14 - (y - 3) / 3) {
|
||||
on = false;
|
||||
}
|
||||
lcd_direct_hud_pixel(pixels, row_start, rows, icon_x + x, 14 + y, on ? color : 0);
|
||||
lcd_direct_hud_blend_pixel(pixels, row_start, rows,
|
||||
LCD_DIRECT_BATTERY_X + pixel % LCD_DIRECT_BATTERY_WIDTH,
|
||||
LCD_DIRECT_BATTERY_Y + pixel / LCD_DIRECT_BATTERY_WIDTH,
|
||||
color, value[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||