3个不稳定版本
0.2.0 | 2024年3月22日 |
---|---|
0.1.1 | 2024年3月9日 |
0.1.0 | 2024年3月9日 |
1655 在 嵌入式开发
141 每月下载量
39KB
560 行
BH1730FVC Rust驱动程序
为BH1730FVC环境光传感器提供的Rust无std驱动程序。
描述
此库提供了BH1730FVC环境光传感器的Rust接口。它设计用于无std环境,适合在嵌入式系统中使用。
支持的特性
- 单次测量和连续测量模式
- 可配置的积分时间和增益
- 读取传感器的零件号和修订ID
- 将读取的原始值转换为环境光强度(lux)
不支持的功能
- 中断功能
- 配置阈值
- 异步支持
依赖项
此库依赖于embedded-hal
包进行硬件抽象。它使用log
包进行日志记录。
对于开发,它使用embedded-hal-mock
包来模拟硬件抽象层。对于示例,它使用linux-embedded-hal
,计划在RPI上运行(尚未测试!)。
使用方法
要使用此库,请将以下内容添加到您的Cargo.toml
文件中
[dependencies]
bh1730fvc = "0.1.0"
然后,您可以在Rust代码中使用它,如下所示
// Create the necessary hardware objects
let mut i2c = hal::I2cdev::new("/dev/i2c-1").unwrap();
let mut delay = hal::Delay;
// Create a new BH1730FVC instance
let mut bh1730fvc = BH1730FVC::new(&mut delay, &mut i2c).unwrap();
// Read the device ID
let device_id = bh1730fvc.read_id(&mut i2c).unwrap();
log::info!(
"Device ID: (Part Number: 0x{:02X}, Revision ID: 0x{:02X}",
device_id.0,
device_id.1,
);
// Do single shot measurement once
match bh1730fvc.get_ambient_light_intensity_single_shot(&mut delay, &mut i2c) {
Ok(reading) => log::info!("Single shot measurement - lux value: {}", reading),
Err(e) => log::error!("Error reading sensor: {:?}", e),
}
示例
示例目录中有一个示例。要构建它(为RPI交叉编译),请运行以下命令
cargo build --example rpi_demo --target=arm-unknown-linux-gnueabihf
许可证
此库根据您的选择在以下两者之一下获得许可
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache许可证2.0版(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交给作品以包含的任何贡献,将根据上述条款双重许可,不附加任何额外条款或条件。
变更日志
v0.1.1
初始发布
v0.2.0
添加了async
支持
依赖项
~225KB