Upgrades saltybot_bag_recorder (Issue #488) with: - Motion-triggered auto-record: subscribes /cmd_vel, starts on non-zero velocity, stops after 30s idle timeout (configurable) - Auto-split at 1 GB or 10 min via subprocess restart - USB/NVMe storage selection: ordered priority list, picks first path with >= 2 GB free (/media/usb0 -> /media/usb1 -> /mnt/nvme -> ~/bags) - Disk monitoring: warns at 70%, triggers cleanup of bags >7 days at 80% - JSON status on /saltybot/bag_recorder/status at 1 Hz - Services: /saltybot/bag_recorder/{start,stop,split} (legacy /saltybot/{start,stop}_recording kept for compatibility) - bag_policy.py: pure-Python MotionState, DiskInfo, StorageSelector, BagPolicy — ROS2-free, fully unit-testable - 76 unit tests passing 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%