Sorry, you could read interrupt status register 0x36 value, bit0 is host status. Previous attachment reference code work well on my side with STM32F4, could you try to only run the reference code?
/* wait until the interrupt fires */
/* unless we already know there are bytes remaining in the fifo */
while (!bhi160b_get_int_status() && !bytes_remaining);
bhy_read_reg(BHY_I2C_REG_INT_STATUS_ADDR, &value, 1);
I have a similar problem.
All initialization steps pass with BHY_SUCCESS. Read product ID: 0x83. I receive the first interrupt. Then, I receive 10 bytes in the FIFO decoded as follows:
Then no interrupt, and FIFO always has zero bytes_remaining.
It turned out our electrical hardware designer missed the pull-up resistors for the auxiliary I2C bus.