#光传感器 #环境 # #传感器 #嵌入式HAL驱动程序 #ALS

无std veml6030

适用于VEML6030和VEML7700高精度环境光传感器的跨平台Rust驱动程序

3个版本

0.1.2 2020年11月5日
0.1.1 2019年12月21日
0.1.0 2019年12月20日

#2277 in 嵌入式开发

MIT/Apache

38KB
465

Rust VEML6030/VEML7700 高精度环境光传感器驱动程序

crates.io Docs Build Status Coverage Status

这是一个使用嵌入式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总线通信接口和额外的中断功能。环境光结果以数字值提供。

数据手册:VEML6030 - VEML7700

应用笔记

用法

要使用此驱动程序,导入此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许可证定义,您有意提交以供包括在内的任何贡献,将如上所述双重许可,不附加任何额外条款或条件。

依赖关系

~505KB