#analog-devices #accelerometer #mems #adi #embedded-hal-driver

no-std adi-adxl355

ADXL355加速度计的嵌入式HAL驱动程序

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 中使用

Apache-2.0

53KB
924 代码行

ADXL355驱动程序

ADXL355加速度计的平台无关Rust驱动程序。

产品信息

ADXL355是一款低噪声、低漂移、低功耗的3轴MEMS加速度计。

更多信息请参阅其产品网页数据手册

最低支持的Rust版本 (MSRV)

本crate保证在稳定版Rust 1.68及更高版本上编译。

用法

此驱动程序依赖于HAL实现的embedded_hal::spi::SpiDeviceembedded_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