aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/lsm303d/lsm303d.cpp
diff options
context:
space:
mode:
authorJulian Oes <joes@student.ethz.ch>2013-04-08 22:04:21 -0700
committerLorenz Meier <lm@inf.ethz.ch>2013-04-09 23:34:19 +0200
commit1d327c42a6f34f8545940cd8630586726e4d3ae6 (patch)
treeccc07f1aea7c8a66b7b5f280def61af983008f08 /src/drivers/lsm303d/lsm303d.cpp
parenteb3d6f228cd96ef2a2b8a33f667dd1cdc2d5fdc5 (diff)
downloadpx4-firmware-1d327c42a6f34f8545940cd8630586726e4d3ae6.tar.gz
px4-firmware-1d327c42a6f34f8545940cd8630586726e4d3ae6.tar.bz2
px4-firmware-1d327c42a6f34f8545940cd8630586726e4d3ae6.zip
Mag sample rate was not actually changed by an ioctl
Diffstat (limited to 'src/drivers/lsm303d/lsm303d.cpp')
-rw-r--r--src/drivers/lsm303d/lsm303d.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/drivers/lsm303d/lsm303d.cpp b/src/drivers/lsm303d/lsm303d.cpp
index ff56bff17..b107b869f 100644
--- a/src/drivers/lsm303d/lsm303d.cpp
+++ b/src/drivers/lsm303d/lsm303d.cpp
@@ -718,7 +718,7 @@ LSM303D::mag_ioctl(struct file *filp, int cmd, unsigned long arg)
case SENSOR_POLLRATE_MAX:
case SENSOR_POLLRATE_DEFAULT:
/* 50 Hz is max for mag */
- return mag_ioctl(filp, SENSORIOCSPOLLRATE, 50);
+ return mag_ioctl(filp, SENSORIOCSPOLLRATE, 100);
/* adjust to a legal polling interval in Hz */
default: {
@@ -732,12 +732,13 @@ LSM303D::mag_ioctl(struct file *filp, int cmd, unsigned long arg)
if (ticks < 1000)
return -EINVAL;
+ /* adjust sample rate of sensor */
+ mag_set_samplerate(arg);
+
/* update interval for next measurement */
/* XXX this is a bit shady, but no other way to adjust... */
_mag_call.period = _call_mag_interval = ticks;
-
-
/* if we need to start the poll state machine, do it */
if (want_start)
start();