01-28-2021 06:46 AM - edited 01-28-2021 06:52 AM
Hello,
I'm using the BNO055 with a RPi 3B+ over I2C. I can read any sort of value I'd like - power mode, operating mode, calib status, etc. but whenever I try to write a value to the sensor nothing changes. I'm using the official C lib here on github: https://github.com/BoschSensortec/BNO055_driver
After initializing the sensor, I am left in the "suspend" power mode and I have 0x0d as my operating mode, something that clearly is off.
I'd really appreciate any help here, as I don't have much more of a clue what I should be looking into.
I'm using the C lib on github: https://github.com/BoschSensortec/BNO055_driver
Here's the wiring setup I have with the pi:
01-28-2021 07:30 PM
For BNO055, any register write / register value change can only happen in Configure mode. this means the operation_mode register should be with value 0x10.
From your description, you are under NDoF mode, then the register write is be ignored by sensor.
01-28-2021 10:39 PM
Hi Vincent, thanks for the quick reply.
After looking at someone else's question on using I2C to talk with a sensor, I've finally got my reads and writes working. This required rewriting the "BNO055_I2C_bus_write" and "BNO055_I2C_bus_read" functions.
Could it be made more clear in the repo that these methods are not complete? Would have been appreciated and saved me a lot of time.
01-28-2021 11:14 PM
Yes, i will take your suggestion to the engineer team.
Avtually we put following comment in our API on Github
bno055_support.c