refactor: remove all Mamba/STM32 refs, replace with balance_protocol #717

Closed
sl-perception wants to merge 3 commits from sl-perception/cleanup-legacy-hw into main
Collaborator

Summary

  • Delete mamba_protocol.py (MAMBA_CMD_* 0x100–0x102 — retired hardware)
  • Add balance_protocol.py — canonical CAN codec for Orin ↔ ESP32-S3 BALANCE + VESC
  • Rewrite can_bridge_node.py — uses balance_protocol, interface can0, removes mamba_can_id
  • Rewrite test_can_bridge.py and all saltybot_can_e2e_test test files for new protocol
  • Update saltybot_bridge nodes — stm32f722esp32_balance in hardware_id
  • Update configs/YAMLs — remove Mamba F722S / STM32F722 / slcan0 references

Hardware: Orin Nano Super · ESP32-S3 BALANCE · ESP32-S3 IO · FSESC 6.7 VESC ×2 (IDs 56/68)

Test plan

  • pytest jetson/ros2_ws/src/saltybot_can_bridge/test/test_can_bridge.py -v
  • pytest jetson/ros2_ws/src/saltybot_can_e2e_test/test/ -v
  • Verify can_bridge_node starts without import errors
  • Grep for Mamba/BlackPill/STM32F722 in jetson/ros2_ws/src/ — zero matches

🤖 Generated with Claude Code

## Summary - **Delete** `mamba_protocol.py` (MAMBA_CMD_* 0x100–0x102 — retired hardware) - **Add** `balance_protocol.py` — canonical CAN codec for Orin ↔ ESP32-S3 BALANCE + VESC - **Rewrite** `can_bridge_node.py` — uses `balance_protocol`, interface `can0`, removes `mamba_can_id` - **Rewrite** `test_can_bridge.py` and all `saltybot_can_e2e_test` test files for new protocol - **Update** `saltybot_bridge` nodes — `stm32f722` → `esp32_balance` in hardware_id - **Update** configs/YAMLs — remove Mamba F722S / STM32F722 / slcan0 references Hardware: Orin Nano Super · ESP32-S3 BALANCE · ESP32-S3 IO · FSESC 6.7 VESC ×2 (IDs 56/68) ## Test plan - [ ] `pytest jetson/ros2_ws/src/saltybot_can_bridge/test/test_can_bridge.py -v` - [ ] `pytest jetson/ros2_ws/src/saltybot_can_e2e_test/test/ -v` - [ ] Verify `can_bridge_node` starts without import errors - [ ] Grep for Mamba/BlackPill/STM32F722 in `jetson/ros2_ws/src/` — zero matches 🤖 Generated with Claude Code
sl-perception added 2 commits 2026-04-04 08:52:36 -04:00
Replace old hardware (Mamba F722S, STM32F722, Jetson Nano, hoverboard ESC)
with new architecture: Orin Nano Super, ESP32-S3 BALANCE, ESP32-S3 IO,
VESC IDs 68/56. Update architecture diagram, hardware tables, UART
assignments, firmware build instructions, protocol docs, and 3D parts list.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add balance_protocol.py: canonical CAN codec for Orin <-> ESP32 BALANCE + VESC
  - ORIN_CMD_DRIVE 0x300, ORIN_CMD_MODE 0x301, ORIN_CMD_ESTOP 0x302
  - FC_STATUS 0x400, FC_VESC 0x401; VESC_LEFT_ID=56, VESC_RIGHT_ID=68
- Delete mamba_protocol.py (had MAMBA_CMD_* 0x100-0x102, MAMBA_TELEM_* 0x200-0x201)
- Rewrite can_bridge_node.py: uses balance_protocol, can0 interface, no mamba_can_id param
- Rewrite test_can_bridge.py: tests balance_protocol encode/decode
- Rewrite saltybot_can_e2e_test: protocol_defs.py + all 5 test files use new IDs
- Update saltybot_bridge: stm32f722 → esp32_balance in hardware_id fields
- Update configs/YAMLs: remove Mamba F722S/STM32F722/slcan0 references

Hardware: Orin Nano Super, ESP32-S3 BALANCE, ESP32-S3 IO, FSESC 6.7 VESC ×2

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-jetson added 1 commit 2026-04-04 08:56:21 -04:00
- Renamed mamba_protocol.py → balance_protocol.py; updated all importers
- can_bridge_node.py rewritten to use balance_protocol.py API (ESP32-S3 BALANCE)
- test_can_bridge.py rewritten to test actual balance_protocol.py constants/functions
- All STM32/Mamba references in Python, YAML, Markdown, shell scripts replaced:
  * Hardware: MAMBA F722S → ESP32-S3 BALANCE/IO
  * Device paths: /dev/stm32-bridge → /dev/esp32-io
  * Node names: stm32_serial_bridge → esp32_io_serial_bridge
  * hardware_id: stm32f722 → esp32s3-balance/esp32s3-io
- C/C++ src/include/lib/test files: added DEPRECATED header comment
- Covers: saltybot_bridge, saltybot_can_bridge, saltybot_can_e2e_test,
  saltybot_bringup, saltybot_diagnostics, saltybot_mode_switch, and all
  chassis, docs, scripts, and project files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-jetson closed this pull request 2026-04-04 09:34:38 -04:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

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