#include <stdio.h>
#include <string.h>
#include "TSL2561.h"
#include <string>
#include <iostream>
#include <sstream>
#include <unistd.h>
int getLux()
{
std::string iLux, iIR, returnS;
uint16_t broadband, ir = 0;
uint32_t lux=0;
//initialize the sensor and take a reading
TSL2561 light1 = TSL2561_INIT(1, TSL2561_ADDR_FLOAT);
TSL2561_OPEN(&light1);
TSL2561_SETGAIN(&light1, TSL2561_GAIN_1X);
TSL2561_SETINTEGRATIONTIME(&light1, TSL2561_INTEGRATIONTIME_402MS);
TSL2561_SENSELIGHT(&light1, &broadband, &ir, &lux, 1);
return lux;
}
int getIR()
{
std::string iLux, iIR, returnS;
uint16_t broadband, ir = 0;
uint32_t lux=0;
//initialize the sensor and take a reading
TSL2561 light1 = TSL2561_INIT(1, TSL2561_ADDR_FLOAT);
TSL2561_OPEN(&light1);
TSL2561_SETGAIN(&light1, TSL2561_GAIN_1X) ;
TSL2561_SETINTEGRATIONTIME(&light1, TSL2561_INTEGRATIONTIME_402MS);
TSL2561_SENSELIGHT(&light1, &broadband, &ir, &lux, 1);
return ir;
}
int main()
{
while(1)
{
std::cout << "Current lux: " << getLux();
std::cout << std::endl << "Current IR: " << getIR() << std::endl << std::endl;
usleep(1000000);
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgIlRTTDI1NjEuaCIKI2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoKaW50IGdldEx1eCgpCnsKICAgICAgICBzdGQ6OnN0cmluZyBpTHV4LCBpSVIsIHJldHVyblM7CiAgICAgICAgdWludDE2X3QgYnJvYWRiYW5kLCBpciA9IDA7CiAgICAgICAgdWludDMyX3QgbHV4PTA7CgogICAgICAgIC8vaW5pdGlhbGl6ZSB0aGUgc2Vuc29yIGFuZCB0YWtlIGEgcmVhZGluZwogICAgICAgIFRTTDI1NjEgbGlnaHQxID0gVFNMMjU2MV9JTklUKDEsIFRTTDI1NjFfQUREUl9GTE9BVCk7CiAgICAgICAgVFNMMjU2MV9PUEVOKCZsaWdodDEpOwogICAgICAgIFRTTDI1NjFfU0VUR0FJTigmbGlnaHQxLCBUU0wyNTYxX0dBSU5fMVgpOwogICAgICAgIFRTTDI1NjFfU0VUSU5URUdSQVRJT05USU1FKCZsaWdodDEsIFRTTDI1NjFfSU5URUdSQVRJT05USU1FXzQwMk1TKTsKICAgICAgICBUU0wyNTYxX1NFTlNFTElHSFQoJmxpZ2h0MSwgJmJyb2FkYmFuZCwgJmlyLCAmbHV4LCAxKTsKCiAgICAgICAgcmV0dXJuIGx1eDsKfQoKaW50IGdldElSKCkKewogICAgICAgIHN0ZDo6c3RyaW5nIGlMdXgsIGlJUiwgcmV0dXJuUzsKICAgICAgICB1aW50MTZfdCBicm9hZGJhbmQsIGlyID0gMDsKICAgICAgICB1aW50MzJfdCBsdXg9MDsKCiAgICAgICAgLy9pbml0aWFsaXplIHRoZSBzZW5zb3IgYW5kIHRha2UgYSByZWFkaW5nCiAgICAgICAgVFNMMjU2MSBsaWdodDEgPSBUU0wyNTYxX0lOSVQoMSwgVFNMMjU2MV9BRERSX0ZMT0FUKTsKICAgICAgICBUU0wyNTYxX09QRU4oJmxpZ2h0MSk7CiAgICAgICAgVFNMMjU2MV9TRVRHQUlOKCZsaWdodDEsIFRTTDI1NjFfR0FJTl8xWCkgOwogICAgICAgIFRTTDI1NjFfU0VUSU5URUdSQVRJT05USU1FKCZsaWdodDEsIFRTTDI1NjFfSU5URUdSQVRJT05USU1FXzQwMk1TKTsKICAgICAgICBUU0wyNTYxX1NFTlNFTElHSFQoJmxpZ2h0MSwgJmJyb2FkYmFuZCwgJmlyLCAmbHV4LCAxKTsKCiAgICAgICAgcmV0dXJuIGlyOwp9CgppbnQgbWFpbigpCnsKCXdoaWxlKDEpCgl7CiAgICAgICAgCXN0ZDo6Y291dCA8PCAiQ3VycmVudCBsdXg6ICIgPDwgZ2V0THV4KCk7CiAgICAgICAgCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGwgPDwgIkN1cnJlbnQgSVI6ICIgPDwgZ2V0SVIoKSA8PCBzdGQ6OmVuZGwgPDwgc3RkOjplbmRsOwoJCQl1c2xlZXAoMTAwMDAwMCk7Cgl9Cn0=