3 个版本
使用旧的Rust 2015
0.1.2 | 2017年10月18日 |
---|---|
0.1.1 | 2017年8月23日 |
0.1.0 | 2017年8月6日 |
#1310 在 硬件支持 中
20KB
361 行
LSM303D
LSM303D 加速度计、磁力计的I2C驱动程序。
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
i2csensors = "0.1.*"
i2cdev-lsm303d = "0.1.*"
然后,将以下内容添加到您的crate根目录
extern crate i2cdev_lsm303d;
extern crate i2csensors;
初始化和读取LSM303D
use i2cdev_lsm303d::*;
use i2csensors::{Magnetometer,Accelerometer};
fn main() {
let settings = LSM303DSettings {
continuous_update: true,
accelerometer_data_rate: LSM303DAccelerometerUpdateRate::Hz400,
accelerometer_anti_alias_filter_bandwidth: LSM303DAccelerometerFilterBandwidth::Hz194,
azen: true,
ayen: true,
axen: true,
accelerometer_sensitivity: LSM303DAccelerometerFS::g2,
magnetometer_resolution: LSM303DMagnetometerResolution::Low,
magnetometer_data_rate: LSM303DMagnetometerUpdateRate::Hz100,
magnetometer_low_power_mode: false,
magnetometer_mode: LSM303DMagnetometerMode::ContinuousConversion,
magnetometer_sensitivity: LSM303DMagnetometerFS::gauss2
};
let mut i2cdev = get_linux_lsm303d_i2c_device().unwrap();
let mut lsm303d_accel_mag = LSM303D::new(i2cdev, settings).unwrap();
let acceleration = lsm303d_accel_mag.acceleration_reading().unwrap();
let magnetism = lsm303d_accel_mag.magnetic_reading().unwrap();
}
设置可以根据 数据手册 进行调整。
依赖关系
~2–3.5MB
~58K SLoC