8 Commits
Author SHA1 Message Date
Juli 78df0e4163 Keep the Wi-Fi setup portal open when opened on purpose
Choosing Wi-Fi setup (or holding BOOT) while already connected used to
fall straight through: run_portal waited for a connection, which the
existing Wi-Fi satisfied at once. A forced portal now stays open until
new credentials are saved (which restarts the device); the no-connection
fallback still proceeds on auto-reconnect.
2026-09-17 19:50:57 +02:00
Juli 33089b95ab Wheel side setting: rotate the display 180° for left-handed use
Hardware mirror in the ST7789 (rotation 3 <-> rotation 1); the 35-px
window offset is the same both ways. Stored in settings v3.
2026-09-17 15:52:56 +02:00
Juli e82f0ac137 Require the button to confirm a knob wake
A knob turn still wakes the chip (the RTC can't tell gestures apart), but
the firmware now stays dark and checks the button: held while turning it
boots at once; otherwise the ring glows for 2.5 s waiting for a click and
goes back to deep sleep if none comes. Screen and Wi-Fi never start for
an accidental nudge.
2026-09-17 15:12:53 +02:00
Juli 3bdfcba6fb Selectable UI themes and a Popular source
Themes (Phosphor, Pink, Amber, Ice, Terminal) restyle the menu, boot
page and toasts live from the menu; all but Terminal use readable
Montserrat text. Source gains Popular: the top-rated listings walked in
rank order from page 1, alternating providers when mixed.
2026-09-17 03:11:25 +02:00
Juli 89dfdf09a6 24 favourite slots and a Power off menu entry
Power off drops the peripheral rail (PWR_ON low), sleeps the panel and
puts the chip into deep sleep with ext1 wake armed on the encoder pins,
choosing any-low or any-high from the knob's resting state so a single
detent wakes it. The button (GPIO0) is not a wake source on purpose.
2026-09-17 02:20:48 +02:00
Juli f238cfc9bf Battery/USB readout and wrap-around menu scrolling
BAT_ADC (GPIO4) sits between two 100k resistors on the switched supply
rail, so it reads the cell on battery and ~4.4 V on USB; above 4.25 V is
reported as USB power. On battery the caption shows a glyph + percentage
from a LiPo OCV table; the menu shows voltage and source. Menu lists now
wrap at both ends.
2026-09-17 01:28:59 +02:00
Juli d92a2e53cc On-device menu, persistent settings and 12 favourite slots
Hold the knob to open a six-row menu: save/remove the playing camera as
a favourite (12 NVS slots), play or forget favourites, choose the
source (random insecam or favourites), time per camera, listing,
screen and ring brightness, caption, and reboot into Wi-Fi setup.
Settings live in NVS and override the Kconfig first-boot defaults.
Camera URLs are stored with their COUNTER placeholder so favourites get
a fresh cache-buster on every visit.
2026-09-17 00:57:02 +02:00
Juli 65a391940b insecam desk widget for the LilyGO T-Embed
ESP-IDF 5.5 + LVGL 9 firmware that plays random public cameras from
insecam.org on the T-Embed's 320x170 screen, live MJPEG where available,
a new camera every 20 seconds. Knob steps through cameras, LED ring shows
the countdown. Auto-detects the original vs CC1101 board, reuses Wi-Fi
credentials from NVS and falls back to a captive-portal setup hotspot.
2026-09-17 00:38:09 +02:00