3个版本
0.1.2 | 2020年11月5日 |
---|---|
0.1.1 | 2019年12月21日 |
0.1.0 | 2019年12月20日 |
#2277 in 嵌入式开发
38KB
465 行
Rust VEML6030/VEML7700 高精度环境光传感器驱动程序
这是一个使用嵌入式HAL traits的跨平台Rust驱动程序,用于VEML6030和VEML7700高精度环境光传感器。
此驱动程序允许您
- 启用/禁用设备。请参阅:
enable()
。 - 读取测量的勒克斯值。请参阅:
read_lux()
。 - 读取白色通道的测量值。请参阅:
read_white()
。 - 以原始格式读取测量的ALS值。请参阅:
read_raw()
。 - 计算原始ALS值的补偿勒克斯值。请参阅:
convert_raw_als_to_lux()
。 - 设置增益。请参阅:
set_gain()
。 - 设置积分时间。请参阅:
set_integration_time()
。 - 设置故障计数。请参阅:
set_fault_count()
。 - 启用/禁用并配置省电模式。请参阅:
enable_power_saving()
。 - 启用/禁用中断。请参阅:
enable_interrupts()
。 - 读取中断状态。请参阅:
read_interrupt_status()
。 - 设置以勒克斯或原始值的高/低阈值。请参阅:
set_high_threshold_lux()
。 - 提前计算补偿的原始阈值值。请参阅:
calculate_raw_threshold_value()
。
设备
威世公司的VEML6030和VEML7700是高精度环境光数字16位分辨率的传感器,采用微型透明封装。它们包括高灵敏度光电二极管、低噪声放大器、16位模数转换器,并支持易于使用的I2C总线通信接口和额外的中断功能。环境光结果以数字值提供。
应用笔记
用法
要使用此驱动程序,导入此crate以及一个嵌入式HAL
实现,然后实例化设备。
VEML6030和VEML7700在I2C上暴露相同的接口。要与VEML7700通信,只需像与VEML6030通信一样使用此驱动程序。
请在此存储库中查找使用硬件的更多示例:driver-examples
use linux_embedded_hal::I2cdev;
use veml6030::{SlaveAddr, Veml6030};
fn main() {
let dev = I2cdev::new("/dev/i2c-1").unwrap();
let address = SlaveAddr::default();
let mut sensor = Veml6030::new(dev, address);
sensor.enable().unwrap();
loop {
let lux = sensor.read_lux().unwrap();
println!("lux: {:2}", lux);
}
}
支持
有关问题、问题、功能请求和其他更改,请在github项目中提交问题。
许可证
许可以下任一项
- Apache许可证,版本2.0(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交以供包括在内的任何贡献,将如上所述双重许可,不附加任何额外条款或条件。
依赖关系
~505KB