Interface for the Lux Plug - see https://jeelabs.org/xp. More...
#include <Ports.h>
Public Types | |
| enum | { CONTROL, TIMING, THRESHLOWLOW, THRESHLOWHIGH, THRESHHIGHLOW, THRESHHIGHHIGH, INTERRUPT, LUXID = 0xA, DATA0LOW = 0xC, DATA0HIGH, DATA1LOW, DATA1HIGH } |
Public Member Functions | |
| LuxPlug (PortI2C &port, byte addr) | |
| void | begin () |
| Initialize the LuxPlug. Wait at least 1000 ms after calling this! | |
| void | poweroff () |
| Power down the lux plug for low power usage. | |
| void | setGain (byte high) |
| Set the gain mode of the 16x multiplier in the LuxPlug. More... | |
| const word * | getData () |
| Read the raw data from the photodiodes. More... | |
| word | calcLux (byte iGain=0, byte tInt=2) const |
| Calculate Lux value from the raw data retreived. More... | |
Public Member Functions inherited from DeviceI2C | |
| DeviceI2C (const PortI2C &p, uint8_t me) | |
| bool | isPresent () const |
| see if a device answers at an I2C address | |
| uint8_t | send () const |
| Create a start condition on the I2C bus, and set things up for sending data to this device. More... | |
| uint8_t | receive () const |
| Create a start condition on the I2C bus, and set things up for receiving data from this device. More... | |
| void | stop () const |
| Create a stop condition on the I2C bus, ending the current transfer. | |
| uint8_t | write (uint8_t data) const |
| Write a byte to the currently addressed device. More... | |
| uint8_t | read (uint8_t last) const |
| Read a byte from the currently addressed device. More... | |
| void | setAddress (uint8_t me) |
Interface for the Lux Plug - see https://jeelabs.org/xp.
| word LuxPlug::calcLux | ( | byte | iGain = 0, |
| byte | tInt = 2 |
||
| ) | const |
Calculate Lux value from the raw data retreived.
| iGain | gain, where 0:1X, 1:16X. |
| tInt | Integration time, where 0:13.7mS, 1:100mS, 2:402mS, 3:Manual |
| const word * LuxPlug::getData | ( | ) |
Read the raw data from the photodiodes.
| void LuxPlug::setGain | ( | byte | high | ) |
Set the gain mode of the 16x multiplier in the LuxPlug.
| high | Multiplier is off if 0, otherwise on. |