forked from Archive/PX4-Autopilot
Added scale ioctl to LSM303D driver
This commit is contained in:
parent
ad8fc7e61e
commit
f5f7b3f6dd
|
@ -705,6 +705,23 @@ LSM303D::ioctl(struct file *filp, int cmd, unsigned long arg)
|
||||||
else
|
else
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
case ACCELIOCSSCALE:
|
||||||
|
{
|
||||||
|
/* copy scale, but only if off by a few percent */
|
||||||
|
struct accel_scale *s = (struct accel_scale *) arg;
|
||||||
|
float sum = s->x_scale + s->y_scale + s->z_scale;
|
||||||
|
if (sum > 2.0f && sum < 4.0f) {
|
||||||
|
memcpy(&_accel_scale, s, sizeof(_accel_scale));
|
||||||
|
return OK;
|
||||||
|
} else {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
case ACCELIOCGSCALE:
|
||||||
|
/* copy scale out */
|
||||||
|
memcpy((struct accel_scale *) arg, &_accel_scale, sizeof(_accel_scale));
|
||||||
|
return OK;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* give it to the superclass */
|
/* give it to the superclass */
|
||||||
|
|
Loading…
Reference in New Issue