Releases: sparkfun/SparkFun_ICM-20948_ArduinoLibrary
Releases · sparkfun/SparkFun_ICM-20948_ArduinoLibrary
Version 1.3.0
Version 1.2.13
Version 1.2.12
This release:
- Adds Wake-On-Motion
WOMLogic
- thank you @daescobarh #121- Please see the updated Example4 for details
Version 1.2.11
This release:
- Contains a small fix submitted by @yanivamichy in #109 - thank you Yaniv
Version 1.2.10
This release:
- Adds new methods to get and set the DMP biases
- Thank you @ThreadOfFate #105
- The methods are:
getBiasGyroX
,getBiasAccelY
,setBiasCPassZ
etc
- Adds a new example showing how to use the new methods and save/restore the biases
- The example uses EEPROM to store the biases
- It is written for ESP32 but can be adapted to work on many other platforms. You may need to change
EEPROM.begin
,EEPROM.commit
etc. - If the EEPROM biases are valid, they are restored after the DMP has been begun
- The biases are saved to EEPROM after two minutes
- In those two minutes: rotate the sensor slowly around all three axes; hold the sensor stationary in all six orientations for a few seconds
- When the example starts, the roll, pitch and yaw will start at zero but will settle to the correct values over the next ~ten seconds
- Don't forget to uncomment line 29 (#define ICM_20948_USE_DMP) in ICM_20948_C.h to enable support for the DMP
Version 1.2.9
Version 1.2.8
This release:
- Adds a fix to allow the DMP image 'pgmspace' to compile correctly on Apollo3 v2 (Artemis)
- Updates the Portable C example - add
ICM_20948_init_struct
- thank you @peterleif #72 - Adds a fix to allow the code to compile on linux targets - thank you @spacecheese #79
- Removes a redundant duplicate
endTransmission
from the Portable C example - thank you @Koepel #80
Version 1.2.7
This release:
- Adds DMP PROGMEM support for older AVR platforms like the ATmega2560 - thank you @HyperKokichi #63
- Tested on the Arduino ATmega2560 R3 using SPI (CS is pin 53)
- Please note: the Arduino Uno does not have enough PROGMEM to hold the DMP firmware (14kBytes)
- Please be careful when using 5V boards like the ATmega2560. The SparkFun ICM-20948 Breakout will work OK on both SPI and I2C when powered from 5V. But take care not to connect a 3.3V device to the Qwiic (I2C) bus at the same time. Bad things will happen if you do.
Version 1.2.6
This release:
- Corrects an error where the accel and gyro were being left in low power mode, which was preventing the DMP from operating correctly
- Changes _printDebug from boolean to bool - thank you @lwestfall #62
- Removes the references to Accuracy in the Quat6 examples (only Quat9 provides accuracy data)
Version 1.2.5
This release:
- Corrects a typo in the comments for the gyro DLPF
- Changes the whitespace tab formatting to spaces:2
- Configures I2C_SLV0 and I2C_SLV1 to read the magnetometer data and request a new Single Measurement
- Changes which AK09916 registers are read (ten undocumented registers starting at 0x03 - as per the InvenSense Icm20948AuxCompassAkm.c)
- Configures the I2C Master ODR to reduce the magnetometer read rate from 1100Hz to a sensible 69Hz
- Moves all of the DMP initialization code into a new weak function called
initializeDMP
- This avoids massive code duplication in the DMP examples
initializeDMP
is weak and can be overwritten if (e.g.) you want to change the sample rate. See Example10