Releases: BjarneBitscrambler/OrientationSensorFusion-ESP
Version 0.5.1
Includes methods to determine level of magnetic interference.
Add ability to send commands to fusion control subsystem
The library interface (sensor_fusion_class.*
) now contains a method for injecting commands into the fusion control subsystem.
This is useful, for example, for causing a magnetic calibration to be saved to non-volatile memory. Until that is done, the system powers up each time in an uncalibrated state and requires manual manipulation through a range of motion before it acquires enough readings to generate a new magnetic calibration. By saving this calibration once it has been calculated, future power-ons will load that calibration and use it. Readings should then be valid immediately, unless the magnetic environment of the sensor has changed since calibration. In that case, allow the system to detect and calculate a new calibration (via the manual manipulation method), and then command the new calibration to be saved.
Detect Comms Failures and Report Status
This release continues execution despite a communications failure with a sensor. If there is such a failure, that sensor is tagged as unavailable, and the system status is set to SOFT_FAILURE. On subsequent scheduled reads of that sensor, an attempt is made to reinitialize the sensor. If successful, it is tagged as available and the system status set to NORMAL.
This prevents temporary glitches in I2C comms from halting the entire system and makes graceful recovery possible. By monitoring system status, a user of the library can determine whether the system is operating NORMALly and the data are trustworthy.
Functions as library for SensESP
This release of the Orientation library compiles and functions on both ESP32 and ESP8266 platforms. It works as a standalone executable, using the examples/fusion_text_output.cc
file, or a library for other projects. It has been tested on the SensESP project.