Struct lsm303::accelerometer::Accelerometer [] [src]

pub struct Accelerometer<Dev> where
    Dev: I2CDevice
{ /* fields omitted */ }

Interface to an LSM303 digital accelerometer.

Methods

impl Accelerometer<LinuxI2CDevice>
[src]

[src]

Initialize the accelerometer for a Linux I2C device.

let sensor = Accelerometer::new("/dev/i2c-1");

impl<Dev> Accelerometer<Dev> where
    Dev: I2CDevice,
    Error: From<Dev::Error>,
    Dev::Error: Send + 'static, 
[src]

[src]

Initialize the accelerometer, given an open I2C device.

The opening of the device is platform specific, but initialization of the sensor is not. Prefer to use Accelerometer::new, unless you are using an implementation of I2CDevice that is not covered by this crate.

let device = LinuxI2CDevice::new("/dev/i2c-1", 0x32 >> 1)?;
let sensor = Accelerometer::from_i2c_device(device)?;

[src]

Read the accelerometer, returning a vector of accelerations.

let mut sensor = Accelerometer::new("/dev/i2c-1")?;
let accel = sensor.read_acceleration()?;
println!("Acceleration: ({}, {}, {})",
    accel.x, accel.y, accel.z);

[src]

Set the scale of the acceleration measurement.

let mut sensor = Accelerometer::new("/dev/i2c-1")?;
sensor.set_scale(Scale::Scale4G)?;

[src]

Set the rate at which acceleration is measured.

let mut sensor = Accelerometer::new("/dev/i2c-1")?;
sensor.set_rate(Rate::Rate100Hz)?;

Trait Implementations

impl<Dev> Deref for Accelerometer<Dev> where
    Dev: I2CDevice
[src]

Access the underlying I2CDevice.

Most of the methods require a mutable reference; DerefMut is implemented as well.

The resulting type after dereferencing.

[src]

Dereferences the value.

impl<Dev> DerefMut for Accelerometer<Dev> where
    Dev: I2CDevice
[src]

Access the underlying I2CDevice.

Refer to the LSM303 datasheet if you plan on accessing the device directly.

[src]

Mutably dereferences the value.