5 releases
0.2.3 | Feb 14, 2020 |
---|---|
0.2.2 | Feb 14, 2020 |
0.2.1 | Feb 14, 2020 |
0.2.0 | Feb 13, 2020 |
0.1.0 | Dec 30, 2019 |
#1545 in Embedded development
225KB
321 lines
ADXL355 embedded-hal SPI driver crate
Usage
Include library as a dependency in your Cargo.toml
[dependencies.adxl355]
version = "<version>"
Use embedded-hal implementation to get SPI and a GPIO OutputPin for the chip select, then create the accelerometer handle
use adxl355::{Adxl355, Accelerometer};
// to create sensor with default configuration:
let mut accelerometer = Adxl355::default(spi, cs)?;
// start measurements
accelerometer.start();
// to get 3d accerlation data:
let accel = accelerometer.acceleration()?;
println!("{:?}", accel);
// One can also use conf module to supply configuration:
use adxl355::{Adxl355, Config as ADXLConfig, ODR_LPF, Range, Accelerometer};
Adxl355::new(spi, cs,
ADXLConfig::new()
.odr(ODR_LPF::ODR_31_25_Hz)
.range(Range::_2G))?;
Running the examples
Blackpill board (STM32F103)
Example based on the stm32f103 microcontroller examples/blackpill.rs
To build an example
cargo build --example blackpill --features="stm32f103"
And run immediately. Flashing with black magic probe using bmp.sh
script (only works for MacOS at the moment).
cargo run --example blackpill --features="stm32f103"
STM32G070 [DISABLED UNTIL NEXT STM32G0xx-hal UPDATE]
Example based on the stm32g070 microcontroller examples/stm32g070.rs
To build an example
cargo build --example stm32g070 --features=stm32g070 --target thumbv6m-none-eabi
The resulting ELF file can be found under target/thumbv6m-none-eabi/examples/
.
To run immediately
cargo run --example stm32g070 --features=stm32g070 --target thumbv6m-none-eabi
This will make use of flash.sh
that assumes the st-link utilities are available in your PATH.
Example with normalized data
cargo run --example norm_stm32g070 --features=stm32g070 --target thumbv6m-none-eabi
Dependencies
~565KB
~13K SLoC