sl-perception ec4527b8f3 refactor: replace mamba_protocol with balance_protocol, remove all Mamba/STM32 refs
- 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>
2026-04-04 08:51:50 -04:00
2026-02-28 11:58:23 -05:00
Description
SaltyLab self-balancing bot firmware (STM32F722)
11 MiB
Languages
Python 67.1%
C 11.5%
JavaScript 9.2%
OpenSCAD 7.7%
HTML 1.5%
Other 2.9%