lis2dw12
A no_std compatible Rust driver for the low power ST 3-Axis MEMS 14-bit accelerometer LIS2DW12 using the SPI bus
Example
// create the device
// where spi implements Transfer<u8, Error = SpiError>,
// and cs implements OutputPin<Error = PinError>
let mut accel = new;
// confirm that communication is working
accel.check_who_am_i?;
// set up the device
accel.set_operating_mode?;
accel.set_low_noise?;
accel.set_full_scale_selection?;
accel.set_output_data_rate?; // 100 Hz
// get raw data
let raw = accel.accel_raw?;
rprintln!;
or take a look at a working example using an STM32 bluepill here
Note that this crate implements the traits in the accelerometer crate. If you have problems figuring out how to propagate errors then take a look at the bluepill working example linked above.
Features
This crate implements the RawAccelerometer<I16x3>
trait by default. If you want need the Accelerometer
trait then enable the out_f32
feature. For example:
# cargo.toml
= { = "0.1.0", = ["out_f32"] }
Resources
License
Dual Licensed at your option:
Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)