feat: WebUI diagnostics dashboard (Issue #562) #567
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "sl-webui/issue-562-diagnostics"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements Issue #562 — standalone system diagnostics dashboard for the Saltybot WebUI.
Files
ui/diagnostics_panel.html— markup, all panelsui/diagnostics_panel.js— rosbridge subscriptions, state machine, render loopui/diagnostics_panel.css— responsive dark-theme layout (CSS grid)No build step. Open
ui/diagnostics_panel.htmldirectly or serveui/with any static server.Panels
Features
throttle_rate: 500ms, pulsing dot indicatorlocalStorageROS Topics
/diagnosticsdiagnostic_msgs/DiagnosticArray/saltybot/balance_statestd_msgs/String(JSON)Test plan
ui/diagnostics_panel.html, connect to rosbridge🤖 Generated with Claude Code
Standalone 3-file diagnostics dashboard (ui/diagnostics_panel.{html,js,css}). No build step — serve the ui/ directory directly. roslib.js via CDN. Panels: - Battery: voltage (V), SOC (%), current (A) with large readouts + gauge bars + 2-minute sparkline history canvas, 4S LiPo thresholds - Temperatures: CPU/GPU (Jetson tegrastats) + Board/STM32 + Motor L/R color-coded temp boxes with mini progress bars (green<60 amber<75 red>75°C) - Motor current: per-wheel current gauge bars + CMD value + balance_state label Thresholds: warn 8A / crit 12A - Resources: RAM / GPU memory / Disk — gauge bars with used/total display Thresholds: warn 80% / crit 95% - WiFi / Network: RSSI signal bars (5-level) + dBm readout + latency (ms) MQTT broker status via mqtt_connected KeyValue - ROS2 node health: full DiagnosticArray node list with OK/WARN/ERROR/STALE badges, per-node message preview, MutationObserver count badge Features: - Auto 2 Hz refresh via rosbridge subscriptions (throttle_rate: 500ms) - Pulsing refresh indicator dot on each update - System status bar: HEALTHY/DEGRADED/FAULT/STALE badge + battery/thermal/net - Alert thresholds: red/amber/green for every metric - Responsive CSS grid: 3-col → 2-col → 1-col via media queries - WS URL persisted in localStorage ROS topics: SUB /diagnostics diagnostic_msgs/DiagnosticArray SUB /saltybot/balance_state std_msgs/String (JSON) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>