Commit Graph

8 Commits

Author SHA1 Message Date
Martino Ferrari e6ab50e90e working prototype 2026-05-19 10:48:06 +02:00
Martino Ferrari bdcdb39d21 Functional v2 2026-05-18 23:28:29 +02:00
Martino Ferrari f06b948c0f Working 1 st version 2026-05-18 18:07:09 +02:00
Martino Ferrari 06500d5399 Funcitional 2026-05-18 18:07:01 +02:00
Martino Ferrari ed5d381d32 UDPStreamer: poll data semaphore first, then non-blocking command poll
Reorder Execute() main stage so the background thread waits on dataSem
(sleeping until the RT thread posts) before doing the socket select().
The socket poll is now non-blocking (timeout=0) since command latency
bounded by UDPS_DATA_WAIT_MS is acceptable for CONNECT/DISCONNECT.

Also force-remove old udpstreamer-webui binary in run.sh before rebuild
so stale embedded assets are never served.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 23:51:11 +02:00
Martino Ferrari 82005ec5d3 Fix WebUI rolling-window and buffer-wrap display bugs
Replace fragile zoomGuard boolean with userInteracting flag so that
programmatic scale updates (rolling window, resize, fit) never lock
p.xRange.  Only genuine mouse drag or scroll-wheel events on the uPlot
canvas set userInteracting=true and allow onZoom to freeze the view.

Also move stale-xRange detection out of the needsRedraw gate so that a
plot whose circular buffer has scrolled past a frozen zoom range
automatically returns to rolling-window mode every frame, fixing the
second bug where data disappeared as the buffer wrapped.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 23:48:31 +02:00
Martino Ferrari e258b9eb7f first working prototype 2026-05-15 17:42:36 +02:00
Martino Ferrari e3389f932b FIrs 2026-05-15 17:42:14 +02:00