aboutsummaryrefslogtreecommitdiff
path: root/apps/drivers/hmc5883/hmc5883.cpp
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2012-08-25 10:53:14 -0700
committerpx4dev <px4@purgatory.org>2012-08-25 10:53:14 -0700
commit0dc0a0539dafdf1727763cc145f02faa8a8e7d22 (patch)
tree3b726219aca5de67ae8d24e458b5050bbc503350 /apps/drivers/hmc5883/hmc5883.cpp
parent4456ca8827c59d8711e76bd644336d5b3cd344dd (diff)
downloadpx4-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.cpp4
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) ||