04-16-2021 07:06 PM
I am using the BMX160 sensor. I am able to get the accelerometer and gyro to work just fine so I am working on getting the magnetometer. I am using the same setup that is on the datasheet, page 25, Table 16. I monitor the PMU after each step to see where the issue is and the PMU goes to 0 after starting to send data to go from setup mode to data mode. In the order of operations, I do the following:
PMU is good up until step 6. The data mode setup causes everything to shut off. Also, monitoring the IF registers after the function above, I have the following:
So we can see something along the way does cause the write to fail. I have tried 100k and 400k data rates over I2C. I can still talk to the chip, I can still ping the ID and read it, no issues. The status has just the NVM_rdy. The PMU is 0x00. The error is 0x00. As mentioned, the I2C is still up and working. If I comment out the magnetometer section, back to working no issue. Any thoughts?
04-19-2021 07:37 PM
Hi,
Thanks for your inquiry.
Inside BMX160 the magnetometer BMM150 is connected to BMI160's secondary I2C interface. Please refer to BMI160 API source code at https://github.com/BoschSensortec/BMI160_driver where it includes the BMM150 part about how to establish I2C interface with BMM150 , how to configure BMM150 and how to retrieve BMM150 data from BMI160's data registers.
Thanks.