Comprehensive hardware diagnostics and health monitoring for SaltyBot. Startup hardware checks: - RPLIDAR, RealSense, VESC, Jabra microphone, STM32 bridge - Servo controller, WiFi, GPS module - Disk space, system RAM, CPU temperature - Boot result via TTS + face animation Runtime monitoring: - Temperature thresholds (Orin GPU >80C, VESC >60C) - Network latency to 8.8.8.8 - System resource tracking (CPU, RAM, disk) Features: - Publishes /saltybot/diagnostics (DiagnosticArray) - JSON logging to /home/seb/saltybot-data/diagnostics/ - Configuration-driven via YAML - Boot animations and TTS announcements - Configurable startup and runtime checks Package structure: - saltybot_diagnostics: Main diagnostics node - diagnostic_checks.yaml: Hardware config + thresholds - diagnostics.launch.py: Launch file with parameters - Unit tests for check aggregation and logging Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
29 lines
505 B
YAML
29 lines
505 B
YAML
startup_checks:
|
|
enabled: true
|
|
timeout_s: 30
|
|
checks:
|
|
- rplidar
|
|
- realsense
|
|
- vesc
|
|
- jabra_microphone
|
|
- stm32_bridge
|
|
- servos
|
|
- wifi
|
|
- gps
|
|
- disk_space
|
|
- system_ram
|
|
|
|
runtime_monitoring:
|
|
enabled: true
|
|
frequency_hz: 1
|
|
temperatures:
|
|
jetson_gpu: {warn_c: 80, error_c: 85}
|
|
vesc_motor: {warn_c: 60, error_c: 70}
|
|
network:
|
|
ping_target: 8.8.8.8
|
|
latency_warn_ms: 100
|
|
|
|
logging:
|
|
directory: /home/seb/saltybot-data/diagnostics
|
|
retention_days: 30
|