π MagisV2 Firmware β v3.0.0
Upgrade Path: v2.2.0 β v3.0.0
Release Type: Major
Status: Stable
API Version: 1.0.0
Breaking / Notable Changes
- API Version 1.0.0: Signifying a major release milestone with significant improvements and potential breaking changes for legacy integrations.
- Firmware structure and build system have been reorganized.
- Firmware naming and version handling have changed.
- Deprecated APIs and unused legacy code have been removed.
β‘οΈ Users with custom builds or forks should review migration impacts.
XRanging & Object Avoidance
- Added autonomous obstacle avoidance via
applyObjectAvoidance. - Enhanced laser sensor initialization with a new mapping structure.
- Added support for multiple laser configurations and expanded range logic.
- Improved
XRanging.cppwith advanced sequences and diagnostics.
ICM20948 (IMU)
- Fixed incorrect IMU data caused by improper register bank handling.
- Improved gyro initialization stability.
- Ensured reliable accelerometer and gyro data during runtime.
Barometer (ICP10111)
- Added barometer drift detection during startup.
- Introduced a dedicated failure indication for barometer drift.
- Improved temperature stability using averaging to reduce noise.
Battery Management
- Major improvements to battery voltage, current, and SoC estimation.
- Improved battery warning and critical thresholds.
- Enhanced safety and accuracy of low-battery detection.
Optical Flow (PAW3903)
- Added support for PAW3903 optical flow sensor.
- Improved SPI handling and motion data reliability.
- Added failure detection and diagnostic LED indication.
Ranging Sensors (VL53L1X)
- Added support for VL53L1X long-range distance sensor.
- Improved initialization and error handling.
- Enhanced ranging accuracy and robustness.
I2C / SPI Reliability
- Improved recovery from I2C bus lockups.
- Enhanced SPI configuration for sensor compatibility.
PWM & Actuator Control
- Refactored PWM handling logic.
- Added
Servo_WriteAPI for servo-specific control. - Improved PWM resolution for brushed motors.
MSP / Communication
- Extended MSP protocol with firmware and API version reporting.
- Improved battery telemetry payload.
System & Error Handling
- Unified LED error indication system.
- Added new failure modes for optical flow and ranging sensors.
- Improved failure prioritization and diagnostics.
Build System & Versioning
- Build Progress: Added a percentage-based progress indicator to the Makefile for real-time visual feedback during compilation and linking.
- Memory Summary: Added memory usage output to display Flash and RAM utilization during the build process.
- RAM Configuration: Introduced
RAM_SIZEdefinition in the Makefile for better target-specific configurability. - Target Naming: Renamed firmware target to MagisV2.
- Versioning: Improved build artifact naming and simplified build flags.
Recommended For
- Users implementing Object Avoidance or advanced laser ranging.
- Users adding new sensors (Optical Flow, Ranging, Barometer).
- Developers moving to the stable API 1.0.0 architecture.
- Users experiencing unreliable startup or sensor issues.