5个版本 (破坏性更新)
0.5.0 | 2024年1月12日 |
---|---|
0.4.0 | 2024年1月11日 |
0.3.0 | 2023年6月4日 |
0.2.0 | 2022年8月11日 |
0.1.0 | 2022年8月1日 |
#324 in 嵌入式开发
每月 29 次下载
37KB
777 行
Rust SCL3300驱动程序
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
scl3300 = "0.5"
lib.rs
:
这是一个针对SCL3300倾斜仪的驱动程序,使用平台无关的embedded-hal
traits 实现。
用法
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
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);
依赖项
~570KB
~12K SLoC