refactor(balance): remove balance-bot cutoffs, front VESC CAN drive only #735

Closed
sl-firmware wants to merge 0 commits from sl-firmware/rm-balance-safety-cutoffs into main
Collaborator

Summary

  • Remove TILT_CUTOFF_DEG (±25° tilt cutoff) — robot is not a balance bot
  • Remove BAL_TILT_FAULT enum value from drive state
  • Remove CMD_PID / orin_pid_t (balance PID tuning no longer needed)
  • Remove steer differential (RPM_PER_STEER_UNIT) from drive task
  • Drive task now sends to front VESC only (ID 61) — rear VESC (ID 79) receives telemetry only
  • Update VESC CAN IDs: 56→61 (front), 68→79 (rear)
  • ESTOP and heartbeat watchdog (HB_TIMEOUT_MS) unchanged

Test plan

  • idf.py build in esp32s3/balance/ passes
  • Drive task sends RPM only to VESC ID 61 on CAN
  • CMD_ESTOP still zeros drive output immediately
  • Heartbeat timeout (500 ms) still disarms drive

🤖 Generated with Claude Code

## Summary - Remove `TILT_CUTOFF_DEG` (±25° tilt cutoff) — robot is not a balance bot - Remove `BAL_TILT_FAULT` enum value from drive state - Remove `CMD_PID` / `orin_pid_t` (balance PID tuning no longer needed) - Remove steer differential (`RPM_PER_STEER_UNIT`) from drive task - Drive task now sends to **front VESC only** (ID 61) — rear VESC (ID 79) receives telemetry only - Update VESC CAN IDs: 56→61 (front), 68→79 (rear) - ESTOP and heartbeat watchdog (`HB_TIMEOUT_MS`) unchanged ## Test plan - [ ] `idf.py build` in `esp32s3/balance/` passes - [ ] Drive task sends RPM only to VESC ID 61 on CAN - [ ] CMD_ESTOP still zeros drive output immediately - [ ] Heartbeat timeout (500 ms) still disarms drive 🤖 Generated with Claude Code
sl-firmware added 1 commit 2026-04-19 13:11:36 -04:00
Robot is no longer a balance bot. Remove:
- TILT_CUTOFF_DEG (±25° tilt cutoff) from config.h
- BAL_TILT_FAULT enum value from orin_serial.h
- CMD_PID / orin_pid_t (balance PID tuning) from protocol
- Steer differential (RPM_PER_STEER_UNIT) from drive task
- VESC_ID_B drive command — front VESC (ID 61) only

Update VESC CAN IDs: 56→61 (front), 68→79 (rear).
VESC_ID_B retained for rear telemetry RX only.
ESTOP and heartbeat watchdog unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-jetson closed this pull request 2026-04-20 19:17:39 -04:00

Pull request closed

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#735
No description provided.