Expand description
This is a platform agnostic Rust driver for the Veml7700 and VEML7700 high-accuracy
ambient light sensors using the embedded-hal
traits.
This driver allows you to:
- Enable/disable the device. See:
enable()
. - Read the measured lux value. See:
read_lux()
. - Read the white channel measurement. See:
read_white()
. - Read the measured ALS value in raw format. See:
read_raw()
. - Calculate the compensated lux for a raw ALS value. See:
convert_raw_als_to_lux()
. - Set the gain. See:
set_gain()
. - Set the integration time. See:
set_integration_time()
. - Set the fault count. See:
set_fault_count()
. - Enable/disable and configure power saving mode. See:
enable_power_saving()
. - Enable/disable interrupts. See:
enable_interrupts()
. - Read the interrupt status. See:
read_interrupt_status()
. - Set the high/low thresholds in lux or raw. See:
set_high_threshold_lux()
. - Calculate the compensated raw threshold value ahead of time. See:
calculate_raw_threshold_value()
.
§The device
Vishay’sVEML7700 are high accuracy ambient light digital 16-bit resolution sensor in a miniature transparent package. It includes a high sensitive photodiode, a low noise amplifier, a 16-bit A/D converter and support an easy to use I2C bus communication interface and additional interrupt feature. The ambient light result is as digital value available.
Datasheet: VEML7700
Application Note:
§Usage examples (see also examples folder)
To use this driver, import this crate and an embedded_hal
implementation,
then instantiate the appropriate device.
VEML7700 expose interface over I2C.
Structs§
- Interrupt status
- VEML7700 device driver.
Enums§
- All possible errors in this crate
- Fault count
- Gain
- Integration time
- Power-saving mode
Functions§
- Calculate raw value for threshold applying compensation if necessary.
- Calculate lux value for a raw ALS measurement.