Complete over-the-air (OTA) firmware update system with: Features: - Downloads releases from Gitea (seb/saltylab-firmware) - Automatic colcon build in staging directory - Symlink-based atomic deployment - ROS2 service restart via systemd - Automatic rollback on build failure - Version tracking in ~/.saltybot-data/versions.json - Update history with timestamps Safety: - Blocks updates if robot velocity > 0.05 m/s - Velocity monitoring via odometry subscription - Backup before update for recovery Triggers: - MQTT /saltybot/ota_command: 'check', 'update:<version>', 'rollback' - /saltybot/ota_status: JSON status updates - Dashboard integration ready Configuration: - Gitea API base, repo info, directories - Build timeout: 3600s (1 hour) - Service restart automation - Backup retention policy ROS2 package structure complete with launch files and config.
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%