sl-firmware created pull request seb/saltylab-firmware#735

sl-firmware
Sun, 19 Apr 2026 13:11:36 -0400

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

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