aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrant Morphett <grant@gmorph.com>2015-02-06 13:18:44 +1100
committerLorenz Meier <lm@inf.ethz.ch>2015-02-11 12:49:56 +0100
commit215e8e2466fb73121c2afe40eb3841f0e7830e4d (patch)
tree273d142afa53064b197a9287cc1ae7d42dcb1245
parent0801dbda38e31615a2345ba76acfef592150e5bb (diff)
downloadpx4-firmware-215e8e2466fb73121c2afe40eb3841f0e7830e4d.tar.gz
px4-firmware-215e8e2466fb73121c2afe40eb3841f0e7830e4d.tar.bz2
px4-firmware-215e8e2466fb73121c2afe40eb3841f0e7830e4d.zip
hmc5883: Fix for Issue1858 detection of MAG on Int/Ext I2C Bus.
-rw-r--r--src/drivers/hmc5883/hmc5883_i2c.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/drivers/hmc5883/hmc5883_i2c.cpp b/src/drivers/hmc5883/hmc5883_i2c.cpp
index f86c1af6b..b13f1fca8 100644
--- a/src/drivers/hmc5883/hmc5883_i2c.cpp
+++ b/src/drivers/hmc5883/hmc5883_i2c.cpp
@@ -113,11 +113,17 @@ HMC5883_I2C::ioctl(unsigned operation, unsigned &arg)
switch (operation) {
case MAGIOCGEXTERNAL:
+// On PX4v1 the MAG can be on an internal I2C
+// On everything else its always external
+#ifdef CONFIG_ARCH_BOARD_PX4FMU_V1
if (_bus == PX4_I2C_BUS_EXPANSION) {
return 1;
} else {
return 0;
}
+#else
+ return 1;
+#endif
case DEVIOCGDEVICEID:
return CDev::ioctl(nullptr, operation, arg);