6次发布
0.3.0 | 2021年5月20日 |
---|---|
0.2.0 | 2019年12月22日 |
0.1.3 | 2019年12月4日 |
0.1.2 | 2019年10月21日 |
#1867 in 嵌入式开发
每月 31次下载
33KB
636 行
gyuvl53l0x
VL53L0X (时序飞行I2C激光测距模块)的no_std驱动程序
基本用法
将此库作为依赖项添加到您的Cargo.toml
[dependencies.gyuvl53l0x]
version = "<version>"
使用embedded-hal实现获取I2C句柄,然后创建vl53l0x句柄。
单次读取
extern crate gyuvl53l0x;
match gyuvl53l0x::VL53L0X::default(i2c) {
Ok(mut u) => {
// set a new device address
u.set_device_address(0x39).unwrap();
// set the measurement timing budget in microseconds
u.set_measurement_timing_budget(20_000).unwrap();
loop {
match u.read_range_single_millimeters_blocking() {
Ok(val) => {
println!("{:#?}", val).unwrap();
}
_ => {
println!("Not ready").unwrap();
}
}
}
}
Err(gyuvl53l0x::VL53L0X::Error::BusError(error)) => {
println!("{:#?}", error).unwrap();
panic!();
}
_ => {
panic!();
}
};
连续读取
extern crate gyuvl53l0x;
match gyuvl53l0x::VL53L0X::default(i2c) {
Ok(mut u) => {
u.start_continuous(20_000).unwrap();
loop {
match u.read_range_continuous_millimeters_blocking() {
Ok(val) => {
println!("{:#?}", val).unwrap();
}
_ => {
println!("Not ready").unwrap();
}
}
}
}
Err(gyuvl53l0x::VL53L0X::Error::BusError(error)) => {
println!("{:#?}", error).unwrap();
panic!();
}
_ => {
panic!();
}
};
许可
依赖项
~345KB