#driver #倾斜仪 #倾斜仪

无std scl3300

SCL3300倾斜仪驱动程序

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 次下载

MIT/Apache

37KB
777

Rust SCL3300驱动程序

Crates.io Documentation

用法

将以下内容添加到您的 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