- 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>
SaltyBot Diagnostic Self-Test System
Comprehensive hardware diagnostics and health monitoring for SaltyBot.
Features
Startup Checks
- RPLIDAR, RealSense, VESC, Jabra mic, ESP32-S3, 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.