pi
ed0048c795
chore(service): avoid network-online stall and speed pipenv boot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 21:27:31 +12:00
pi
b316edbaf9
fix(wifi): stagger driver ws dials and extend initial retry window
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 21:27:31 +12:00
c1b0c41ef2
fix(transport): disable UART ESP-NOW bridge by default
...
Require serial_enabled true in settings to open serial_port; default false in
set_defaults for Wi-Fi-only and dev machines.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 15:07:16 +12:00
3bb75d49de
feat(util): add binary envelope packing and message helpers
...
Includes tests for v1/v2 envelope round-trips.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 14:56:37 +12:00
3d77cb448a
chore: add vertical stand OpenSCAD model
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 14:56:35 +12:00
49383c0003
feat(espnow): add espnow-sender utility
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 14:56:35 +12:00
7d821b9c1c
chore(db): add local preset fixtures
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 14:56:35 +12:00
9b7e387ea6
chore(scripts): add dev-run helper
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 14:56:34 +12:00
b4f0d1891e
chore(submodule): bump led-driver and led-tool; register led-simulator
...
led-simulator was already a gitlink; add the missing .gitmodules entry.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 14:56:30 +12:00
0da30b6d6b
fix(submodule): update led-tool pointer to existing commit
2026-04-30 23:28:39 +12:00
6cbb728d9a
feat(patterns): add new pattern suite and improve mobile controls
...
Add a broad set of LED patterns with metadata/tests and update zone/profile preset seeding, while refining mobile/desktop UI behavior for scrolling, brightness controls, and bulk pattern sending.
2026-04-23 20:07:55 +12:00
ff92451a76
feat(profiles): seed twinkle preset defaults
...
Made-with: Cursor
2026-04-21 20:43:25 +12:00
60485bc06a
feat(ui): add clear device presets action
...
Made-with: Cursor
2026-04-21 00:44:38 +12:00
f6f299c3e5
feat(presets): add radiate pattern defaults
...
Made-with: Cursor
2026-04-20 23:38:02 +12:00
66485f5c59
chore(led-driver): bump submodule for patterns and tests
...
Made-with: Cursor
2026-04-19 23:28:22 +12:00
5f9ff9bcc9
style(ui): presets patterns and layout tweaks
...
Made-with: Cursor
2026-04-19 23:28:08 +12:00
35730b36f0
feat(api): improve pattern deploy and device tcp handling
...
Made-with: Cursor
2026-04-19 23:28:01 +12:00
d516833cc3
feat(profiles): seed colour cycle flicker and flame presets
...
Made-with: Cursor
2026-04-19 23:27:57 +12:00
220be64dec
feat(db): add flicker flame presets and pattern metadata
...
Made-with: Cursor
2026-04-19 23:27:49 +12:00
b433477c64
chore(db): trim device registry
...
Made-with: Cursor
2026-04-19 23:27:37 +12:00
43b7047c57
chore(submodule): bump led-tool for cli upload flags
...
Made-with: Cursor
2026-04-15 00:46:40 +12:00
167417d1ec
feat(ui): add web led-tool usb controls
...
Made-with: Cursor
2026-04-15 00:46:31 +12:00
fb8141b320
fix(server): close http listener cleanly on shutdown
2026-04-15 00:00:23 +12:00
96712dda88
feat(controller): migrate wifi drivers from tcp to websocket clients
2026-04-14 23:13:26 +12:00
f5a7b42e7c
fix(rules): revert unintended submodule changes
2026-04-14 21:54:02 +12:00
1b1e9d727e
chore(rules): enforce strict user-scoped changes
2026-04-14 21:50:55 +12:00
668d29b786
chore(test): move pytest defaults to pyproject.toml
...
Made-with: Cursor
2026-04-12 02:39:39 +12:00
e5f42e099e
chore: remove esp32 firmware tree and dev mpremote helper
...
Made-with: Cursor
2026-04-12 02:39:37 +12:00
a9edda38ef
test(browser): fixture, env host and pacing, safer colour inputs
...
Made-with: Cursor
2026-04-12 02:34:46 +12:00
edec5ff460
chore(git): ignore pytest cache and ropeproject
...
Made-with: Cursor
2026-04-12 02:34:44 +12:00
pi
264eb7296f
test: fix zone_ctl fixture, pattern assertions, and browser cleanup
...
Made-with: Cursor
2026-04-12 00:27:43 +12:00
pi
fbd4295302
feat(ui): patterns list and create form layout
...
Made-with: Cursor
2026-04-12 00:13:58 +12:00
pi
7bdb324ebc
feat(patterns): driver_patterns helper, on/off ota guard, drop duplicate py tree
...
Made-with: Cursor
2026-04-12 00:13:56 +12:00
pi
28b19b5219
docs: zones, transports, pattern ota, and submodule readmes
...
Made-with: Cursor
2026-04-12 00:13:54 +12:00
pi
75ddd559c9
chore(db,led-tool): sync device/zone data and led-tool submodule
...
Made-with: Cursor
2026-04-11 15:20:26 +12:00
pi
5a1067263a
chore: add pattern samples, http driver helpers, OTA/UDP test tools
...
- patterns/: sample dynamic pattern modules for OTA
- esp32/msg.json: example bridge message shape
- models/http_driver.py, wifi_peer.py: Wi-Fi driver HTTP poll helpers
- tests: pattern OTA send script and UDP discovery echo server
- Submodule led-driver: http_poll and test utilities
Made-with: Cursor
2026-04-11 15:19:15 +12:00
pi
e67de6215a
feat(patterns,api): pattern OTA, graceful shutdown, driver delivery updates
...
- Pattern controller/UI and presets patterns tab for OTA to Wi-Fi drivers
- Device controller extensions; driver_delivery chunk handling
- main: SIGINT/SIGTERM shutdown, TCP/UDP server close coordination
- Submodule led-driver: Wi-Fi default transport, lazy espnow import, dynamic patterns
Made-with: Cursor
2026-04-11 15:10:23 +12:00
pi
7179b6531e
feat(controller): udp hello discovery and remove tcp registration
...
Made-with: Cursor
2026-04-06 21:28:13 +12:00
pi
fd618d7714
feat(zones): rename tabs to zones across api, ui, and storage
...
Made-with: Cursor
2026-04-06 18:22:03 +12:00
pi
d1ffb857c8
feat(ui): devices tcp status, tabs send, preset websocket hooks
...
Made-with: Cursor
2026-04-06 00:22:00 +12:00
pi
f8eba0ee7e
feat(api): tcp driver registry, identify, preset push delivery
...
- Track Wi-Fi TCP clients, liveness pings, disconnect broadcast, bind errors via gather\n- Device list/get include connected; POST identify with __identify preset\n- Presets push/send delivery helpers; bump led-driver hello type
Made-with: Cursor
2026-04-06 00:21:57 +12:00
pi
e6b5bf2cf1
feat(devices): wifi tcp registry, device API/UI, tests; bump led-tool
...
Made-with: Cursor
2026-04-05 21:13:07 +12:00
pi
fbae75b957
chore(cursor): add scoped-fixes rule for minimal changes
...
Made-with: Cursor
2026-04-05 21:13:03 +12:00
pi
93476655fc
test: add tcp mock server with bind conflict hints
...
Made-with: Cursor
2026-04-05 16:41:23 +12:00
pi
09a87b79d2
docs(ui): update help assets and regenerate help pdf
2026-03-26 00:40:40 +13:00
pi
ec39df00fc
feat(settings/espnow): validate wifi_channel and wire into firmware
2026-03-26 00:40:21 +13:00
pi
43d494bcb9
fix(api): prevent circular reference in pattern create
2026-03-26 00:40:08 +13:00
pi
fed312a397
fix(test/endpoints): add pytest coverage for all Microdot routes
2026-03-26 00:39:41 +13:00
63235c7822
fix(ui): enforce save semantics for default and preset chunks
2026-03-22 02:53:34 +13:00
5badf17719
refactor(ui): simplify modal interactions and refresh fixtures
2026-03-22 02:00:28 +13:00