mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-01 10:21:59 +00:00
feat: flashlight - the whole screen white at full brightness
L2: a Flashlight app on Home (a lightbulb icon added to the fonts): a white layer over everything, the backlight at 100 %, no auto-off; a tap, the side or the top button puts it away and the brightness back. L1: Tools > System > Flashlight, the whole OLED lit at full contrast until a key. Not on e-ink. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+11
-1
@@ -8,7 +8,7 @@ home page.
|
|||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> **Wio Tracker L2:** the tools are apps on the home screen: Messages, Nodes,
|
> **Wio Tracker L2:** the tools are apps on the home screen: Messages, Nodes,
|
||||||
> Settings, Compass, Clock, GPS, Bot, Repeater, Admin, Diagnostics. The trail,
|
> Settings, Compass, Clock, GPS, Bot, Repeater, Admin, Diagnostics, Flashlight. The trail,
|
||||||
> live sharing and the locator are on the map (its tools button) and in
|
> live sharing and the locator are on the map (its tools button) and in
|
||||||
> Settings › Map.
|
> Settings › Map.
|
||||||
|
|
||||||
@@ -90,6 +90,16 @@ single contact or channel from its options.
|
|||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> **Wio Tracker L2:** the melody editor is under Settings › Sound.
|
> **Wio Tracker L2:** the melody editor is under Settings › Sound.
|
||||||
|
|
||||||
|
## Flashlight
|
||||||
|
|
||||||
|
**Tools › System › Flashlight** lights the whole screen white at full
|
||||||
|
brightness and keeps it on until you press a key; the brightness goes back
|
||||||
|
when you leave. Not on e-ink, which gives no light.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> **Wio Tracker L2:** the Flashlight app. A tap, the side button or the top
|
||||||
|
> button puts it away.
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
The **Status** home page sums up the radio, GPS, battery and mesh in four
|
The **Status** home page sums up the radio, GPS, battery and mesh in four
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
#pragma once
|
||||||
|
// Home > Flashlight: the whole screen white at full backlight, over everything
|
||||||
|
// (the status bar too), kept on while it's up (no auto-off). A tap, the side
|
||||||
|
// button or the top button puts it away and the brightness back.
|
||||||
|
//
|
||||||
|
// Single-TU fragment: included by ui-lvgl/UITask.cpp after CompassScreen.h.
|
||||||
|
|
||||||
|
namespace torch {
|
||||||
|
static lv_obj_t* s_obj = nullptr;
|
||||||
|
} // namespace torch
|
||||||
|
|
||||||
|
static void onOpenFlashlight(lv_event_t* e) { (void)e; s_ui->showFlashlight(); }
|
||||||
|
static void onTorchTap(lv_event_t* e) { (void)e; s_ui->flashlightClose(); }
|
||||||
|
|
||||||
|
void UITask::showFlashlight() {
|
||||||
|
using namespace torch;
|
||||||
|
if (s_obj) return;
|
||||||
|
quickPanelClose(false);
|
||||||
|
s_obj = lv_obj_create(lv_layer_top());
|
||||||
|
lv_obj_remove_style_all(s_obj);
|
||||||
|
lv_obj_set_size(s_obj, LV_PCT(100), LV_PCT(100));
|
||||||
|
lv_obj_set_style_bg_color(s_obj, lv_color_hex(0xFFFFFF), 0);
|
||||||
|
lv_obj_set_style_bg_opa(s_obj, LV_OPA_COVER, 0);
|
||||||
|
lv_obj_add_flag(s_obj, LV_OBJ_FLAG_CLICKABLE);
|
||||||
|
lv_obj_remove_flag(s_obj, LV_OBJ_FLAG_GESTURE_BUBBLE);
|
||||||
|
lv_obj_add_event_cb(s_obj, onTorchTap, LV_EVENT_CLICKED, NULL);
|
||||||
|
lv_obj_move_foreground(s_obj);
|
||||||
|
lvport::setBacklightPct(100);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UITask::flashlightClose() {
|
||||||
|
using namespace torch;
|
||||||
|
if (!s_obj) return;
|
||||||
|
lv_obj_delete(s_obj);
|
||||||
|
s_obj = nullptr;
|
||||||
|
applyDisplayPrefs();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool UITask::flashlightOn() const { return torch::s_obj != nullptr; }
|
||||||
@@ -33,6 +33,7 @@ static const App APP_LIST[] = {
|
|||||||
{ 'R', LV_SYMBOL_LOOP, "Repeater", onOpenRepeater, false },
|
{ 'R', LV_SYMBOL_LOOP, "Repeater", onOpenRepeater, false },
|
||||||
{ 'A', UI_SYMBOL_KEY, "Admin", onOpenAdminPick, false },
|
{ 'A', UI_SYMBOL_KEY, "Admin", onOpenAdminPick, false },
|
||||||
{ 'D', UI_SYMBOL_CHART, "Diagnostics", onOpenDiag, false },
|
{ 'D', UI_SYMBOL_CHART, "Diagnostics", onOpenDiag, false },
|
||||||
|
{ 'L', UI_SYMBOL_BULB, "Flashlight", onOpenFlashlight, false },
|
||||||
};
|
};
|
||||||
static const int APP_COUNT = sizeof(APP_LIST) / sizeof(APP_LIST[0]);
|
static const int APP_COUNT = sizeof(APP_LIST) / sizeof(APP_LIST[0]);
|
||||||
static const int PER_PAGE = 6;
|
static const int PER_PAGE = 6;
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ namespace theme {
|
|||||||
#define UI_SYMBOL_MUTE "\xEF\x9A\xA9" // U+F6A9, muted (speaker with a cross)
|
#define UI_SYMBOL_MUTE "\xEF\x9A\xA9" // U+F6A9, muted (speaker with a cross)
|
||||||
#define UI_SYMBOL_LOCK "\xEF\x80\xA3" // U+F023, quick panel: lock the screen
|
#define UI_SYMBOL_LOCK "\xEF\x80\xA3" // U+F023, quick panel: lock the screen
|
||||||
#define UI_SYMBOL_SUN "\xEF\x86\x85" // U+F185, quick panel: brightness
|
#define UI_SYMBOL_SUN "\xEF\x86\x85" // U+F185, quick panel: brightness
|
||||||
|
#define UI_SYMBOL_BULB "\xEF\x83\xAB" // U+F0EB, Flashlight
|
||||||
|
|
||||||
// Accent choices; the fill is the colour at 42% over the background.
|
// Accent choices; the fill is the colour at 42% over the background.
|
||||||
struct Accent { const char* name; uint32_t col; };
|
struct Accent { const char* name; uint32_t col; };
|
||||||
|
|||||||
@@ -260,7 +260,8 @@ void UITask::loop() {
|
|||||||
else if (btn_hold) mute_armed = true;
|
else if (btn_hold) mute_armed = true;
|
||||||
else if (mute) toggleMute();
|
else if (mute) toggleMute();
|
||||||
else if (btn_click) { // the side button doesn't wake: pockets
|
else if (btn_click) { // the side button doesn't wake: pockets
|
||||||
if (quickPanelOpen()) quickPanelClose(true);
|
if (flashlightOn()) flashlightClose();
|
||||||
|
else if (quickPanelOpen()) quickPanelClose(true);
|
||||||
else if (!_asleep && !locked()) goHome();
|
else if (!_asleep && !locked()) goHome();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -276,7 +277,7 @@ void UITask::loop() {
|
|||||||
// even with auto-off at Never (a woken-up pocket, a boot PIN, a message).
|
// even with auto-off at Never (a woken-up pocket, a boot PIN, a message).
|
||||||
uint32_t aoff = autoOffMillis();
|
uint32_t aoff = autoOffMillis();
|
||||||
if (locked() && (aoff == 0 || aoff > LOCK_OFF_MS)) aoff = LOCK_OFF_MS;
|
if (locked() && (aoff == 0 || aoff > LOCK_OFF_MS)) aoff = LOCK_OFF_MS;
|
||||||
if (aoff > 0 && lv_display_get_inactive_time(NULL) > aoff && !_core->clock.isRinging() && !otaBusy()) sleep();
|
if (aoff > 0 && lv_display_get_inactive_time(NULL) > aoff && !_core->clock.isRinging() && !otaBusy() && !flashlightOn()) sleep();
|
||||||
}
|
}
|
||||||
|
|
||||||
_core->loop();
|
_core->loop();
|
||||||
@@ -422,6 +423,7 @@ void UITask::sleep() {
|
|||||||
if (_asleep) return;
|
if (_asleep) return;
|
||||||
_asleep = true;
|
_asleep = true;
|
||||||
quickPanelClose(false);
|
quickPanelClose(false);
|
||||||
|
flashlightClose();
|
||||||
if (_display) _display->turnOff();
|
if (_display) _display->turnOff();
|
||||||
prefsSaveSoon(0); // nothing to stall now
|
prefsSaveSoon(0); // nothing to stall now
|
||||||
lvport::powerSave(true, _tap_wake);
|
lvport::powerSave(true, _tap_wake);
|
||||||
@@ -1246,6 +1248,7 @@ static void onOpenNodesMap(lv_event_t* e) { (void)e; s_ui->openMap(false); }
|
|||||||
static void onOpenClock(lv_event_t* e); // ClockScreen.h
|
static void onOpenClock(lv_event_t* e); // ClockScreen.h
|
||||||
static void onOpenBot(lv_event_t* e); // BotScreen.h
|
static void onOpenBot(lv_event_t* e); // BotScreen.h
|
||||||
static void onOpenCompass(lv_event_t* e); // CompassScreen.h
|
static void onOpenCompass(lv_event_t* e); // CompassScreen.h
|
||||||
|
static void onOpenFlashlight(lv_event_t* e); // Flashlight.h
|
||||||
static void onOpenDiag(lv_event_t* e); // DiagScreen.h
|
static void onOpenDiag(lv_event_t* e); // DiagScreen.h
|
||||||
static void onOpenGps(lv_event_t* e); // GpsScreen.h
|
static void onOpenGps(lv_event_t* e); // GpsScreen.h
|
||||||
static void onOpenGpsFromSettings(lv_event_t* e);
|
static void onOpenGpsFromSettings(lv_event_t* e);
|
||||||
@@ -1287,6 +1290,7 @@ static void onOpenSchemaPage(lv_event_t* e); // Radio > Advanced
|
|||||||
#include "DeviceScreen.h"
|
#include "DeviceScreen.h"
|
||||||
#include "DiagScreen.h"
|
#include "DiagScreen.h"
|
||||||
#include "CompassScreen.h"
|
#include "CompassScreen.h"
|
||||||
|
#include "Flashlight.h"
|
||||||
#include "BatteryScreen.h"
|
#include "BatteryScreen.h"
|
||||||
#include "GpsScreen.h"
|
#include "GpsScreen.h"
|
||||||
#include "RadioExtras.h"
|
#include "RadioExtras.h"
|
||||||
|
|||||||
@@ -358,6 +358,9 @@ public:
|
|||||||
void diagReset();
|
void diagReset();
|
||||||
void diagNoiseRun();
|
void diagNoiseRun();
|
||||||
void showCompass();
|
void showCompass();
|
||||||
|
void showFlashlight(); // Flashlight.h
|
||||||
|
void flashlightClose();
|
||||||
|
bool flashlightOn() const;
|
||||||
void showBattCurve(); // Settings > Power > Battery curve (BatteryScreen.h)
|
void showBattCurve(); // Settings > Power > Battery curve (BatteryScreen.h)
|
||||||
void refreshBattCurve();
|
void refreshBattCurve();
|
||||||
int battMv() const { return _batt_mv; } // smoothed cell voltage, 0 before the first read
|
int battMv() const { return _batt_mv; } // smoothed cell voltage, 0 before the first read
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ TEXT="$TEXT,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122"
|
|||||||
# 61572 = key (admin), 62679 = route (trail in the status bar),
|
# 61572 = key (admin), 62679 = route (trail in the status bar),
|
||||||
# 63145 = volume-mute (muted, in the status bar), 61581 = thumbtack (pin to the Home dial),
|
# 63145 = volume-mute (muted, in the status bar), 61581 = thumbtack (pin to the Home dial),
|
||||||
# 61475 = lock, 61829 = sun (the quick panel's lock and brightness)
|
# 61475 = lock, 61829 = sun (the quick panel's lock and brightness)
|
||||||
SYMS="61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650"
|
# 61675 = lightbulb (Flashlight)
|
||||||
|
SYMS="61675,61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650"
|
||||||
|
|
||||||
CONV="npx -y lv_font_conv@1.5.3"
|
CONV="npx -y lv_font_conv@1.5.3"
|
||||||
gen() { # size weight ranges name
|
gen() { # size weight ranges name
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Size: 12 px
|
* Size: 12 px
|
||||||
* Bpp: 4
|
* Bpp: 4
|
||||||
* Opts: --bpp 4 --size 12 --no-compress --force-fast-kern-format --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/NotoSans-Medium.ttf -r 0x20-0x7E,0xA0-0x24F,0x370-0x3FF,0x400-0x52F,0x1E80-0x1E85,0x1E9E,0x1EF2-0x1EF3,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122 --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/fa.woff -r 61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl --lv-include lvgl.h --lv-font-name ui_font_12 -o /Users/jakub/Documents/MeshCore/MeshCore/examples/companion_radio/ui-lvgl/fonts/ui_font_12.c
|
* Opts: --bpp 4 --size 12 --no-compress --force-fast-kern-format --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/NotoSans-Medium.ttf -r 0x20-0x7E,0xA0-0x24F,0x370-0x3FF,0x400-0x52F,0x1E80-0x1E85,0x1E9E,0x1EF2-0x1EF3,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122 --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/fa.woff -r 61675,61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl --lv-include lvgl.h --lv-font-name ui_font_12 -o /Users/jakub/Documents/MeshCore/MeshCore/examples/companion_radio/ui-lvgl/fonts/ui_font_12.c
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
@@ -7603,6 +7603,16 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
|||||||
0x5, 0xff, 0xff, 0xff, 0x40, 0x0, 0x5f, 0xff,
|
0x5, 0xff, 0xff, 0xff, 0x40, 0x0, 0x5f, 0xff,
|
||||||
0xff, 0xf4, 0x0, 0x0, 0x44, 0x44, 0x44, 0x0,
|
0xff, 0xf4, 0x0, 0x0, 0x44, 0x44, 0x44, 0x0,
|
||||||
|
|
||||||
|
/* U+F0EB "" */
|
||||||
|
0x0, 0x26, 0x74, 0x0, 0x0, 0x8f, 0xff, 0xfb,
|
||||||
|
0x0, 0x6f, 0x93, 0xbf, 0xfa, 0xd, 0xc5, 0xff,
|
||||||
|
0xff, 0xf1, 0xf9, 0xcf, 0xff, 0xff, 0x3d, 0xff,
|
||||||
|
0xff, 0xff, 0xf1, 0x7f, 0xff, 0xff, 0xfb, 0x0,
|
||||||
|
0xbf, 0xff, 0xfe, 0x10, 0x1, 0xff, 0xff, 0x50,
|
||||||
|
0x0, 0x4, 0x55, 0x50, 0x0, 0x0, 0xbf, 0xff,
|
||||||
|
0x0, 0x0, 0x8, 0xff, 0xc0, 0x0, 0x0, 0x4,
|
||||||
|
0x41, 0x0, 0x0,
|
||||||
|
|
||||||
/* U+F0F3 "" */
|
/* U+F0F3 "" */
|
||||||
0x0, 0x0, 0x15, 0x0, 0x0, 0x0, 0x0, 0x9,
|
0x0, 0x0, 0x15, 0x0, 0x0, 0x0, 0x0, 0x9,
|
||||||
0xf1, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xf9, 0x0,
|
0xf1, 0x0, 0x0, 0x0, 0x2d, 0xff, 0xf9, 0x0,
|
||||||
@@ -8969,31 +8979,32 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
|||||||
{.bitmap_index = 39727, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 39727, .adv_w = 192, .box_w = 12, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 39781, .adv_w = 120, .box_w = 9, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
|
{.bitmap_index = 39781, .adv_w = 120, .box_w = 9, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
|
||||||
{.bitmap_index = 39840, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 39840, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 39912, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 39912, .adv_w = 132, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 39984, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 39971, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 40047, .adv_w = 192, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
|
{.bitmap_index = 40043, .adv_w = 216, .box_w = 14, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 40138, .adv_w = 186, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 40106, .adv_w = 192, .box_w = 14, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
|
||||||
{.bitmap_index = 40216, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 40197, .adv_w = 186, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 40275, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 40275, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 40353, .adv_w = 240, .box_w = 15, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 40334, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 40443, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 40412, .adv_w = 240, .box_w = 15, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 40511, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 40502, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 40579, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 40570, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 40647, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 40638, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 40715, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 40706, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 40783, .adv_w = 216, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 40774, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 40860, .adv_w = 240, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 40842, .adv_w = 216, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 40948, .adv_w = 168, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 40919, .adv_w = 240, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 41013, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 41007, .adv_w = 168, .box_w = 10, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 41085, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 41072, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 41157, .adv_w = 192, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
|
{.bitmap_index = 41144, .adv_w = 168, .box_w = 11, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 41242, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 41216, .adv_w = 192, .box_w = 13, .box_h = 13, .ofs_x = -1, .ofs_y = -2},
|
||||||
{.bitmap_index = 41301, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 41301, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 41379, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 41360, .adv_w = 192, .box_w = 12, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 41477, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 41438, .adv_w = 240, .box_w = 15, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 41545, .adv_w = 192, .box_w = 13, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 41536, .adv_w = 240, .box_w = 15, .box_h = 9, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 41610, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 41604, .adv_w = 192, .box_w = 13, .box_h = 10, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 41669, .adv_w = 193, .box_w = 13, .box_h = 9, .ofs_x = 0, .ofs_y = 0}
|
{.bitmap_index = 41669, .adv_w = 144, .box_w = 9, .box_h = 13, .ofs_x = 0, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 41728, .adv_w = 193, .box_w = 13, .box_h = 9, .ofs_x = 0, .ofs_y = 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*---------------------
|
/*---------------------
|
||||||
@@ -9023,10 +9034,10 @@ static const uint16_t unicode_list_12[] = {
|
|||||||
0xcf36, 0xcf37, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf51, 0xcf52,
|
0xcf36, 0xcf37, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf51, 0xcf52,
|
||||||
0xcf58, 0xcf5a, 0xcf5b, 0xcf5e, 0xcf61, 0xcf62, 0xcf63, 0xcf65,
|
0xcf58, 0xcf5a, 0xcf5b, 0xcf5e, 0xcf61, 0xcf62, 0xcf63, 0xcf65,
|
||||||
0xcf6a, 0xcf6e, 0xcf77, 0xcf7d, 0xcf7f, 0xcf96, 0xcfaa, 0xcfae,
|
0xcf6a, 0xcf6e, 0xcf77, 0xcf7d, 0xcf7f, 0xcf96, 0xcfaa, 0xcfae,
|
||||||
0xcfaf, 0xcfb1, 0xcfb3, 0xcfca, 0xcfd1, 0xcfd4, 0xcfdd, 0xd006,
|
0xcfaf, 0xcfb1, 0xcfb3, 0xcfca, 0xcfd1, 0xcfd4, 0xcfd5, 0xcfdd,
|
||||||
0xd00e, 0xd038, 0xd045, 0xd06f, 0xd0d5, 0xd12a, 0xd12b, 0xd12c,
|
0xd006, 0xd00e, 0xd038, 0xd045, 0xd06f, 0xd0d5, 0xd12a, 0xd12b,
|
||||||
0xd12d, 0xd12e, 0xd163, 0xd171, 0xd17d, 0xd1d7, 0xd1dc, 0xd1ee,
|
0xd12c, 0xd12d, 0xd12e, 0xd163, 0xd171, 0xd17d, 0xd1d7, 0xd1dc,
|
||||||
0xd2af, 0xd3c1, 0xd403, 0xd444, 0xd593, 0xd6ac, 0xd78c
|
0xd1ee, 0xd2af, 0xd3c1, 0xd403, 0xd444, 0xd593, 0xd6ac, 0xd78c
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Collect the unicode lists and glyph_id offsets*/
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
@@ -9082,7 +9093,7 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
.range_start = 8470, .range_length = 55181, .glyph_id_start = 1017,
|
.range_start = 8470, .range_length = 55181, .glyph_id_start = 1017,
|
||||||
.unicode_list = unicode_list_12, .glyph_id_ofs_list = NULL, .list_length = 79, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
.unicode_list = unicode_list_12, .glyph_id_ofs_list = NULL, .list_length = 80, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -9230,7 +9241,8 @@ static const uint8_t kern_left_class_mapping[] =
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Map glyph_ids to kern right classes*/
|
/*Map glyph_ids to kern right classes*/
|
||||||
@@ -9372,7 +9384,8 @@ static const uint8_t kern_right_class_mapping[] =
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Kern values between classes*/
|
/*Kern values between classes*/
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Size: 14 px
|
* Size: 14 px
|
||||||
* Bpp: 4
|
* Bpp: 4
|
||||||
* Opts: --bpp 4 --size 14 --no-compress --force-fast-kern-format --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/NotoSans-Medium.ttf -r 0x20-0x7E,0xA0-0x24F,0x370-0x3FF,0x400-0x52F,0x1E80-0x1E85,0x1E9E,0x1EF2-0x1EF3,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122 --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/fa.woff -r 61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl --lv-include lvgl.h --lv-font-name ui_font_14 -o /Users/jakub/Documents/MeshCore/MeshCore/examples/companion_radio/ui-lvgl/fonts/ui_font_14.c
|
* Opts: --bpp 4 --size 14 --no-compress --force-fast-kern-format --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/NotoSans-Medium.ttf -r 0x20-0x7E,0xA0-0x24F,0x370-0x3FF,0x400-0x52F,0x1E80-0x1E85,0x1E9E,0x1EF2-0x1EF3,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122 --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/fa.woff -r 61675,61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl --lv-include lvgl.h --lv-font-name ui_font_14 -o /Users/jakub/Documents/MeshCore/MeshCore/examples/companion_radio/ui-lvgl/fonts/ui_font_14.c
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
@@ -9012,6 +9012,18 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
|||||||
0xff, 0xff, 0xf4, 0x0, 0x0, 0x7f, 0xff, 0xff,
|
0xff, 0xff, 0xf4, 0x0, 0x0, 0x7f, 0xff, 0xff,
|
||||||
0xfe, 0x20,
|
0xfe, 0x20,
|
||||||
|
|
||||||
|
/* U+F0EB "" */
|
||||||
|
0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x9f, 0xff,
|
||||||
|
0xd4, 0x0, 0xc, 0xfe, 0xaf, 0xff, 0x60, 0x7f,
|
||||||
|
0xb2, 0x7e, 0xff, 0xf2, 0xdf, 0x2e, 0xff, 0xff,
|
||||||
|
0xf7, 0xfd, 0x6f, 0xff, 0xff, 0xf9, 0xef, 0xff,
|
||||||
|
0xff, 0xff, 0xf8, 0x9f, 0xff, 0xff, 0xff, 0xf3,
|
||||||
|
0x1e, 0xff, 0xff, 0xff, 0x90, 0x3, 0xff, 0xff,
|
||||||
|
0xfd, 0x0, 0x0, 0xaf, 0xff, 0xf4, 0x0, 0x0,
|
||||||
|
0x13, 0x33, 0x30, 0x0, 0x0, 0x5f, 0xff, 0xf0,
|
||||||
|
0x0, 0x0, 0x3f, 0xff, 0xd0, 0x0, 0x0, 0x7,
|
||||||
|
0xaa, 0x30, 0x0,
|
||||||
|
|
||||||
/* U+F0F3 "" */
|
/* U+F0F3 "" */
|
||||||
0x0, 0x0, 0x1, 0x10, 0x0, 0x0, 0x0, 0x0,
|
0x0, 0x0, 0x1, 0x10, 0x0, 0x0, 0x0, 0x0,
|
||||||
0x0, 0xaf, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8f,
|
0x0, 0xaf, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8f,
|
||||||
@@ -10460,31 +10472,32 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
|||||||
{.bitmap_index = 51222, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 51222, .adv_w = 224, .box_w = 14, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 51299, .adv_w = 140, .box_w = 10, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
{.bitmap_index = 51299, .adv_w = 140, .box_w = 10, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||||
{.bitmap_index = 51374, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 51374, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 51472, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 51472, .adv_w = 154, .box_w = 10, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 51570, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 51547, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 51658, .adv_w = 224, .box_w = 16, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
{.bitmap_index = 51645, .adv_w = 252, .box_w = 16, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 51778, .adv_w = 217, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 51733, .adv_w = 224, .box_w = 16, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||||
{.bitmap_index = 51883, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 51853, .adv_w = 217, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 51966, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 51958, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 52071, .adv_w = 280, .box_w = 18, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 52041, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 52188, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 52146, .adv_w = 280, .box_w = 18, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 52278, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 52263, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 52368, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 52353, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 52458, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 52443, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 52548, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 52533, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 52638, .adv_w = 252, .box_w = 16, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 52623, .adv_w = 280, .box_w = 18, .box_h = 10, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 52742, .adv_w = 280, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 52713, .adv_w = 252, .box_w = 16, .box_h = 13, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 52850, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 52817, .adv_w = 280, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 52940, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 52925, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 53038, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 53015, .adv_w = 196, .box_w = 13, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 53128, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
{.bitmap_index = 53113, .adv_w = 196, .box_w = 12, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 53241, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 53203, .adv_w = 224, .box_w = 15, .box_h = 15, .ofs_x = -1, .ofs_y = -2},
|
||||||
{.bitmap_index = 53324, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 53316, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 53429, .adv_w = 280, .box_w = 18, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 53399, .adv_w = 224, .box_w = 14, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 53564, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 53504, .adv_w = 280, .box_w = 18, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 53663, .adv_w = 224, .box_w = 15, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 53639, .adv_w = 280, .box_w = 18, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 53753, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 53738, .adv_w = 224, .box_w = 15, .box_h = 12, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 53836, .adv_w = 225, .box_w = 15, .box_h = 10, .ofs_x = 0, .ofs_y = 0}
|
{.bitmap_index = 53828, .adv_w = 168, .box_w = 11, .box_h = 15, .ofs_x = 0, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 53911, .adv_w = 225, .box_w = 15, .box_h = 10, .ofs_x = 0, .ofs_y = 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*---------------------
|
/*---------------------
|
||||||
@@ -10514,10 +10527,10 @@ static const uint16_t unicode_list_12[] = {
|
|||||||
0xcf36, 0xcf37, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf51, 0xcf52,
|
0xcf36, 0xcf37, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf51, 0xcf52,
|
||||||
0xcf58, 0xcf5a, 0xcf5b, 0xcf5e, 0xcf61, 0xcf62, 0xcf63, 0xcf65,
|
0xcf58, 0xcf5a, 0xcf5b, 0xcf5e, 0xcf61, 0xcf62, 0xcf63, 0xcf65,
|
||||||
0xcf6a, 0xcf6e, 0xcf77, 0xcf7d, 0xcf7f, 0xcf96, 0xcfaa, 0xcfae,
|
0xcf6a, 0xcf6e, 0xcf77, 0xcf7d, 0xcf7f, 0xcf96, 0xcfaa, 0xcfae,
|
||||||
0xcfaf, 0xcfb1, 0xcfb3, 0xcfca, 0xcfd1, 0xcfd4, 0xcfdd, 0xd006,
|
0xcfaf, 0xcfb1, 0xcfb3, 0xcfca, 0xcfd1, 0xcfd4, 0xcfd5, 0xcfdd,
|
||||||
0xd00e, 0xd038, 0xd045, 0xd06f, 0xd0d5, 0xd12a, 0xd12b, 0xd12c,
|
0xd006, 0xd00e, 0xd038, 0xd045, 0xd06f, 0xd0d5, 0xd12a, 0xd12b,
|
||||||
0xd12d, 0xd12e, 0xd163, 0xd171, 0xd17d, 0xd1d7, 0xd1dc, 0xd1ee,
|
0xd12c, 0xd12d, 0xd12e, 0xd163, 0xd171, 0xd17d, 0xd1d7, 0xd1dc,
|
||||||
0xd2af, 0xd3c1, 0xd403, 0xd444, 0xd593, 0xd6ac, 0xd78c
|
0xd1ee, 0xd2af, 0xd3c1, 0xd403, 0xd444, 0xd593, 0xd6ac, 0xd78c
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Collect the unicode lists and glyph_id offsets*/
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
@@ -10573,7 +10586,7 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
.range_start = 8470, .range_length = 55181, .glyph_id_start = 1017,
|
.range_start = 8470, .range_length = 55181, .glyph_id_start = 1017,
|
||||||
.unicode_list = unicode_list_12, .glyph_id_ofs_list = NULL, .list_length = 79, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
.unicode_list = unicode_list_12, .glyph_id_ofs_list = NULL, .list_length = 80, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -10721,7 +10734,8 @@ static const uint8_t kern_left_class_mapping[] =
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Map glyph_ids to kern right classes*/
|
/*Map glyph_ids to kern right classes*/
|
||||||
@@ -10863,7 +10877,8 @@ static const uint8_t kern_right_class_mapping[] =
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Kern values between classes*/
|
/*Kern values between classes*/
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Size: 16 px
|
* Size: 16 px
|
||||||
* Bpp: 4
|
* Bpp: 4
|
||||||
* Opts: --bpp 4 --size 16 --no-compress --force-fast-kern-format --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/NotoSans-Medium.ttf -r 0x20-0x7E,0xA0-0x24F,0x370-0x3FF,0x400-0x52F,0x1E80-0x1E85,0x1E9E,0x1EF2-0x1EF3,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122 --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/fa.woff -r 61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl --lv-include lvgl.h --lv-font-name ui_font_16 -o /Users/jakub/Documents/MeshCore/MeshCore/examples/companion_radio/ui-lvgl/fonts/ui_font_16.c
|
* Opts: --bpp 4 --size 16 --no-compress --force-fast-kern-format --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/NotoSans-Medium.ttf -r 0x20-0x7E,0xA0-0x24F,0x370-0x3FF,0x400-0x52F,0x1E80-0x1E85,0x1E9E,0x1EF2-0x1EF3,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122 --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/fa.woff -r 61675,61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl --lv-include lvgl.h --lv-font-name ui_font_16 -o /Users/jakub/Documents/MeshCore/MeshCore/examples/companion_radio/ui-lvgl/fonts/ui_font_16.c
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
@@ -10890,6 +10890,19 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
|||||||
0xff, 0xff, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff,
|
0xff, 0xff, 0x0, 0x0, 0xf, 0xff, 0xff, 0xff,
|
||||||
0xff, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xfd,
|
0xff, 0x0, 0x0, 0xd, 0xff, 0xff, 0xff, 0xfd,
|
||||||
|
|
||||||
|
/* U+F0EB "" */
|
||||||
|
0x0, 0x2a, 0xef, 0xe9, 0x20, 0x0, 0x4f, 0xff,
|
||||||
|
0xff, 0xff, 0x40, 0x2f, 0xfa, 0x22, 0xff, 0xff,
|
||||||
|
0x29, 0xfa, 0x1b, 0xff, 0xff, 0xf9, 0xef, 0x2b,
|
||||||
|
0xff, 0xff, 0xff, 0xef, 0xf2, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xf9, 0x2f, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0x20, 0x5f, 0xff, 0xff, 0xff, 0x50, 0x0,
|
||||||
|
0xaf, 0xff, 0xff, 0xa0, 0x0, 0x3, 0xff, 0xff,
|
||||||
|
0xf3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xff, 0xff, 0xf0, 0x0, 0x0, 0xe, 0xff,
|
||||||
|
0xfe, 0x0, 0x0, 0x0, 0x4f, 0xff, 0x50, 0x0,
|
||||||
|
|
||||||
/* U+F0F3 "" */
|
/* U+F0F3 "" */
|
||||||
0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0,
|
0x0, 0x0, 0x0, 0xcc, 0x0, 0x0, 0x0, 0x0,
|
||||||
0x0, 0x2, 0xff, 0x30, 0x0, 0x0, 0x0, 0x1,
|
0x0, 0x2, 0xff, 0x30, 0x0, 0x0, 0x0, 0x1,
|
||||||
@@ -12395,31 +12408,32 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
|||||||
{.bitmap_index = 66645, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 66645, .adv_w = 256, .box_w = 16, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 66741, .adv_w = 160, .box_w = 12, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
|
{.bitmap_index = 66741, .adv_w = 160, .box_w = 12, .box_h = 16, .ofs_x = -1, .ofs_y = -2},
|
||||||
{.bitmap_index = 66837, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 66837, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 66949, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 66949, .adv_w = 176, .box_w = 11, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 67061, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 67037, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 67169, .adv_w = 256, .box_w = 18, .box_h = 18, .ofs_x = -1, .ofs_y = -3},
|
{.bitmap_index = 67149, .adv_w = 288, .box_w = 18, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 67331, .adv_w = 248, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 67257, .adv_w = 256, .box_w = 18, .box_h = 18, .ofs_x = -1, .ofs_y = -3},
|
||||||
{.bitmap_index = 67459, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 67419, .adv_w = 248, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 67555, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 67547, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 67683, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 67643, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 67833, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 67771, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 67933, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 67921, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 68033, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 68021, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 68133, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 68121, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 68233, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 68221, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 68333, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 68321, .adv_w = 320, .box_w = 20, .box_h = 10, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 68477, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 68421, .adv_w = 288, .box_w = 18, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 68624, .adv_w = 224, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 68565, .adv_w = 320, .box_w = 21, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 68720, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 68712, .adv_w = 224, .box_w = 12, .box_h = 16, .ofs_x = 1, .ofs_y = -2},
|
||||||
{.bitmap_index = 68832, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 68808, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 68944, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3},
|
{.bitmap_index = 68920, .adv_w = 224, .box_w = 14, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 69089, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 69032, .adv_w = 256, .box_w = 17, .box_h = 17, .ofs_x = -1, .ofs_y = -3},
|
||||||
{.bitmap_index = 69185, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 69177, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 69313, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 69273, .adv_w = 256, .box_w = 16, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 69483, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 69401, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 69603, .adv_w = 256, .box_w = 17, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 69571, .adv_w = 320, .box_w = 20, .box_h = 12, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 69722, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 69691, .adv_w = 256, .box_w = 17, .box_h = 14, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 69818, .adv_w = 258, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 1}
|
{.bitmap_index = 69810, .adv_w = 192, .box_w = 12, .box_h = 16, .ofs_x = 0, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 69906, .adv_w = 258, .box_w = 17, .box_h = 11, .ofs_x = 0, .ofs_y = 1}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*---------------------
|
/*---------------------
|
||||||
@@ -12449,10 +12463,10 @@ static const uint16_t unicode_list_12[] = {
|
|||||||
0xcf36, 0xcf37, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf51, 0xcf52,
|
0xcf36, 0xcf37, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf51, 0xcf52,
|
||||||
0xcf58, 0xcf5a, 0xcf5b, 0xcf5e, 0xcf61, 0xcf62, 0xcf63, 0xcf65,
|
0xcf58, 0xcf5a, 0xcf5b, 0xcf5e, 0xcf61, 0xcf62, 0xcf63, 0xcf65,
|
||||||
0xcf6a, 0xcf6e, 0xcf77, 0xcf7d, 0xcf7f, 0xcf96, 0xcfaa, 0xcfae,
|
0xcf6a, 0xcf6e, 0xcf77, 0xcf7d, 0xcf7f, 0xcf96, 0xcfaa, 0xcfae,
|
||||||
0xcfaf, 0xcfb1, 0xcfb3, 0xcfca, 0xcfd1, 0xcfd4, 0xcfdd, 0xd006,
|
0xcfaf, 0xcfb1, 0xcfb3, 0xcfca, 0xcfd1, 0xcfd4, 0xcfd5, 0xcfdd,
|
||||||
0xd00e, 0xd038, 0xd045, 0xd06f, 0xd0d5, 0xd12a, 0xd12b, 0xd12c,
|
0xd006, 0xd00e, 0xd038, 0xd045, 0xd06f, 0xd0d5, 0xd12a, 0xd12b,
|
||||||
0xd12d, 0xd12e, 0xd163, 0xd171, 0xd17d, 0xd1d7, 0xd1dc, 0xd1ee,
|
0xd12c, 0xd12d, 0xd12e, 0xd163, 0xd171, 0xd17d, 0xd1d7, 0xd1dc,
|
||||||
0xd2af, 0xd3c1, 0xd403, 0xd444, 0xd593, 0xd6ac, 0xd78c
|
0xd1ee, 0xd2af, 0xd3c1, 0xd403, 0xd444, 0xd593, 0xd6ac, 0xd78c
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Collect the unicode lists and glyph_id offsets*/
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
@@ -12508,7 +12522,7 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
.range_start = 8470, .range_length = 55181, .glyph_id_start = 1017,
|
.range_start = 8470, .range_length = 55181, .glyph_id_start = 1017,
|
||||||
.unicode_list = unicode_list_12, .glyph_id_ofs_list = NULL, .list_length = 79, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
.unicode_list = unicode_list_12, .glyph_id_ofs_list = NULL, .list_length = 80, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -12656,7 +12670,8 @@ static const uint8_t kern_left_class_mapping[] =
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Map glyph_ids to kern right classes*/
|
/*Map glyph_ids to kern right classes*/
|
||||||
@@ -12798,7 +12813,8 @@ static const uint8_t kern_right_class_mapping[] =
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Kern values between classes*/
|
/*Kern values between classes*/
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Size: 20 px
|
* Size: 20 px
|
||||||
* Bpp: 4
|
* Bpp: 4
|
||||||
* Opts: --bpp 4 --size 20 --no-compress --force-fast-kern-format --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/NotoSans-Medium.ttf -r 0x20-0x7E,0xA0-0x24F,0x370-0x3FF,0x400-0x52F,0x1E80-0x1E85,0x1E9E,0x1EF2-0x1EF3,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122 --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/fa.woff -r 61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl --lv-include lvgl.h --lv-font-name ui_font_20 -o /Users/jakub/Documents/MeshCore/MeshCore/examples/companion_radio/ui-lvgl/fonts/ui_font_20.c
|
* Opts: --bpp 4 --size 20 --no-compress --force-fast-kern-format --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/NotoSans-Medium.ttf -r 0x20-0x7E,0xA0-0x24F,0x370-0x3FF,0x400-0x52F,0x1E80-0x1E85,0x1E9E,0x1EF2-0x1EF3,0x2010-0x2027,0x2030,0x2039-0x203A,0x20A4-0x20BF,0x2116,0x2122 --font /var/folders/1d/dgkmygls6x5gsb16pbn2mwlr0000gn/T//meshcore-ui-fonts/fa.woff -r 61675,61475,61829,61581,63145,61572,62679,61568,62745,61463,62194,61612,61445,62073,61632,61774,61476,62405,61441,61448,61451,61452,61453,61457,61459,61461,61465,61468,61473,61478,61479,61480,61502,61507,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61550,61552,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61641,61664,61671,61674,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62087,62099,62212,62189,62810,63426,63650 --format lvgl --lv-include lvgl.h --lv-font-name ui_font_20 -o /Users/jakub/Documents/MeshCore/MeshCore/examples/companion_radio/ui-lvgl/fonts/ui_font_20.c
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
@@ -15025,6 +15025,27 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
|||||||
0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x7b,
|
0xff, 0xff, 0xff, 0xfa, 0x0, 0x0, 0x0, 0x7b,
|
||||||
0xbb, 0xbb, 0xbb, 0xbb, 0xb4,
|
0xbb, 0xbb, 0xbb, 0xbb, 0xb4,
|
||||||
|
|
||||||
|
/* U+F0EB "" */
|
||||||
|
0x0, 0x0, 0x15, 0x77, 0x40, 0x0, 0x0, 0x0,
|
||||||
|
0x1a, 0xff, 0xff, 0xff, 0x70, 0x0, 0x1, 0xdf,
|
||||||
|
0xff, 0xff, 0xff, 0xfa, 0x0, 0xc, 0xff, 0xb3,
|
||||||
|
0xa, 0xff, 0xff, 0x80, 0x6f, 0xf8, 0x9, 0xef,
|
||||||
|
0xff, 0xff, 0xf2, 0xbf, 0xd0, 0xbf, 0xff, 0xff,
|
||||||
|
0xff, 0xf7, 0xef, 0x91, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xfa, 0xff, 0xb8, 0xff, 0xff, 0xff, 0xff, 0xfb,
|
||||||
|
0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x9f,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x2f, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xd0, 0x7, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x30, 0x0, 0xbf, 0xff, 0xff,
|
||||||
|
0xff, 0xf7, 0x0, 0x0, 0x1f, 0xff, 0xff, 0xff,
|
||||||
|
0xc0, 0x0, 0x0, 0x9, 0xff, 0xff, 0xff, 0x50,
|
||||||
|
0x0, 0x0, 0x1, 0x44, 0x44, 0x44, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x4, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x3,
|
||||||
|
0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xcf,
|
||||||
|
0xff, 0xf9, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xbb,
|
||||||
|
0x90, 0x0, 0x0,
|
||||||
|
|
||||||
/* U+F0F3 "" */
|
/* U+F0F3 "" */
|
||||||
0x0, 0x0, 0x0, 0x0, 0x31, 0x0, 0x0, 0x0,
|
0x0, 0x0, 0x0, 0x0, 0x31, 0x0, 0x0, 0x0,
|
||||||
0x0, 0x0, 0x0, 0x0, 0x5, 0xfd, 0x0, 0x0,
|
0x0, 0x0, 0x0, 0x0, 0x5, 0xfd, 0x0, 0x0,
|
||||||
@@ -16753,31 +16774,32 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
|||||||
{.bitmap_index = 98775, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 98775, .adv_w = 320, .box_w = 20, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 98925, .adv_w = 200, .box_w = 14, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
|
{.bitmap_index = 98925, .adv_w = 200, .box_w = 14, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
|
||||||
{.bitmap_index = 99072, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 99072, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 99261, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 99261, .adv_w = 220, .box_w = 14, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 99450, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 99408, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 99623, .adv_w = 320, .box_w = 22, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
|
{.bitmap_index = 99597, .adv_w = 360, .box_w = 23, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 99854, .adv_w = 310, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 99770, .adv_w = 320, .box_w = 22, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
|
||||||
{.bitmap_index = 100064, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 100001, .adv_w = 310, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 100222, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 100211, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 100432, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 100369, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 100670, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 100579, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 100833, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 100817, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 100996, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 100980, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 101159, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 101143, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 101322, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
{.bitmap_index = 101306, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 101485, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
|
{.bitmap_index = 101469, .adv_w = 400, .box_w = 25, .box_h = 13, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 101704, .adv_w = 400, .box_w = 26, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 101632, .adv_w = 360, .box_w = 23, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
|
||||||
{.bitmap_index = 101925, .adv_w = 280, .box_w = 16, .box_h = 21, .ofs_x = 1, .ofs_y = -3},
|
{.bitmap_index = 101851, .adv_w = 400, .box_w = 26, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
|
||||||
{.bitmap_index = 102093, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 102072, .adv_w = 280, .box_w = 16, .box_h = 21, .ofs_x = 1, .ofs_y = -3},
|
||||||
{.bitmap_index = 102282, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 102240, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 102471, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
|
{.bitmap_index = 102429, .adv_w = 280, .box_w = 18, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 102692, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 102618, .adv_w = 320, .box_w = 21, .box_h = 21, .ofs_x = -1, .ofs_y = -3},
|
||||||
{.bitmap_index = 102850, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 102839, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 103060, .adv_w = 400, .box_w = 25, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 102997, .adv_w = 320, .box_w = 20, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 103323, .adv_w = 400, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 103207, .adv_w = 400, .box_w = 25, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
{.bitmap_index = 103511, .adv_w = 320, .box_w = 21, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 103470, .adv_w = 400, .box_w = 25, .box_h = 15, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 103679, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
{.bitmap_index = 103658, .adv_w = 320, .box_w = 21, .box_h = 16, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 103837, .adv_w = 322, .box_w = 21, .box_h = 13, .ofs_x = 0, .ofs_y = 1}
|
{.bitmap_index = 103826, .adv_w = 240, .box_w = 15, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
|
{.bitmap_index = 103984, .adv_w = 322, .box_w = 21, .box_h = 13, .ofs_x = 0, .ofs_y = 1}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*---------------------
|
/*---------------------
|
||||||
@@ -16807,10 +16829,10 @@ static const uint16_t unicode_list_12[] = {
|
|||||||
0xcf36, 0xcf37, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf51, 0xcf52,
|
0xcf36, 0xcf37, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf51, 0xcf52,
|
||||||
0xcf58, 0xcf5a, 0xcf5b, 0xcf5e, 0xcf61, 0xcf62, 0xcf63, 0xcf65,
|
0xcf58, 0xcf5a, 0xcf5b, 0xcf5e, 0xcf61, 0xcf62, 0xcf63, 0xcf65,
|
||||||
0xcf6a, 0xcf6e, 0xcf77, 0xcf7d, 0xcf7f, 0xcf96, 0xcfaa, 0xcfae,
|
0xcf6a, 0xcf6e, 0xcf77, 0xcf7d, 0xcf7f, 0xcf96, 0xcfaa, 0xcfae,
|
||||||
0xcfaf, 0xcfb1, 0xcfb3, 0xcfca, 0xcfd1, 0xcfd4, 0xcfdd, 0xd006,
|
0xcfaf, 0xcfb1, 0xcfb3, 0xcfca, 0xcfd1, 0xcfd4, 0xcfd5, 0xcfdd,
|
||||||
0xd00e, 0xd038, 0xd045, 0xd06f, 0xd0d5, 0xd12a, 0xd12b, 0xd12c,
|
0xd006, 0xd00e, 0xd038, 0xd045, 0xd06f, 0xd0d5, 0xd12a, 0xd12b,
|
||||||
0xd12d, 0xd12e, 0xd163, 0xd171, 0xd17d, 0xd1d7, 0xd1dc, 0xd1ee,
|
0xd12c, 0xd12d, 0xd12e, 0xd163, 0xd171, 0xd17d, 0xd1d7, 0xd1dc,
|
||||||
0xd2af, 0xd3c1, 0xd403, 0xd444, 0xd593, 0xd6ac, 0xd78c
|
0xd1ee, 0xd2af, 0xd3c1, 0xd403, 0xd444, 0xd593, 0xd6ac, 0xd78c
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Collect the unicode lists and glyph_id offsets*/
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
@@ -16866,7 +16888,7 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
.range_start = 8470, .range_length = 55181, .glyph_id_start = 1017,
|
.range_start = 8470, .range_length = 55181, .glyph_id_start = 1017,
|
||||||
.unicode_list = unicode_list_12, .glyph_id_ofs_list = NULL, .list_length = 79, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
.unicode_list = unicode_list_12, .glyph_id_ofs_list = NULL, .list_length = 80, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -17014,7 +17036,8 @@ static const uint8_t kern_left_class_mapping[] =
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Map glyph_ids to kern right classes*/
|
/*Map glyph_ids to kern right classes*/
|
||||||
@@ -17156,7 +17179,8 @@ static const uint8_t kern_right_class_mapping[] =
|
|||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Kern values between classes*/
|
/*Kern values between classes*/
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
#pragma once
|
||||||
|
// Tools › Flashlight: the whole panel lit at full brightness, kept on (no
|
||||||
|
// auto-off) until a key. Not on e-ink, which gives no light. Leaving it, by
|
||||||
|
// a key or anything that changes the screen, puts the brightness back
|
||||||
|
// (UITask::setCurrScreen).
|
||||||
|
// Included by UITask.cpp.
|
||||||
|
|
||||||
|
class FlashlightScreen : public UIScreen {
|
||||||
|
UITask* _task;
|
||||||
|
|
||||||
|
public:
|
||||||
|
FlashlightScreen(UITask* task) : _task(task) {}
|
||||||
|
|
||||||
|
int render(DisplayDriver& display) override {
|
||||||
|
display.setBrightness(4);
|
||||||
|
display.setColor(DisplayDriver::LIGHT);
|
||||||
|
display.fillRect(0, 0, display.width(), display.height());
|
||||||
|
return 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool handleInput(char c) override {
|
||||||
|
(void)c;
|
||||||
|
_task->leaveTool();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -14,7 +14,7 @@ public:
|
|||||||
enum Action {
|
enum Action {
|
||||||
ACT_NEARBY, ACT_LIVESHARE, ACT_TRAIL, ACT_LOCATOR, ACT_COMPASS,
|
ACT_NEARBY, ACT_LIVESHARE, ACT_TRAIL, ACT_LOCATOR, ACT_COMPASS,
|
||||||
ACT_BOT, ACT_AUTOADVERT, ACT_REPEATER, ACT_ADMIN,
|
ACT_BOT, ACT_AUTOADVERT, ACT_REPEATER, ACT_ADMIN,
|
||||||
ACT_CLOCK, ACT_RINGTONE
|
ACT_CLOCK, ACT_RINGTONE, ACT_FLASHLIGHT
|
||||||
#if defined(PIN_GPIO1)
|
#if defined(PIN_GPIO1)
|
||||||
, ACT_GPIO
|
, ACT_GPIO
|
||||||
#endif
|
#endif
|
||||||
@@ -51,6 +51,7 @@ public:
|
|||||||
case ACT_ADMIN: task->pickAdminTarget(); break; // Admin is remote-only: pick a node first
|
case ACT_ADMIN: task->pickAdminTarget(); break; // Admin is remote-only: pick a node first
|
||||||
case ACT_CLOCK: task->gotoClockTools(); break;
|
case ACT_CLOCK: task->gotoClockTools(); break;
|
||||||
case ACT_RINGTONE: task->gotoRingtoneEditor(); break;
|
case ACT_RINGTONE: task->gotoRingtoneEditor(); break;
|
||||||
|
case ACT_FLASHLIGHT: task->gotoFlashlight(); break;
|
||||||
#if defined(PIN_GPIO1)
|
#if defined(PIN_GPIO1)
|
||||||
case ACT_GPIO: task->gotoGpioScreen(); break;
|
case ACT_GPIO: task->gotoGpioScreen(); break;
|
||||||
#endif
|
#endif
|
||||||
@@ -135,6 +136,9 @@ const ToolsScreen::Tool ToolsScreen::COMMS_TOOLS[] = {
|
|||||||
const ToolsScreen::Tool ToolsScreen::SYSTEM_TOOLS[] = {
|
const ToolsScreen::Tool ToolsScreen::SYSTEM_TOOLS[] = {
|
||||||
{ "Clock Tools", ACT_CLOCK },
|
{ "Clock Tools", ACT_CLOCK },
|
||||||
{ "Ringtone Editor", ACT_RINGTONE },
|
{ "Ringtone Editor", ACT_RINGTONE },
|
||||||
|
#if !defined(EINK_DISPLAY_MODEL) // Features::IS_EINK: no light to give
|
||||||
|
{ "Flashlight", ACT_FLASHLIGHT },
|
||||||
|
#endif
|
||||||
#if defined(PIN_GPIO1)
|
#if defined(PIN_GPIO1)
|
||||||
{ "GPIO", ACT_GPIO },
|
{ "GPIO", ACT_GPIO },
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ static const telemetry::Style L1_INFO = { "\xc2\xb0", true, false, 5 };
|
|||||||
#if defined(PIN_GPIO1)
|
#if defined(PIN_GPIO1)
|
||||||
#include "GpioScreen.h"
|
#include "GpioScreen.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "FlashlightScreen.h"
|
||||||
#include "ToolsScreen.h"
|
#include "ToolsScreen.h"
|
||||||
#include "CalendarView.h" // the month under a tall clock, Clock tools › Calendar
|
#include "CalendarView.h" // the month under a tall clock, Clock tools › Calendar
|
||||||
#include "ClockToolsScreen.h" // Alarm / Timer / Stopwatch / Calendar (Clock page › Enter)
|
#include "ClockToolsScreen.h" // Alarm / Timer / Stopwatch / Calendar (Clock page › Enter)
|
||||||
@@ -226,6 +227,7 @@ void UITask::begin(DisplayDriver* display, SensorManager* sensors, NodePrefs* no
|
|||||||
status_screen = new StatusScreen(this);
|
status_screen = new StatusScreen(this);
|
||||||
repeater_screen = new RepeaterScreen(this);
|
repeater_screen = new RepeaterScreen(this);
|
||||||
clock_tools = new ClockToolsScreen(this, node_prefs);
|
clock_tools = new ClockToolsScreen(this, node_prefs);
|
||||||
|
if (!Features::IS_EINK) flashlight = new FlashlightScreen(this);
|
||||||
#if defined(PIN_GPIO1)
|
#if defined(PIN_GPIO1)
|
||||||
gpio_screen = new GpioScreen(this, node_prefs);
|
gpio_screen = new GpioScreen(this, node_prefs);
|
||||||
#endif
|
#endif
|
||||||
@@ -273,6 +275,7 @@ void UITask::gotoStatusScreen(uint8_t tab) {
|
|||||||
}
|
}
|
||||||
void UITask::gotoRepeaterScreen() { setCurrScreen(repeater_screen); }
|
void UITask::gotoRepeaterScreen() { setCurrScreen(repeater_screen); }
|
||||||
void UITask::gotoClockTools() { setCurrScreen(clock_tools); }
|
void UITask::gotoClockTools() { setCurrScreen(clock_tools); }
|
||||||
|
void UITask::gotoFlashlight() { setCurrScreen(flashlight); }
|
||||||
void UITask::gotoGpioScreen() {
|
void UITask::gotoGpioScreen() {
|
||||||
#if defined(PIN_GPIO1)
|
#if defined(PIN_GPIO1)
|
||||||
setCurrScreen(gpio_screen);
|
setCurrScreen(gpio_screen);
|
||||||
@@ -729,6 +732,7 @@ void UITask::setCurrScreen(UIScreen* c) {
|
|||||||
// begin()) stays nullptr thanks to the in-class initialisers. Bail here so
|
// begin()) stays nullptr thanks to the in-class initialisers. Bail here so
|
||||||
// that mistake is an inert no-op instead of a null deref in render()/poll().
|
// that mistake is an inert no-op instead of a null deref in render()/poll().
|
||||||
if (!c) return;
|
if (!c) return;
|
||||||
|
if (flashlight && curr == flashlight && c != flashlight) applyBrightness(); // its full brightness goes with it
|
||||||
curr = c;
|
curr = c;
|
||||||
c->onShow(); // central per-visit reset hook (see UIScreen::onShow)
|
c->onShow(); // central per-visit reset hook (see UIScreen::onShow)
|
||||||
_next_refresh = 0;
|
_next_refresh = 0;
|
||||||
@@ -1440,6 +1444,10 @@ void UITask::loop() {
|
|||||||
_auto_off = millis() + AUTO_OFF_MILLIS;
|
_auto_off = millis() + AUTO_OFF_MILLIS;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
if (flashlight && curr == flashlight) { // a torch stays lit; after it, the usual timeout
|
||||||
|
uint32_t aoff = autoOffMillis();
|
||||||
|
_auto_off = millis() + (aoff > 0 ? aoff : AUTO_OFF_MILLIS);
|
||||||
|
}
|
||||||
if (!_locked && autoOffMillis() > 0 && (int32_t)(millis() - _auto_off) >= 0 && !isRinging()) {
|
if (!_locked && autoOffMillis() > 0 && (int32_t)(millis() - _auto_off) >= 0 && !isRinging()) {
|
||||||
_display->turnOff();
|
_display->turnOff();
|
||||||
#ifdef PIN_LED
|
#ifdef PIN_LED
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ class UITask : public UITaskBase, public UiCoreHost {
|
|||||||
UIScreen* status_screen = nullptr; // Home › Status (radio, GPS, sky, power, mesh, system)
|
UIScreen* status_screen = nullptr; // Home › Status (radio, GPS, sky, power, mesh, system)
|
||||||
UIScreen* repeater_screen = nullptr;
|
UIScreen* repeater_screen = nullptr;
|
||||||
UIScreen* clock_tools = nullptr;
|
UIScreen* clock_tools = nullptr;
|
||||||
|
UIScreen* flashlight = nullptr; // not on e-ink (Features::IS_EINK)
|
||||||
#if defined(PIN_GPIO1)
|
#if defined(PIN_GPIO1)
|
||||||
UIScreen* gpio_screen = nullptr;
|
UIScreen* gpio_screen = nullptr;
|
||||||
#endif
|
#endif
|
||||||
@@ -386,6 +387,7 @@ public:
|
|||||||
void gotoRepeaterScreen();
|
void gotoRepeaterScreen();
|
||||||
void gotoGpioScreen(); // no-op on boards without user GPIO pins (see PIN_GPIO1)
|
void gotoGpioScreen(); // no-op on boards without user GPIO pins (see PIN_GPIO1)
|
||||||
void gotoClockTools(); // Alarm / Timer / Stopwatch (from the home Clock page)
|
void gotoClockTools(); // Alarm / Timer / Stopwatch (from the home Clock page)
|
||||||
|
void gotoFlashlight();
|
||||||
// Wake the display for an alarm/timer ring (force an immediate refresh).
|
// Wake the display for an alarm/timer ring (force an immediate refresh).
|
||||||
void wakeForAlarm();
|
void wakeForAlarm();
|
||||||
// Clear any active alert overlay early (alarm dismiss).
|
// Clear any active alert overlay early (alarm dismiss).
|
||||||
|
|||||||
Reference in New Issue
Block a user