04-16-2022 12:59 AM
I am trying to bring up a board with a BHI160B. Is the library found at https://github.com/BoschSensortec/BoschSensorHub known to work for this sensor?
The circuit involves a BHI160B with no attached secondary devices, should I be using the Bosch_PCB_7183_di03_BMI160-7183_di03.2.1.11696_170103.h firmware? The application only requires reading the accelerometer and gyroscope virtual sensors.
Solved! Go to Solution.
06-30-2022 10:33 AM
Hi bgfas,
Could you give further feedback?
07-07-2022 11:09 AM
Since there was no feedback for a long time, we close this topic first. You could update feedback in the future if you have.
07-07-2022 08:30 PM
Apologies for the delay. What do you want me to capture with the logic analyzer?
What follows is the bus activity for this line of code:
bhi160.configVirtualSensor((bhyVirtualSensor)BHY_SID_ACCELEROMETER, false, BHY_FLUSH_ALL, 100, 0, 0, 0))
i2c-1: Write
i2c-1: Address write: 29
i2c-1: Data write: 32
i2c-1: Data write: FF
i2c-1: Write
i2c-1: Address write: 29
i2c-1: Data write: 5C
i2c-1: Data write: 64
i2c-1: Data write: 00
i2c-1: Data write: 00
i2c-1: Data write: 00
i2c-1: Data write: 00
i2c-1: Data write: 00
i2c-1: Data write: 00
i2c-1: Data write: 00
i2c-1: Write
i2c-1: Address write: 29
i2c-1: Data write: 54
i2c-1: Data write: 03
i2c-1: Write
i2c-1: Address write: 29
i2c-1: Data write: 64
i2c-1: Data write: C1
i2c-1: Write
i2c-1: Address write: 29
i2c-1: Data write: 3A
i2c-1: Read
i2c-1: Address read: 29
i2c-1: Data read: C1
If I'm understanding, the 0x32 0xFF is the FIFO flush, the write to 0x5C sets up a sensor configuration with 100 hz sampling rate followed by a pageselect (0x03 sensor page), request to write to non-wakeup accel (0xc1), and finally an ack (0x3a reports 0xc1).
In this case the transfers all appeared correct (no nack occurred) however no sensor data was ever reported.
07-14-2022 10:45 AM
Hi bgfas,
You can capture all I2C waveform after you pown on the device.
With Saleae Logic tool, the waveform like this:
07-21-2022 03:59 PM
The bus activitiy in the previous post was output from a logic analyzer.
I've attached a longer logic analyzer capture log. I added delays (waits for serial input) between the following:
- firmware upload
- installing sensors
- configuring sensors
- checking sensor status
- the final 'run loop' that should print out sensor values