typedef enum { TSL2591_GAIN_LOW = 0x00, // low gain (1x) TSL2591_GAIN_MED = 0x10, // medium gain (25x) TSL2591_GAIN_HIGH = 0x20, // medium gain (428x) TSL2591_GAIN_MAX = 0x30, // max gain (9876x) } tsl2591Gain_t; typedef enum { TSL2591_INTEGRATIONTIME_100MS = 0x00, TSL2591_INTEGRATIONTIME_200MS = 0x01, TSL2591_INTEGRATIONTIME_300MS = 0x02, TSL2591_INTEGRATIONTIME_400MS = 0x03, TSL2591_INTEGRATIONTIME_500MS = 0x04, TSL2591_INTEGRATIONTIME_600MS = 0x05, } tsl2591IntegrationTime_t; #define TSL2591_COMMAND_BIT (0xA0) // bits 7 and 5 for 'command normal' #define TSL2591_ENABLE_POWERON (0x01) #define TSL2591_ENABLE_POWEROFF (0x00) #define TSL2591_ENABLE_AEN (0x02) #define TSL2591_ENABLE_AIEN (0x10) enum { TSL2591_REGISTER_ENABLE = 0x00, TSL2591_REGISTER_CONTROL = 0x01, TSL2591_REGISTER_THRESHHOLDL_LOW = 0x02, TSL2591_REGISTER_THRESHHOLDL_HIGH = 0x03, TSL2591_REGISTER_THRESHHOLDH_LOW = 0x04, TSL2591_REGISTER_THRESHHOLDH_HIGH = 0x05, TSL2591_REGISTER_INTERRUPT = 0x06, TSL2591_REGISTER_CRC = 0x08, TSL2591_REGISTER_ID = 0x0A, TSL2591_REGISTER_CHAN0_LOW = 0x14, TSL2591_REGISTER_CHAN0_HIGH = 0x15, TSL2591_REGISTER_CHAN1_LOW = 0x16, TSL2591_REGISTER_CHAN1_HIGH = 0x17 };