Library for using the AMS TSL45315 Ambient Light Sensor
Diff: tsl45315.cpp
- Revision:
- 1:303c95402cdc
- Parent:
- 0:cafc6c4ed875
- Child:
- 3:f350cffa13b3
--- a/tsl45315.cpp Mon Mar 24 17:00:33 2014 +0000 +++ b/tsl45315.cpp Tue Mar 25 10:54:56 2014 +0000 @@ -4,14 +4,24 @@ namespace TSL45x { -TSL45315::TSL45315( PinName p_sda, PinName p_scl ): _i2c( p_sda, p_scl ) +TSL45315::TSL45315( PinName p_sda, PinName p_scl, int i2c_freq, float t ): _i2c( p_sda, p_scl ) { - _i2c.frequency( I2C_FREQ ); + _i2c.frequency( i2c_freq ); getIDdata(); setReg( CONTROL_REG, NORMAL_OP); setReg( CONFIG_REG, M1); setMultiplier( M1 ); - _luxTicker.attach( this, &TSL45315::getLuxData, 1 ); + _luxTicker.attach( this, &TSL45315::getLuxData, t ); +} + +TSL45315::TSL45315( PinName p_sda, PinName p_scl, int i2c_freq, float t, uint8_t mult ): _i2c( p_sda, p_scl ) +{ + _i2c.frequency( i2c_freq ); + getIDdata( ); + setReg( CONTROL_REG, NORMAL_OP ); + setReg( CONFIG_REG, mult ); + setMultiplier( mult ); + _luxTicker.attach( this, &TSL45315::getLuxData, t ); } TSL45315::TSL45315( PinName p_sda, PinName p_scl, uint8_t mult ): _i2c( p_sda, p_scl ) @@ -21,7 +31,15 @@ setReg( CONTROL_REG, NORMAL_OP ); setReg( CONFIG_REG, mult ); setMultiplier( mult ); - _luxTicker.attach( this, &TSL45315::getLuxData, 1 ); +} + +TSL45315::TSL45315( PinName p_sda, PinName p_scl): _i2c( p_sda, p_scl ) +{ + _i2c.frequency( I2C_FREQ ); + getIDdata( ); + setReg( CONTROL_REG, NORMAL_OP ); + setReg( CONFIG_REG, M1 ); + setMultiplier( M1 ); } void TSL45315::setMultiplier( uint8_t mult ) @@ -64,7 +82,7 @@ devID = ( id[0]&0xF0 ); } -void TSL45315::getLuxData() +void TSL45315::getLuxData( ) { char data[2]; char cmd[1];