Edwin Cho
/
TSL2591
Adafruit TSL2591 sensor
Revision 4:66ce66d4c07c, committed 2016-04-04
- Comitter:
- 12104404
- Date:
- Mon Apr 04 09:09:12 2016 +0000
- Parent:
- 3:fecb1929cbef
- Commit message:
- <<1
Changed in this revision
TSL2591.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/TSL2591.cpp Mon Apr 04 08:49:41 2016 +0000 +++ b/TSL2591.cpp Mon Apr 04 09:09:12 2016 +0000 @@ -1,7 +1,7 @@ #include "TSL2591.h" TSL2591::TSL2591 (I2C& tsl2591_i2c, uint8_t tsl2591_addr): - _i2c(tsl2591_i2c), _addr(tsl2591_addr) + _i2c(tsl2591_i2c), _addr(tsl2591_addr<<1) { _init = false; _integ = TSL2591_INTT_100MS; @@ -14,9 +14,9 @@ bool TSL2591::init(void) { char write[] = {(TSL2591_CMD_BIT|TSL2591_REG_ID)}; - if(_i2c.write(_addr<<1, write, 1, 0) == 0) { + if(_i2c.write(_addr, write, 1, 0) == 0) { char read[1]; - _i2c.read(_addr<<1, read, 1, 0); + _i2c.read(_addr, read, 1, 0); if(read[0] == TSL2591_ID) { _init = true; setGain(TSL2591_GAIN_LOW); @@ -33,7 +33,7 @@ void TSL2591::enable(void) { char write[] = {(TSL2591_CMD_BIT|TSL2591_REG_ENABLE), (TSL2591_EN_PON|TSL2591_EN_AEN|TSL2591_EN_AIEN|TSL2591_EN_NPIEN)}; - _i2c.write(_addr<<1, write, 2, 0); + _i2c.write(_addr, write, 2, 0); } /* * Power Off TSL2591 @@ -41,7 +41,7 @@ void TSL2591::disable(void) { char write[] = {(TSL2591_CMD_BIT|TSL2591_REG_ENABLE), (TSL2591_EN_POFF)}; - _i2c.write(_addr<<1, write, 2, 0); + _i2c.write(_addr, write, 2, 0); } /* * Set Gain and Write @@ -52,7 +52,7 @@ enable(); _gain = gain; char write[] = {(TSL2591_CMD_BIT|TSL2591_REG_CONTROL), (_integ|_gain)}; - _i2c.write(_addr<<1, write, 2, 0); + _i2c.write(_addr, write, 2, 0); disable(); } /* @@ -64,7 +64,7 @@ enable(); _integ = integ; char write[] = {(TSL2591_CMD_BIT|TSL2591_REG_CONTROL), (_integ|_gain)}; - _i2c.write(_addr<<1, write, 2, 0); + _i2c.write(_addr, write, 2, 0); disable(); } /* @@ -78,13 +78,13 @@ wait(0.12); } char write1[] = {(TSL2591_CMD_BIT|TSL2591_REG_CHAN1_L)}; - _i2c.write(_addr<<1, write1, 1, 0); + _i2c.write(_addr, write1, 1, 0); char read1[2]; - _i2c.read(_addr<<1, read1, 2, 0); + _i2c.read(_addr, read1, 2, 0); char write2[] = {(TSL2591_CMD_BIT|TSL2591_REG_CHAN0_L)}; - _i2c.write(_addr<<1, write2, 1, 0); + _i2c.write(_addr, write2, 1, 0); char read2[2]; - _i2c.read(_addr<<1, read2, 2, 0); + _i2c.read(_addr, read2, 2, 0); rawALS = (((read1[1]<<8)|read1[0])<<16)|((read2[1]<<8)|read2[0]); disable(); full = rawALS & 0xFFFF;