The friendly Operating System for the Internet of Things

Device driver interface for the illuminance TSL2561 sensor. More...

Detailed Description


file  tsl2561.h
 Device driver interface for the illuminance TSL2561 sensor.
file  tsl2561_internals.h
 Internal addresses, registers, constants for the TSL2561 sensor.

Data Structures

struct  tsl2561_t
 Device descriptor for the TSL2561 sensor. More...


typedef tsl2561_t tsl2561_params_t
 Device initialization parameters.


int tsl2561_init (tsl2561_t *dev, i2c_t i2c, uint8_t addr, uint8_t gain, uint8_t integration)
 Initialize the given TSL2561 device. More...
uint16_t tsl2561_read_illuminance (tsl2561_t *dev)
 Read illuminance value from the given TSL2561 device, returned in lx. More...

TSL2561 I2C addresses

#define TSL2561_ADDR_LOW   (0x29)
#define TSL2561_ADDR_FLOAT   (0x39)
#define TSL2561_ADDR_HIGH   (0x49)

TSL2561 integration times

#define TSL2561_INTEGRATIONTIME_13MS   (0x00) /* 13.7ms */
#define TSL2561_INTEGRATIONTIME_101MS   (0x01) /* 101ms */
#define TSL2561_INTEGRATIONTIME_402MS   (0x02) /* 402ms */
#define TSL2561_INTEGRATIONTIME_NA   (0x03) /* N/A */

TSL2561 gains

#define TSL2561_GAIN_1X   (0x00)
#define TSL2561_GAIN_16X   (0x10)

tsl2561 driver initialization return codes

#define TSL2561_OK   (0)
#define TSL2561_NOI2C   (-1)
#define TSL2561_BADDEV   (-2)

Function Documentation

int tsl2561_init ( tsl2561_t dev,
i2c_t  i2c,
uint8_t  addr,
uint8_t  gain,
uint8_t  integration 
[out]devInitialized device descriptor of BMP180 device
[in]i2cI2C bus the sensor is connected to
[in]addrI2C address of the sensor on the I2C bus
[in]gainTSL2561 gain
[in]integrationTSL2561 integration time
0 on success
-1 if given I2C is not available
-2 if not a TSL2561 sensor
uint16_t tsl2561_read_illuminance ( tsl2561_t dev)
[in]devDevice descriptor of TSL2561 device to read from
Illuminance in Lux (lx)