diff options
author | Andrew Tridgell <andrew@tridgell.net> | 2015-01-01 08:45:25 +1100 |
---|---|---|
committer | Andrew Tridgell <andrew@tridgell.net> | 2015-01-01 08:51:47 +1100 |
commit | e4318345f3a105ac769f93f09f6e11cfb7aa0072 (patch) | |
tree | 91125bc4e18e6e1973335698afef3700f25ad9e5 /src/drivers | |
parent | 2ac3a6fcf4ab051b53f635d696a45edac438228e (diff) | |
download | px4-firmware-e4318345f3a105ac769f93f09f6e11cfb7aa0072.tar.gz px4-firmware-e4318345f3a105ac769f93f09f6e11cfb7aa0072.tar.bz2 px4-firmware-e4318345f3a105ac769f93f09f6e11cfb7aa0072.zip |
lsm303d: added two more checked registers
these are key for DRDY behaviour
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/lsm303d/lsm303d.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/drivers/lsm303d/lsm303d.cpp b/src/drivers/lsm303d/lsm303d.cpp index a062b2828..ace228920 100644 --- a/src/drivers/lsm303d/lsm303d.cpp +++ b/src/drivers/lsm303d/lsm303d.cpp @@ -297,7 +297,7 @@ private: // this is used to support runtime checking of key // configuration registers to detect SPI bus errors and sensor // reset -#define LSM303D_NUM_CHECKED_REGISTERS 6 +#define LSM303D_NUM_CHECKED_REGISTERS 8 static const uint8_t _checked_registers[LSM303D_NUM_CHECKED_REGISTERS]; uint8_t _checked_values[LSM303D_NUM_CHECKED_REGISTERS]; uint8_t _checked_next; @@ -474,6 +474,8 @@ private: const uint8_t LSM303D::_checked_registers[LSM303D_NUM_CHECKED_REGISTERS] = { ADDR_WHO_AM_I, ADDR_CTRL_REG1, ADDR_CTRL_REG2, + ADDR_CTRL_REG3, + ADDR_CTRL_REG4, ADDR_CTRL_REG5, ADDR_CTRL_REG6, ADDR_CTRL_REG7 }; @@ -708,8 +710,8 @@ LSM303D::reset() /* enable mag */ write_checked_reg(ADDR_CTRL_REG7, REG7_CONT_MODE_M); write_checked_reg(ADDR_CTRL_REG5, REG5_RES_HIGH_M); - write_reg(ADDR_CTRL_REG3, 0x04); // DRDY on ACCEL on INT1 - write_reg(ADDR_CTRL_REG4, 0x04); // DRDY on MAG on INT2 + write_checked_reg(ADDR_CTRL_REG3, 0x04); // DRDY on ACCEL on INT1 + write_checked_reg(ADDR_CTRL_REG4, 0x04); // DRDY on MAG on INT2 accel_set_range(LSM303D_ACCEL_DEFAULT_RANGE_G); accel_set_samplerate(LSM303D_ACCEL_DEFAULT_RATE); |