ICM20948 Accelerometer Configuration Reading

By muhammadinamul… , 4 December 2023

Hi,

I'm Using ICM20948. The datasheet states the following about ACCEL_CONFIG register( 10.15 ACCEL_CONFIG page 64 of datasheet):

Name: ACCEL_CONFIG Address: 20 (14h) Type: USR2 Bank: 2 Serial IF: R/W Reset Value: 0x01

it means if I write 0x11 to this register, I should be able to read it back. However, this is not the case. I always read
back 0x01 from this register.

I was using sparkfun library and here is the issue on github:

https://github.com/sparkfun/SparkFun_Qwiic_9DoF_IMU_Breakout/issues/6

Can someone tell what's being done worng here?

mustafayildiri…

2 years 3 months ago

Hi,

It seems like you are selecting the correct bank to access the register, unfortunately I am not familiar with the Sparkfun library for this part. If you have a logic analyzer, you can see the ACK/NACK bits to debug.

phpbb Post ID
45403

muhammadinamul…

2 years 3 months ago

Actually it's not just sparkfun library.

I am getting same behaviour while using i2cget and i2cset commands from terminal.

phpbb Post ID
45411

muhammadinamul…

2 years 3 months ago

Actually it’s not just sparkfun library.

I am getting same behaviour while using i2cget and i2cset commands from terminal.

phpbb Post ID
45412

mustafayildiri…

2 years 1 month ago

I would suggest to check out our driver as a reference.
https://invensense.tdk.com/developers/software-downloads/#smartmotion

phpbb Post ID
45493
phpbb Topic ID
45390