diff --git a/ui/dashboard.js b/ui/dashboard.js index d140d6e..4463543 100644 --- a/ui/dashboard.js +++ b/ui/dashboard.js @@ -21,6 +21,7 @@ const PANELS = [ { id: 'events', watchTopic: '/rosout', msgType: 'rcl_interfaces/msg/Log' }, { id: 'settings', watchTopic: null, msgType: null }, // service-based { id: 'gimbal', watchTopic: '/gimbal/state', msgType: 'geometry_msgs/Vector3' }, + { id: 'can', watchTopic: '/vesc/left/state', msgType: 'std_msgs/String' }, ]; // ── State ────────────────────────────────────────────────────────────────── @@ -180,6 +181,13 @@ function setupTopics() { }); gimbalTopic.subscribe(() => { markPanelLive('gimbal'); }); + // ── VESC left state (for CAN monitor card liveness) ── + const vescWatch = new ROSLIB.Topic({ + ros, name: '/vesc/left/state', + messageType: 'std_msgs/String', throttle_rate: 1000, + }); + vescWatch.subscribe(() => { markPanelLive('can'); }); + // ── cmd_vel monitor (for gamepad card liveness) ── const cmdVelWatch = new ROSLIB.Topic({ ros, name: '/cmd_vel', diff --git a/ui/index.html b/ui/index.html index 67a30b1..7b783ca 100644 --- a/ui/index.html +++ b/ui/index.html @@ -193,6 +193,28 @@ + + + 📡 + + CAN MONITOR + #681 + + + + VESC L/R RPM · current · temps · voltage · IMU pitch/roll/yaw · balance PID · barometer + + /vesc/left/state + /vesc/right/state + /saltybot/imu + /saltybot/balance_state + + + + 🎥
/vesc/left/state
/vesc/right/state
/saltybot/imu
/saltybot/balance_state