mjs513
Senior Member+
Did a bit more of a deep dive into the specs and the 2 libraries. Here is what I found:@PaulStoffregen
Was doing some more poking around with this chip and how its using RST and INT. Definitely don't think its as I2C issue - more of device/libary issue. As a note Sparkfun uses the CEVA library for interfacing with the device.
1. Adafruit library uses an older version of the Hillcrest SHTP protocol geared to the BNO080 and BNO085 which they have break outs for. They do not support separate INT/RST pins in there library except for SPI implementation. Some examples seem to work, partial work or fail after a few readings.
a. more_reports example; seems to provide data for some reports but gives messages about can not read sensor periodically
b. rotation vector example: gives a few report outputs then the sensor keeps reseting
c. quaternion_yaw_pitch_roll example: seems to work.
2. The Sparkfun library uses the latest released version of the SHTP protocol with the CEVA Sensor Hub driver.3. Reading the documents referenced on the Sparkfun product page: https://www.sparkfun.com/products/22857 especially the Sensor Hub Transport Protocol seems to indicate that using the interrupt pin is mandatory, but does not appear to work with only the INT pin set with the Sparkfun library. But the example that @KurtE and I put together does work with just INT which was based on the olde version of SHTP.
From https://docs.sparkfun.com/SparkFun_...N*MTcwMTgwNTg5Ni43LjEuMTcwMTgwNzQyNy42MC4wLjA. it states
which may explain why the BNO086 needs the RST pin connected.1. The H_INTN pin is the application interrupt line that indicates the BNO08X requires attention. This should be tied to a GPIO with wake capability. The interrupt is active low.
2. NRST is the reset line for the BNO08X and can be either driven by the application processor or the board reset.
Don't think I am going to dig any deeper unless there is an issue as @PaulStoffregen stated
EDIT:
Just as a note, from the sparkfun examples:
// For the most reliable interaction with the SHTP bus, we need
// to use hardware reset control, and to monitor the H_INT pin.
// The H_INT pin will go low when its okay to talk on the SHTP bus.
// Setup without INT/RST control (Not Recommended)
Last edited: