Driver for the Rohm BH1750FVI ambient light sensor. More...
Driver for the Rohm BH1750FVI ambient light sensor.
Files | |
| file | bh1750fvi_internal.h |
| Command definition for the BH1750FVI light sensor. | |
| file | bh1750fvi_params.h |
| Default configuration for BH1750FVI devices. | |
| file | bh1750fvi.h |
| Interface definition for the Rohm BH1750FVI ambient light sensor. | |
Data Structures | |
| struct | bh1750fvi_t |
| Device descriptor for BH1570FVI devices. More... | |
| struct | bh1750fvi_params_t |
| Set of configuration parameters for BH1750FV devices. More... | |
Macros | |
| #define | BH1750FVI_DEFAULT_ADDR BH1750FVI_ADDR_PIN_LOW |
| Default address of BH1750FVI sensors. | |
| #define | BH1750FVI_I2C_MAX_CLK I2C_SPEED_FAST |
| Maximum I2C bus speed to use with the device. | |
Enumerations | |
| enum | { BH1750FVI_OK = 0 , BH1750FVI_ERR_I2C = -1 } |
| Status and error return codes. More... | |
Functions | |
| int | bh1750fvi_init (bh1750fvi_t *dev, const bh1750fvi_params_t *params) |
| Initialize the given BH1750FVI device. More... | |
| uint16_t | bh1750fvi_sample (const bh1750fvi_t *dev) |
| Read a ambient light value from the given device [in LUX]. More... | |
Possible I2C bus addresses of the device | |
The actual address of the device depends on the state of the ADDR pin. | |
| #define | BH1750FVI_ADDR_PIN_LOW (0x23) |
| ADDR pin := 0. | |
| #define | BH1750FVI_ADDR_PIN_HIGH (0x5c) |
| ADDR pin := 1. | |
| anonymous enum |
Status and error return codes.
| Enumerator | |
|---|---|
| BH1750FVI_OK | everything was fine |
| BH1750FVI_ERR_I2C | error initializing the I2C bus |
Definition at line 52 of file bh1750fvi.h.
| int bh1750fvi_init | ( | bh1750fvi_t * | dev, |
| const bh1750fvi_params_t * | params | ||
| ) |
Initialize the given BH1750FVI device.
| [out] | dev | device descriptor of the targeted device |
| [in] | params | device configuration (i2c bus, address and bus clock) |
| uint16_t bh1750fvi_sample | ( | const bh1750fvi_t * | dev | ) |
Read a ambient light value from the given device [in LUX].
The result value is the measured ambient light intensity in LUX and ranges from 0 to 54612. Taking one measurement takes ~120ms, so it takes this amount of time until the function returns.
| [in] | dev | device descriptor of the targeted device |