Skip to content

v3.0.0

Latest

Choose a tag to compare

@mechash mechash released this 10 Feb 09:00
· 27 commits to main since this release
0acc43d

πŸš€ 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.cpp with 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_Write API 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_SIZE definition 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.