sl-webui 28c934deff 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-03 23:09:10 -04:00

770 B

SaltyBot Diagnostic Self-Test System

Comprehensive hardware diagnostics and health monitoring for SaltyBot.

Features

Startup Checks

  • RPLIDAR, RealSense, VESC, Jabra mic, ESP32 BALANCE, servos
  • WiFi, GPS, disk space, RAM
  • Boot result TTS + face animation
  • JSON logging

Runtime Monitoring

  • Temperature (Orin GPU >80C, VESC >60C)
  • Network latency
  • Sensor FPS drops
  • System resources

Launch

ros2 launch saltybot_diagnostics diagnostics.launch.py

Topics

  • /saltybot/diagnostics (DiagnosticArray)
  • /saltybot/tts_say (String) - Boot announcements
  • /saltybot/face/boot_animation (String)

Logs

Diagnostic logs: /home/seb/saltybot-data/diagnostics/

JSON format with hardware status, temperatures, and resource usage.