feat: WebUI main dashboard (Issue #630) #637
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "sl-webui/issue-630-main-dashboard"
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?
Issue #630 — WebUI Main Dashboard with Panel Launcher
Replaces
ui/index.html(old USB-serial HUD) with a rosbridge-connected main dashboard. Addsui/dashboard.{css,js}.Top Bar
/diagnostics→battery_voltage_v/battery_soc_pct/saltybot/safety_zone/statusJSON/saltybot/balance_stateJSONPanel Grid
6 cards link to all standalone panels (each opens the panel HTML):
/saltybot/pose/fused/cmd_vel/diagnostics/rosout/gimbal/stateEach card: icon, title, issue number, description, topic chips, LIVE/IDLE/OFFLINE badge (updated 1 Hz, 5s timeout).
Auto-Detect Rosbridge
Probes in order:
ws://{page hostname}:9090→ws://localhost:9090→ws://saltybot.local:9090. Progress dots shown. Falls back to manual entry. Saves last successful URL to localStorage.Bottom Bar
geometry_msgs/Twistto/cmd_vel. Space bar shortcut./saltybot/drive_modeInfo Strip
rosbridge URL · msg rate · rosbridge latency (5s ping via
/rosapi/get_time) · robot IPReplaces ui/index.html (old USB-serial HUD) with a full rosbridge dashboard. Adds ui/dashboard.{css,js}. Top bar: - Robot name + ⚡ SALTYBOT logo - Live battery % + voltage with fill bar (4S LiPo: 12.0V–16.8V) - Safety state from /saltybot/safety_zone/status (GREEN/AMBER/RED) - E-stop state display - Drive mode display - ROS uptime counter - rosbridge WS input + CONNECT button Panel grid (auto-fill responsive): - MAP VIEW (#587) — /saltybot/pose/fused liveness dot - GAMEPAD TELEOP (#598) — /cmd_vel activity indicator - DIAGNOSTICS (#562) — /diagnostics liveness dot - EVENT LOG (#576) — /rosout liveness dot - SETTINGS (#614) — param service (config state, no topic) - GIMBAL (#551) — /gimbal/state liveness dot Each card shows: icon, title, issue #, description, topic chips, and a LIVE/IDLE/OFFLINE status badge updated every second. Cards open the linked standalone panel in the same tab. Auto-detect rosbridge: - Probes: page hostname:9090, localhost:9090, saltybot.local:9090 - Progress dots per candidate (trying/ok/fail) - Falls back to manual URL entry - Saves last successful URL to localStorage Bottom bar: - ⛔ E-STOP button (latches, publishes zero Twist to /cmd_vel) Space bar shortcut from dashboard - RESUME button - Drive mode switcher: MANUAL / AUTO / FOLLOW / DOCK (publishes to /saltybot/drive_mode std_msgs/String) - Session timer (HH:MM:SS since page load) Info strip: rosbridge URL · msg rate · latency (5s ping via /rosapi/get_time) · robot IP Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>