I try to use the LSM6DS0 breakout but using basic reading example, I get correct accelerations and temperature, but gyro values remain to 0.
Trying to investigate, I also cannot get getAccelRange()or getGyroRange()value because in readRegister(), or any other similar low level function, the following code returns IMU_HW_ERROR.
if( _i2cPort->endTransmission() != 0 )
return IMU_HW_ERROR;
So, in readRawAccelX() that doesn’t cause a problem because it only increments the nonSuccessError counter and returns the read value anyway, but I suspect the IMU initialization failed somewhere for that reason and gyro could be disabled.
I looked at ICM_20948 library I already used and return of _i2cPort->endTransmission() is not tested so, maybe I also have the same problem but that doesn’t cause any trouble.