aboutsummaryrefslogtreecommitdiff
path: root/apps/drivers
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2012-12-22 00:57:50 +0100
committerLorenz Meier <lm@inf.ethz.ch>2012-12-22 00:57:50 +0100
commit6d342116306a26fcefaa77d1866682017f6e63d4 (patch)
treeba791556d00d478fb6a0540dc5ca8020228c058f /apps/drivers
parent4cf2266b79a28445ad0b493c36cf125081900423 (diff)
parenta2aa9dd8fd6f0d870f871e12d9b59d659b4a269c (diff)
downloadpx4-firmware-6d342116306a26fcefaa77d1866682017f6e63d4.tar.gz
px4-firmware-6d342116306a26fcefaa77d1866682017f6e63d4.tar.bz2
px4-firmware-6d342116306a26fcefaa77d1866682017f6e63d4.zip
Merge branch 'gyros_parallel' into fixedwing_outdoor
Diffstat (limited to 'apps/drivers')
-rw-r--r--apps/drivers/mpu6000/mpu6000.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/apps/drivers/mpu6000/mpu6000.cpp b/apps/drivers/mpu6000/mpu6000.cpp
index ed79440cc..b6c8cacfd 100644
--- a/apps/drivers/mpu6000/mpu6000.cpp
+++ b/apps/drivers/mpu6000/mpu6000.cpp
@@ -446,8 +446,13 @@ MPU6000::init()
// write_reg(MPUREG_PWR_MGMT_1,MPU_CLK_SEL_PLLGYROZ);
usleep(1000);
- /* do CDev init for the gyro device node */
- ret = _gyro->init();
+ /* do CDev init for the gyro device node, keep it optional */
+ int gyro_ret = _gyro->init();
+
+ if (gyro_ret != OK) {
+ ::close(_gyro_topic);
+ _gyro_topic = -1;
+ }
return ret;
}
@@ -938,7 +943,9 @@ MPU6000::measure()
/* and publish for subscribers */
orb_publish(ORB_ID(sensor_accel), _accel_topic, &_accel_report);
- orb_publish(ORB_ID(sensor_gyro), _gyro_topic, &_gyro_report);
+ if (_gyro_topic != -1) {
+ orb_publish(ORB_ID(sensor_gyro), _gyro_topic, &_gyro_report);
+ }
/* stop measuring */
perf_end(_sample_perf);