sl-webui f71dad5344 feat(arch): migrate all STM32/Mamba/BlackPill refs to ESP32 BALANCE/IO + fix roslib@1.4.0
Architecture change (2026-04-03): Mamba F722S (STM32F722) and BlackPill
replaced by ESP32 BALANCE (PID loop) and ESP32 IO (motors/sensors/comms).

- Update CLAUDE.md, docs, chassis BOM/ASSEMBLY, pinout, power-budget,
  wiring-diagram, TEAM.md, AUTONOMOUS_ARMING.md, docker-compose
- Update all ROS2 package comments, config labels, launch args
  (stm32_port→esp32_port, /dev/stm32-bridge→/dev/esp32-bridge)
- Update WebUI: stm32Mode→esp32Mode, stm32Version→esp32Version,
  "STM32 State/Mode" labels → "ESP32 State/Mode" (ControlMode, SettingsPanel)
- Add TODO(esp32-migration) markers on stm32_protocol.py and mamba_protocol.py
  binary frame layouts — pending ESP32 protocol spec from max
- Fix roslib CDN 1.3.0→1.4.0 in all 11 HTML panels (fixes ROS2 Humble
  rosbridge "Received a message without an op" incompatibility)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 08:25:24 -04:00

30 lines
847 B
YAML

gimbal_node:
ros__parameters:
# Serial port connecting to ESP32 BALANCE over JLINK protocol
serial_port: "/dev/ttyTHS1"
baud_rate: 921600
# Soft angle limits (degrees, ± from center)
pan_limit_deg: 150.0
tilt_limit_deg: 45.0
# Home position (degrees from center)
home_pan_deg: 0.0
home_tilt_deg: 0.0
# Motion profile
max_speed_deg_s: 90.0 # maximum pan/tilt speed (°/s)
accel_deg_s2: 180.0 # trapezoidal acceleration (°/s²)
# Update rates
update_rate_hz: 20.0 # motion tick + JLINK TX rate
state_publish_hz: 10.0 # /saltybot/gimbal/state publish rate
# Serial reconnect
reconnect_delay_s: 2.0
# D435i camera parameters (for look_at 3D→pan/tilt projection)
camera_focal_length_px: 600.0
image_width_px: 848
image_height_px: 480