Hi,
Thanks for your inquiry.
It is correct that you write value of 0x11 to register 0x7E to bring BMI160 accel to normal mode and then add 50ms delay. It is also correct that you write value of 0x15 to register 0x7E to bring BMI160 gyro to normal mode and then add 200ms delay. If you read PMU_status register 0x03 and can get back the value of 0x14, then it means that BMI160 both accel and gyro are in normal mode. It also means that your I2C single byte read and write are working properly.
Now you should get 12 bytes data from register 0x0C to 0x17 for gyro data and accel data in your loop for I2C multi-byte burst reading. You can use Arduino serial monitor to check if you can always get 12 bytes data displayed there or not. If yes, then it means that your I2C burst read is working properly and your BLE link function "ble.print()" has some problem.
Thanks.
... View more