feat(ui-new): a bolt beside the battery while USB power is connected

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-10-07 18:39:58 +02:00
co-authored by Claude Sonnet 5.5
parent 643dc09615
commit 6e13ad59ae
3 changed files with 35 additions and 1 deletions
+2 -1
View File
@@ -766,7 +766,7 @@ class HomeScreen : public UIScreen {
// icon won't fit above the reserved area, every lower-priority icon after
// it is dropped too (the list is ordered high→low).
//
// Priority: BT > GPS fix > alarm > mute > auto-advert > trail > live-share >
// Priority: power > BT > GPS fix > alarm > mute > auto-advert > trail > live-share >
// repeater. Battery (drawn above) is always rightmost. The background modes
// (advert / trail / live-share / repeater) stay outside any BT gate — they
// keep running with Bluetooth off, so their cue must not vanish with it.
@@ -782,6 +782,7 @@ class HomeScreen : public UIScreen {
const bool gps_fix = gps_on && loc->isValid();
struct Sicon { bool active; const MiniIcon* icon; };
const Sicon icons[] = {
{ board.isExternalPowered(), &ICON_CHARGE }, // USB power: next to the battery
{ _task->isSerialEnabled() && _task->isBLEConnected(), &ICON_BLUETOOTH },
{ gps_on, gps_fix ? &ICON_GPS : &ICON_GPS_SEARCH },
{ _node_prefs && _node_prefs->alarm_on, &ICON_ALARM },
+25
View File
@@ -488,6 +488,16 @@ MINI_ICON(ICON_ALARM, 9, // bell — an alarm is armed
packRow("#########"),
packRow("........."),
packRow("...###..."));
MINI_ICON(ICON_CHARGE, 9, // lightning bolt -- on external power
packRow("......##."),
packRow(".....##.."),
packRow("....##..."),
packRow("...#####."),
packRow(".#####..."),
packRow("...##...."),
packRow("..##....."),
packRow(".##......"),
packRow(".#......."));
MINI_ICON(ICON_TRAIL, 7, // map pin (GPS trail logging)
packRow("..###.."),
packRow(".#####."),
@@ -572,6 +582,14 @@ MINI_ICON(ICON_ALARM, 7, // bell — an alarm is armed
packRow(".#####."),
packRow("#######"),
packRow("...#..."));
MINI_ICON(ICON_CHARGE, 7, // lightning bolt -- on external power
packRow("....##."),
packRow("...##.."),
packRow("..##..."),
packRow(".#####."),
packRow("...##.."),
packRow("..##..."),
packRow("..#...."));
MINI_ICON(ICON_TRAIL, 7, // map pin (GPS trail logging)
packRow("..###.."),
packRow(".#####."),
@@ -644,6 +662,13 @@ MINI_ICON(ICON_ALARM, 5, // bell — an alarm is armed
packRow(".###."),
packRow("#####"),
packRow("..#.."));
MINI_ICON(ICON_CHARGE, 5, // lightning bolt -- on external power
packRow("...#."),
packRow("..##."),
packRow(".####"),
packRow("..##."),
packRow(".##.."),
packRow(".#..."));
MINI_ICON(ICON_TRAIL, 6, // map pin / location marker (GPS trail logging)
packRow(".####."),