From e6d84112e7b9d0412ba06156cabe4cd32b27b70a Mon Sep 17 00:00:00 2001 From: Hydra Date: Sun, 2 Apr 2017 14:26:26 +0100 Subject: [PATCH] don't discard the ack from the mpuRegisterReadI2C call. --- src/main/drivers/compass_ak8963.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/drivers/compass_ak8963.c b/src/main/drivers/compass_ak8963.c index 9ba41d766..7f9029ca7 100644 --- a/src/main/drivers/compass_ak8963.c +++ b/src/main/drivers/compass_ak8963.c @@ -114,9 +114,9 @@ static bool ak8963SensorRead(uint8_t addr_, uint8_t reg_, uint8_t len_, uint8_t mpuWriteRegisterI2C(NULL, MPU_RA_I2C_SLV0_CTRL, len_ | 0x80); // read number of bytes delay(10); __disable_irq(); - mpuReadRegisterI2C(NULL, MPU_RA_EXT_SENS_DATA_00, len_, buf); // read I2C + bool ack = mpuReadRegisterI2C(NULL, MPU_RA_EXT_SENS_DATA_00, len_, buf); // read I2C __enable_irq(); - return true; + return ack; } static bool ak8963SensorWrite(uint8_t addr_, uint8_t reg_, uint8_t data) @@ -316,7 +316,7 @@ bool ak8963Detect(magDev_t *mag) #if defined(USE_SPI) && defined(MPU9250_SPI_INSTANCE) // initialze I2C master via SPI bus (MPU9250) - verifympu9250SpiWriteRegister(&mag->bus, MPU_RA_INT_PIN_CFG, 0x10); // INT_ANYRD_2CLEAR + verifympu9250SpiWriteRegister(&mag->bus, MPU_RA_INT_PIN_CFG, MPU6500_BIT_INT_ANYRD_2CLEAR); delay(10); verifympu9250SpiWriteRegister(&mag->bus, MPU_RA_I2C_MST_CTRL, 0x0D); // I2C multi-master / 400kHz -- 2.11.4.GIT