Releases: sparkfun/SparkFun_ICM-20948_ArduinoLibrary
Releases · sparkfun/SparkFun_ICM-20948_ArduinoLibrary
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
Version 1.2.4
This release:
- corrects issue #48 - thank you @Arnatious