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;