3个版本 (1个稳定版)
1.0.0 | 2024年1月19日 |
---|---|
0.2.0 | 2023年10月6日 |
0.1.0 | 2023年7月17日 |
#236 在 嵌入式开发
每月35次下载
在 adi-adxl355-async 中使用
53KB
924 代码行
ADXL355驱动程序
ADXL355加速度计的平台无关Rust驱动程序。
产品信息
ADXL355是一款低噪声、低漂移、低功耗的3轴MEMS加速度计。
最低支持的Rust版本 (MSRV)
本crate保证在稳定版Rust 1.68及更高版本上编译。
用法
此驱动程序依赖于HAL实现的embedded_hal::spi::SpiDevice
或embedded_hal::i2c::I2c
特质。
在您的Cargo.toml
文件中将此crate作为依赖项添加
[dependencies.adi-adxl355]
version = "<version>"
feature = ["defmt"] #optionally activate defmt feature
驱动程序的基本用法如下
use adi_adxl355::{Adxl355, Config as Adxl355Config};
//The ADXL355 driver supports SPI and I2C protocols:
// After setting up a embedded_hal::spi::SpiDevice implementation named spi_dev,
// you can create an ADXL355 using the SPI protocol:
let mut acc = Adxl355::new_spi_with_config(spi_dev, Adxl355Config::default())?;
// After setting up a embedded_hal::i2c::I2c implementation named i2c_dev,
// you can create an ADXL355 using the I2C protocol, its I2C address must also be provided:
let mut acc = Adxl355::new_i2c_with_config(i2c_dev, device_address, Adxl355Config::default())?;
let dev_id = acc.get_device_id()?;
println!("Device ID is {:X}", dev_id);
acc.set_measurement_mode()?;
let raw_data = acc.get_raw_accel_sample()?;
println!(
"Raw data x={}, y={}, z={}",
raw_data.x, raw_data.y, raw_data.z
);
let norm_data = acc.get_accel_sample()?;
println!(
"Normalized data x={}, y={}, z={}",
norm_data.x, norm_data.y, norm_data.z
);
示例
在仓库内部作为工作空间成员提供运行在Nordic nRF52840上的示例。
许可证
本项目采用Apache 2.0许可证。
版权信息
版权©2023AnalogDevices,Inc。保留所有权利。本文档为AnalogDevices,Inc及其许可人的专有财产。
免责声明
AnalogDevices,Inc。(“AnalogDevices”)保留在事先通知的情况下更改此产品的权利。AnalogDevices提供的信息在发布时被认为是准确可靠的。软件、其文档和任何相关手册均按“原样”提供,不提供任何保证、保证或任何类型的责任。未经明确许可,不授予AnalogDevices的专利或其他权利。
依赖项
~275–440KB
~10K SLoC