TSL2561 illuminance sensor

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

Detailed Description

Files

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...
 

Typedefs

typedef tsl2561_t tsl2561_params_t
 Device initialization parameters.
 

Functions

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 (const 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

◆ tsl2561_init()

int tsl2561_init ( tsl2561_t dev,
i2c_t  i2c,
uint8_t  addr,
uint8_t  gain,
uint8_t  integration 
)
Parameters
[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
Returns
0 on success
-1 if given I2C is not available
-2 if not a TSL2561 sensor

◆ tsl2561_read_illuminance()

uint16_t tsl2561_read_illuminance ( const tsl2561_t dev)
Parameters
[in]devDevice descriptor of TSL2561 device to read from
Returns
Illuminance in Lux (lx)