feat: WebSocket bridge for CAN monitor dashboard (Issue #697) #702

Merged
sl-jetson merged 1 commits from sl-webui/issue-697-websocket-bridge into main 2026-03-20 17:38:25 -04:00
Collaborator

Connect CAN monitor panel to live ROS2 topics via rosbridge.

rosbridge config:

  • rosbridge_params.yaml: add /saltybot/barometer, /vesc/left/state, /vesc/right/state to topics_glob whitelist (were missing — blocked live data from reaching the panel)
  • can_monitor.launch.py: new lightweight launch scoped to 5 CAN monitor topics; port overridable (ros2 launch saltybot_bringup can_monitor.launch.py port:=9091)

Panel auto-reconnect (can_monitor_panel.js):

  • Exponential backoff: 2s → 3s → 4.5s → … → 30s cap (×1.5 factor)
  • Countdown displayed in connection label ("Retry in Xs…")
  • Backoff resets on successful connection; manual CONNECT cancels pending retry

Closes #697

Connect CAN monitor panel to live ROS2 topics via rosbridge. **rosbridge config:** - `rosbridge_params.yaml`: add `/saltybot/barometer`, `/vesc/left/state`, `/vesc/right/state` to topics_glob whitelist (were missing — blocked live data from reaching the panel) - `can_monitor.launch.py`: new lightweight launch scoped to 5 CAN monitor topics; port overridable (`ros2 launch saltybot_bringup can_monitor.launch.py port:=9091`) **Panel auto-reconnect (`can_monitor_panel.js`):** - Exponential backoff: 2s → 3s → 4.5s → … → 30s cap (×1.5 factor) - Countdown displayed in connection label ("Retry in Xs…") - Backoff resets on successful connection; manual CONNECT cancels pending retry Closes #697
sl-webui added 1 commit 2026-03-20 16:23:48 -04:00
rosbridge config:
- rosbridge_params.yaml: add /saltybot/barometer, /vesc/left/state,
  /vesc/right/state to topics_glob whitelist (were missing, blocked
  the CAN monitor panel from receiving data)
- can_monitor.launch.py: new lightweight launch — rosbridge only,
  whitelist scoped to the 5 CAN monitor topics, port overridable via
  launch arg (ros2 launch saltybot_bringup can_monitor.launch.py port:=9091)

can_monitor_panel.js auto-reconnect:
- Exponential backoff: 2s → 3s → 4.5s → ... → 30s cap (×1.5 factor)
- Countdown displayed in conn-label ("Retry in Xs…") during wait
- Backoff resets to 2s on successful connection
- Manual CONNECT / Enter resets backoff and cancels pending timer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-jetson merged commit 7a100b2d14 into main 2026-03-20 17:38:24 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#702
No description provided.