diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2012-08-28 11:30:45 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2012-08-28 11:30:45 +0200 |
commit | d8210a8e2f35bb3260875968424a7985012766a6 (patch) | |
tree | 29373df6e708a17bbfdead057ace323c06df21b0 | |
parent | 9a750ae6988814a07975e28368d949292710589f (diff) | |
download | px4-firmware-d8210a8e2f35bb3260875968424a7985012766a6.tar.gz px4-firmware-d8210a8e2f35bb3260875968424a7985012766a6.tar.bz2 px4-firmware-d8210a8e2f35bb3260875968424a7985012766a6.zip |
Implemented missing IOCTLs to set MPU scalings
-rw-r--r-- | apps/drivers/mpu6000/mpu6000.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/apps/drivers/mpu6000/mpu6000.cpp b/apps/drivers/mpu6000/mpu6000.cpp index 7c5ff2ee0..83bd13860 100644 --- a/apps/drivers/mpu6000/mpu6000.cpp +++ b/apps/drivers/mpu6000/mpu6000.cpp @@ -589,9 +589,14 @@ MPU6000::ioctl(struct file *filp, int cmd, unsigned long arg) return -EINVAL; case ACCELIOCSSCALE: + /* copy scale in */ + memcpy(&_accel_scale, (struct accel_scale*) arg, sizeof(_accel_scale)); + return OK; + case ACCELIOCGSCALE: - /* XXX not implemented */ - return -EINVAL; + /* copy scale out */ + memcpy((struct accel_scale*) arg, &_accel_scale, sizeof(_accel_scale)); + return OK; case ACCELIOCSRANGE: case ACCELIOCGRANGE: @@ -631,9 +636,14 @@ MPU6000::gyro_ioctl(struct file *filp, int cmd, unsigned long arg) return -EINVAL; case GYROIOCSSCALE: + /* copy scale in */ + memcpy(&_gyro_scale, (struct gyro_scale*) arg, sizeof(_gyro_scale)); + return OK; + case GYROIOCGSCALE: - /* XXX not implemented */ - return -EINVAL; + /* copy scale out */ + memcpy((struct gyro_scale*) arg, &_gyro_scale, sizeof(_gyro_scale)); + return OK; case GYROIOCSRANGE: case GYROIOCGRANGE: |