Loom 4 v4.5
Arduino library for Internet of Things Rapid Prototyping in environmental sensing
Loading...
Searching...
No Matches
Loom_TSL2591.h
1#pragma once
2
3#include <Adafruit_TSL2591.h>
4#include <Adafruit_Sensor.h>
5
6#include "../I2CDevice.h"
7#include "Loom_Manager.h"
8
14class Loom_TSL2591 : public I2CDevice{
15 protected:
16
17 // Manager controlled functions
18 void measure() override;
19 void initialize() override;
20 void power_up() override;
21 void power_down() override {};
22 void package() override;
23
24 public:
33 Manager& man,
34 int address = 0x29,
35 bool useMux = false,
36 tsl2591Gain_t light_gain = TSL2591_GAIN_MED,
37 tsl2591IntegrationTime_t integration_time = TSL2591_INTEGRATIONTIME_100MS
38 );
39
43 uint16_t getVisible() {return lightLevels[0]; };
44
48 uint16_t getInfrared() { return lightLevels[1]; };
49
53 uint16_t getFullSpectrum() {return lightLevels[2]; };
54
55
56
57 private:
58 Manager* manInst; // Instance of the manager
59 Adafruit_TSL2591 tsl; // Adafruit TSL2591 Sensor Object
60
61 uint16_t lightLevels[3] = {0, 0, 0}; // Array of size 3 to hold all collected data
62
63 tsl2591Gain_t gain; // Light level gain
64 tsl2591IntegrationTime_t intTime; // Integration time of the sensor (longer time = dimmer)
65};
Definition: I2CDevice.h:6
Definition: Loom_TSL2591.h:14
uint16_t getFullSpectrum()
Definition: Loom_TSL2591.h:53
uint16_t getVisible()
Definition: Loom_TSL2591.h:43
uint16_t getInfrared()
Definition: Loom_TSL2591.h:48
Definition: Loom_Manager.h:18