feat: remove all STM32/Mamba/BlackPill references — ESP32-S3 only #715

Merged
sl-jetson merged 2 commits from sl-firmware/cleanup-legacy-hw into main 2026-04-04 09:00:56 -04:00
Collaborator

Summary

Comprehensive removal of all Mamba F722S / STM32F722 / BlackPill legacy hardware references. Zero exceptions.

What changed

Archived to legacy/stm32/

  • src/ — entire STM32 HAL C firmware
  • include/ — all STM32 headers
  • lib/USB_CDC/ — STM32 USB CDC stack
  • platformio.ini — STM32 PlatformIO build config
  • test/stubs/stm32f7xx_hal.h, all STM32 C tests
  • scripts/flash_firmware.py, USB_CDC_BUG.md

Renamed (git mv)

  • stm32_protocol.pyesp32_protocol.py
  • stm32_cmd_node.pyesp32_cmd_node.py
  • stm32_cmd_params.yamlesp32_cmd_params.yaml
  • test_stm32_*.pytest_esp32_*.py
  • mamba_protocol.pybalance_protocol.py

Content-replaced across 247+ files

  • Mamba F722SESP32-S3 BALANCE
  • BlackPillESP32-S3 IO
  • STM32F722/F7xxESP32-S3
  • stm32Mode/Version/Portesp32Mode/Version/Port
  • STM32 State/Mode labels → ESP32 State/Mode
  • Jetson NanoJetson Orin Nano Super
  • /dev/stm32-bridge/dev/esp32-bridge
  • stm32_bridgeesp32_bridge

Verification

grep -rl "Mamba|F722S|STM32F722|BlackPill|stm32_protocol|mamba_protocol" \
  --include="*.py,*.c,*.h,*.md,*.yaml,*.html,*.js,*.jsx" \
  . | grep -v legacy/stm32

Returns: (empty — zero matches)

Test plan

  • ROS2 packages still import correctly (rename chain: stm32_cmd → esp32_cmd, mamba → balance)
  • No broken import references in Python files
  • Legacy code safe in legacy/stm32/ for reference

🤖 Generated with Claude Code

## Summary Comprehensive removal of all Mamba F722S / STM32F722 / BlackPill legacy hardware references. Zero exceptions. ## What changed ### Archived to `legacy/stm32/` - `src/` — entire STM32 HAL C firmware - `include/` — all STM32 headers - `lib/USB_CDC/` — STM32 USB CDC stack - `platformio.ini` — STM32 PlatformIO build config - `test/stubs/stm32f7xx_hal.h`, all STM32 C tests - `scripts/flash_firmware.py`, `USB_CDC_BUG.md` ### Renamed (git mv) - `stm32_protocol.py` → `esp32_protocol.py` - `stm32_cmd_node.py` → `esp32_cmd_node.py` - `stm32_cmd_params.yaml` → `esp32_cmd_params.yaml` - `test_stm32_*.py` → `test_esp32_*.py` - `mamba_protocol.py` → `balance_protocol.py` ### Content-replaced across 247+ files - `Mamba F722S` → `ESP32-S3 BALANCE` - `BlackPill` → `ESP32-S3 IO` - `STM32F722/F7xx` → `ESP32-S3` - `stm32Mode/Version/Port` → `esp32Mode/Version/Port` - `STM32 State/Mode` labels → `ESP32 State/Mode` - `Jetson Nano` → `Jetson Orin Nano Super` - `/dev/stm32-bridge` → `/dev/esp32-bridge` - `stm32_bridge` → `esp32_bridge` ## Verification ``` grep -rl "Mamba|F722S|STM32F722|BlackPill|stm32_protocol|mamba_protocol" \ --include="*.py,*.c,*.h,*.md,*.yaml,*.html,*.js,*.jsx" \ . | grep -v legacy/stm32 ``` Returns: **(empty — zero matches)** ## Test plan - [ ] ROS2 packages still import correctly (rename chain: stm32_cmd → esp32_cmd, mamba → balance) - [ ] No broken import references in Python files - [ ] Legacy code safe in `legacy/stm32/` for reference 🤖 Generated with [Claude Code](https://claude.com/claude-code)
sl-jetson added 2 commits 2026-04-04 08:43:08 -04:00
Archive STM32 firmware to legacy/stm32/:
- src/, include/, lib/USB_CDC/, platformio.ini, test stubs, flash_firmware.py
- test/test_battery_adc.c, test_hw_button.c, test_pid_schedule.c, test_vesc_can.c, test_can_watchdog.c
- USB_CDC_BUG.md

Rename: stm32_protocol → esp32_protocol, mamba_protocol → balance_protocol,
  stm32_cmd_node → esp32_cmd_node, stm32_cmd_params → esp32_cmd_params,
  stm32_cmd.launch.py → esp32_cmd.launch.py,
  test_stm32_protocol → test_esp32_protocol, test_stm32_cmd_node → test_esp32_cmd_node

Content cleanup across all files:
- Mamba F722S → ESP32-S3 BALANCE
- BlackPill → ESP32-S3 IO
- STM32F722/F7xx → ESP32-S3
- stm32Mode/Version/Port → esp32Mode/Version/Port
- STM32 State/Mode labels → ESP32 State/Mode
- Jetson Nano → Jetson Orin Nano Super
- /dev/stm32 → /dev/esp32
- stm32_bridge → esp32_bridge
- STM32 HAL → ESP-IDF

docs/SALTYLAB.md:
- Update "Drone FC Details" to describe ESP32-S3 BALANCE board (Waveshare ESP32-S3 Touch LCD 1.28)
- Replace verbose "Self-Balancing Control" STM32 section with brief note pointing to SAUL-TEE-SYSTEM-REFERENCE.md

TEAM.md: Update Embedded Firmware Engineer role to ESP32-S3 / ESP-IDF

No new functionality — cleanup only.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- balance_protocol.py: Mamba→Orin / Mamba→VESC comments → ESP32-S3 BALANCE
- can_bridge_node.py: docstring and inline comments
- __init__.py: package description
- protocol_defs.py: all Mamba references in docstring and comments
- test_fc_vesc_broadcast.py, test_drive_command.py: test comments

Zero Mamba/STM32F722/BlackPill/stm32_protocol/mamba_protocol references
now exist outside legacy/stm32/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sl-jetson force-pushed sl-firmware/cleanup-legacy-hw from 9aed96391f to a1233dbd04 2026-04-04 09:00:53 -04:00 Compare
sl-jetson merged commit 9cf98830c6 into main 2026-04-04 09:00:56 -04:00
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#715
No description provided.