Skip to content

Releases: wollewald/ICM20948_WE

Connection issue solved

15 Dec 13:16
07a7d4e
Compare
Choose a tag to compare

My library caused sporadic connection issues after re-powering. This has been solved by setting up the magnetometer as SLV4. The magnetometer data reading is still done using the magnetometer as SLV0.

Added functions to query offsets

14 Sep 09:56
65990ef
Compare
Choose a tag to compare

I added functions to query acceleration and gyroscope offset and to write these values back:

getAccOffsets()
getGyrOffsets()
setAccOffsets()
setGyrOffsets()

Further changes for the init procedure

17 Aug 12:08
8e24f65
Compare
Choose a tag to compare

Still there are issues when re-powering the ICM20948. Found this for ESP32 boards. If you add a delay of 2000 ms at the beginning of setup. it becomes better. Unfortunately still not perfect. No issues at all with Atmega328P based boards.

More reliable startup after re-power

14 Aug 21:14
bb065ed
Compare
Choose a tag to compare

When re-powered, the initiation sometimes failed. In this case a second attempt will be carried out.

Multiple tries to initiate the magnetometer

17 Jul 19:07
7f0063a
Compare
Choose a tag to compare

It seems that at least one user had issues to initiate the magnetometer. It only worked after few resets of the sketches.

I have implemented that, in case the magnetometer initiation fails, it is tried again up to ten times in total.

CS Pin changed from int16_t to int

20 Apr 21:05
acb26c2
Compare
Choose a tag to compare

Defining the cs pin variable as int16_t gave an error for some boards. Changed to int.

Change to default SPI clock

08 Apr 16:58
35f938e
Compare
Choose a tag to compare

I noticed that the max SPI clock is 7 MHz according to the data sheet. I adjusted the default to 7 MHz accordingly from 8 MHz which also worked well so far in my tests.

Added a sleep example sketch

17 Sep 08:56
9a8a2f9
Compare
Choose a tag to compare

I added the example sketch ICM20948_16_sleep.ino to show how to set the ICM20948 and its magnetometer to sleep mode.

Replaced #define by constexpr

26 Oct 18:34
dfe12a8
Compare
Choose a tag to compare

Several changes:

  • Replaced #define by constexpr
  • Replaced private by protected
  • Replaced C-cast by static_cast
  • Tidied the constructors

Separated xyzFloat definition

12 Aug 15:33
f518d35
Compare
Choose a tag to compare

If you want to use both an MPU9250 and an ICM20948 in one sketch it won't compile because of the double definition of xyzFloat. I have separated xyzFloat. You can delete xyzFloat.h and xyzFloat.cpp in one of the libraries if you use both.