Adafruit TSL2591 sensor

Dependencies:   mbed

Files at this revision

API Documentation at this revision

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;