7 Commits
Author SHA1 Message Date
Juli cde3478337 Fix opentopia cameras replaying back-to-back
Cached opentopia stream URLs go stale, and the stored-URL retry path
re-showed the same camera (sometimes a full second time via the history
interaction), which read as frequent repeats. Now opentopia cameras
re-resolve their stream URL on every play and the retry dance is gone; a
last-drawn guard also prevents any camera being drawn twice in a row.
Verified: 29 consecutive cameras, 29 distinct, 0 repeats.
2026-09-17 16:16:34 +02:00
Juli 836e815f30 100 favourite slots; Random skips recently shown cameras
Random mode keeps a ring of the last 1200 cameras (provider|id) and
skips them, giving up after four fully-seen pages. Opentopia pages now
contribute all 19 cameras instead of the first six.
2026-09-17 15:19:49 +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 bd05fca812 Add opentopia.com as a second camera provider
Listing pages (rated/newest) and per-camera pages are fetched over HTTPS
with the certificate bundle; the camera page's Live Feed mode yields the
camera's own MJPEG URL (Current Still as fallback), resolved just before
playing and cached in favourites. New Provider menu row: insecam /
opentopia / mixed. cam_info_t gains provider + title fields and the
settings blob a version byte; older favourites and settings still load.
2026-09-17 02:04:57 +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