diff options
author | Julian Oes <joes@student.ethz.ch> | 2013-04-08 22:04:21 -0700 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-04-09 23:34:19 +0200 |
commit | 1d327c42a6f34f8545940cd8630586726e4d3ae6 (patch) | |
tree | ccc07f1aea7c8a66b7b5f280def61af983008f08 /src/drivers/lsm303d/lsm303d.cpp | |
parent | eb3d6f228cd96ef2a2b8a33f667dd1cdc2d5fdc5 (diff) | |
download | px4-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.cpp | 7 |
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(); |