diff options
author | px4dev <px4@purgatory.org> | 2012-08-25 10:53:14 -0700 |
---|---|---|
committer | px4dev <px4@purgatory.org> | 2012-08-25 10:53:14 -0700 |
commit | 0dc0a0539dafdf1727763cc145f02faa8a8e7d22 (patch) | |
tree | 3b726219aca5de67ae8d24e458b5050bbc503350 /apps/drivers/hmc5883/hmc5883.cpp | |
parent | 4456ca8827c59d8711e76bd644336d5b3cd344dd (diff) | |
download | px4-firmware-0dc0a0539dafdf1727763cc145f02faa8a8e7d22.tar.gz px4-firmware-0dc0a0539dafdf1727763cc145f02faa8a8e7d22.tar.bz2 px4-firmware-0dc0a0539dafdf1727763cc145f02faa8a8e7d22.zip |
Increase the retry count while probing for I2C sensors. This will also unwedge stuck sensors.
Diffstat (limited to 'apps/drivers/hmc5883/hmc5883.cpp')
-rw-r--r-- | apps/drivers/hmc5883/hmc5883.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/apps/drivers/hmc5883/hmc5883.cpp b/apps/drivers/hmc5883/hmc5883.cpp index a9212e7ab..c6d03a7e4 100644 --- a/apps/drivers/hmc5883/hmc5883.cpp +++ b/apps/drivers/hmc5883/hmc5883.cpp @@ -339,12 +339,14 @@ HMC5883::close_last(struct file *filp) int HMC5883::probe() { - uint8_t data[3]; + uint8_t data[3] = {0, 0, 0}; + _retries = 3; if (read_reg(ADDR_ID_A, data[0]) || read_reg(ADDR_ID_B, data[1]) || read_reg(ADDR_ID_C, data[2])) debug("read_reg fail"); + _retries = 1; if ((data[0] != ID_A_WHO_AM_I) || (data[1] != ID_B_WHO_AM_I) || |