Skip to content
Snippets Groups Projects
Commit fb386580 authored by Florian Olbrich's avatar Florian Olbrich Committed by Daniel Agar
Browse files

Fixed failure notices on mpu9250 startup by adding back device probing on I2C interface init.

parent 280a60c8
No related branches found
No related tags found
No related merge requests found
......@@ -107,43 +107,30 @@ MPU9250_I2C::read(unsigned reg_speed, void *data, unsigned count)
int
MPU9250_I2C::probe()
{
// uint8_t whoami = 0;
// uint8_t reg_whoami = 0;
// uint8_t expected = 0;
// uint8_t register_select = REG_BANK(BANK0); // register bank containing WHOAMI for ICM20948
// switch (_whoami) {
// case MPU_WHOAMI_9250:
// reg_whoami = MPUREG_WHOAMI;
// expected = MPU_WHOAMI_9250;
// break;
// case MPU_WHOAMI_6500:
// reg_whoami = MPUREG_WHOAMI;
// expected = MPU_WHOAMI_6500;
// break;
// case ICM_WHOAMI_20948:
// reg_whoami = ICMREG_20948_WHOAMI;
// expected = ICM_WHOAMI_20948;
// /*
// * make sure register bank 0 is selected - whoami is only present on bank 0, and that is
// * not sure e.g. if the device has rebooted without repowering the sensor
// */
// write(ICMREG_20948_BANK_SEL, &register_select, 1);
// break;
// }
// return (read(reg_whoami, &whoami, 1) == OK && (whoami == expected)) ? 0 : -EIO;
// // Try the mpu9250/6500 first
// read(MPUREG_WHOAMI, &whoami, 1);
// if (whoami == MPU_WHOAMI_9250)
// this does not matter
return PX4_OK;
uint8_t whoami = 0;
uint8_t register_select = REG_BANK(BANK0); // register bank containing WHOAMI for ICM20948
// Try first for mpu9250/6500
read(MPUREG_WHOAMI, &whoami, 1);
if(whoami == MPU_WHOAMI_9250 || whoami == MPU_WHOAMI_6500) {
return PX4_OK;
}
else {
/*
* If it's not an MPU it must be an ICM
* Make sure register bank 0 is selected - whoami is only present on bank 0, and that is
* not sure e.g. if the device has rebooted without repowering the sensor
*/
write(ICMREG_20948_BANK_SEL, &register_select, 1);
read(ICMREG_20948_WHOAMI, &whoami, 1);
if(whoami == ICM_WHOAMI_20948) {
return PX4_OK;
}
}
return -ENODEV;
}
#endif /* USE_I2C */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment