Adds 6 telemetry tabs to the social-bot dashboard extending PR #112. IMU Panel (/saltybot/imu, /saltybot/balance_state): - Canvas artificial horizon + compass tape - Three.js 3D robot orientation cube with quaternion SLERP - Angular velocity readouts, balance state detail Battery Panel (/diagnostics): - Voltage, SoC, estimated current, runtime estimate - 120-point voltage history sparkline (2 min) - Reads battery_voltage_v, battery_soc_pct KeyValues from DiagnosticArray Motor Panel (/saltybot/balance_state, /saltybot/rover_pwm): - Auto-detects balance vs rover mode - Bidirectional duty bars for left/right motors - Motor temp from /diagnostics, PID detail for balance bot Map Viewer (/map, /odom, /outdoor/route): - OccupancyGrid canvas renderer (unknown/free/occupied colour-coded) - Robot position + heading arrow, Nav2/OSM path overlay (dashed) - Pan (mouse/touch) + zoom, 2 m scale bar Control Mode (/saltybot/control_mode): - RC / RAMP_TO_AUTO / AUTO / RAMP_TO_RC state badge - Blend alpha progress bar - Safety flags: SLAM ok, RC link ok, stick override active - State machine diagram System Health (/diagnostics): - CPU/GPU temperature gauges with colour-coded bars - RAM, GPU memory, disk resource bars - ROS2 node status list sorted by severity (ERROR → WARN → OK) Also: - Three.js vendor chunk split (471 kB separate lazy chunk) - Updated App.jsx with grouped SOCIAL + TELEMETRY tab nav Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
SaltyLab self-balancing bot firmware (STM32F722)
Languages
Python
67.1%
C
11.4%
JavaScript
9.2%
OpenSCAD
7.8%
HTML
1.5%
Other
2.9%