Expand description
This is a driver for SCL3300
inclinometers, implemented using platform-agnostic embedded-hal traits.
§Usage
use scl3300::{Scl3300, Acceleration, ComponentId, Inclination, MeasurementMode, Temperature};
let inclinometer = Scl3300::new(spi);
// Start the inclinometer and switch to inclination mode.
let mut inclinometer = inclinometer.start_up(MeasurementMode::Inclination)?;
// Read the component ID.
let id: ComponentId = inclinometer.read()?;
assert_eq!(id, ComponentId::WHOAMI);
// Read acceleration, inclination and temperature.
let (acc, inc, temp): (Acceleration, Inclination, Temperature) = inclinometer.read()?;
println!("Acceleration: {}g, {}g, {}g", acc.x_g(), acc.y_g(), acc.z_g());
println!("Inclination: {}°, {}°, {}°", inc.x_degrees(), inc.y_degrees(), inc.z_degrees());
println!("Temperature: {}°C", temp.degrees_celsius());
// Switch to power-down mode.
let inclinometer = inclinometer.power_down()?;
// Release the SPI peripheral again.
let spi = inclinometer.release();
drop(spi);Re-exports§
Modules§
- mode
Scl3300operation modes.- output
- This module includes all types which can be read using
Scl3300::read.
Structs§
- Scl3300
- An SCL3300 inclinometer.
Enums§
- Error
- An SCL3300 error.
- Measurement
Mode - A measurement mode.
Traits§
- OffFrame
Read - Types implementing this trait can be read using
Scl3300::read.