PRIORITY: Make VESC CAN motor IDs fully configurable — default 56/68 #667

Closed
opened 2026-03-17 12:28:32 -04:00 by sl-jetson · 0 comments
Collaborator

Problem

VESC motor CAN IDs 61/79 are hardcoded as defaults across the entire CAN stack. We are switching to FSESC 6.7 Pro Mini Dual which uses IDs 56/68. Motor IDs must NEVER be hardcoded — they must come from a single YAML config source.

Scope — ALL files that reference 61/79 must be updated

Merged code (on main):

  • saltybot_vesc_driver/vesc_driver_node.py — declare_parameter defaults 61/79
  • saltybot_vesc_driver/config/vesc_params.yaml — left_motor_id: 61, right_motor_id: 79
  • saltybot_vesc_telemetry/vesc_telemetry_node.py — declare_parameter defaults 61/79
  • saltybot_vesc_telemetry/config/vesc_telemetry_params.yaml — left_can_id: 61, right_can_id: 79
  • saltybot_vesc_telemetry/test/test_vesc_telemetry.py — literal 61/79 in tests
  • saltybot_nav2_slam/vesc_odometry_bridge.py — declare_parameter defaults 61/79, docstrings reference can_61/can_79
  • saltybot_nav2_slam/config/vesc_odometry_params.yaml — left_can_id: 61, right_can_id: 79

Open PR branches (also need fixing):

  • sl-jetson/issue-651-vesc-health — config + node defaults 61/79
  • sl-controls/issue-652-smooth-velocity — test references CAN ID 61
  • sl-android/issue-656-vesc-mqtt-relay — test uses can_id: 61
  • sl-uwb/issue-657-geofence-speed-limit — config + node defaults 61/79
  • sl-firmware/issue-658-diagnostics-aggregator — test references CAN ID 61

Requirements

  1. Change ALL default CAN IDs from 61/79 to 56/68 (new FSESC 6.7 Pro Mini Dual)
  2. ALL YAML configs must use 56/68 as defaults
  3. ALL declare_parameter() calls must default to 56/68
  4. Topic names must use the configured ID dynamically (e.g. /vesc/can_{id}/state), NOT hardcoded /vesc/can_61/state
  5. Tests should use the configured defaults or parameterize the IDs
  6. Docstrings/comments referencing 61/79 must be updated
  7. Single source of truth: one YAML config that all nodes read from

Priority

P0 — this blocks hardware testing with the new ESC.

## Problem VESC motor CAN IDs 61/79 are hardcoded as defaults across the entire CAN stack. We are switching to FSESC 6.7 Pro Mini Dual which uses IDs 56/68. Motor IDs must NEVER be hardcoded — they must come from a single YAML config source. ## Scope — ALL files that reference 61/79 must be updated ### Merged code (on main): - `saltybot_vesc_driver/vesc_driver_node.py` — declare_parameter defaults 61/79 - `saltybot_vesc_driver/config/vesc_params.yaml` — left_motor_id: 61, right_motor_id: 79 - `saltybot_vesc_telemetry/vesc_telemetry_node.py` — declare_parameter defaults 61/79 - `saltybot_vesc_telemetry/config/vesc_telemetry_params.yaml` — left_can_id: 61, right_can_id: 79 - `saltybot_vesc_telemetry/test/test_vesc_telemetry.py` — literal 61/79 in tests - `saltybot_nav2_slam/vesc_odometry_bridge.py` — declare_parameter defaults 61/79, docstrings reference can_61/can_79 - `saltybot_nav2_slam/config/vesc_odometry_params.yaml` — left_can_id: 61, right_can_id: 79 ### Open PR branches (also need fixing): - `sl-jetson/issue-651-vesc-health` — config + node defaults 61/79 - `sl-controls/issue-652-smooth-velocity` — test references CAN ID 61 - `sl-android/issue-656-vesc-mqtt-relay` — test uses can_id: 61 - `sl-uwb/issue-657-geofence-speed-limit` — config + node defaults 61/79 - `sl-firmware/issue-658-diagnostics-aggregator` — test references CAN ID 61 ## Requirements 1. Change ALL default CAN IDs from 61/79 to **56/68** (new FSESC 6.7 Pro Mini Dual) 2. ALL YAML configs must use 56/68 as defaults 3. ALL declare_parameter() calls must default to 56/68 4. Topic names must use the configured ID dynamically (e.g. `/vesc/can_{id}/state`), NOT hardcoded `/vesc/can_61/state` 5. Tests should use the configured defaults or parameterize the IDs 6. Docstrings/comments referencing 61/79 must be updated 7. Single source of truth: one YAML config that all nodes read from ## Priority P0 — this blocks hardware testing with the new ESC.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

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