lux_sensor.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. typedef enum
  2. {
  3. TSL2591_GAIN_LOW = 0x00, // low gain (1x)
  4. TSL2591_GAIN_MED = 0x10, // medium gain (25x)
  5. TSL2591_GAIN_HIGH = 0x20, // medium gain (428x)
  6. TSL2591_GAIN_MAX = 0x30, // max gain (9876x)
  7. }
  8. tsl2591Gain_t;
  9. typedef enum
  10. {
  11. TSL2591_INTEGRATIONTIME_100MS = 0x00,
  12. TSL2591_INTEGRATIONTIME_200MS = 0x01,
  13. TSL2591_INTEGRATIONTIME_300MS = 0x02,
  14. TSL2591_INTEGRATIONTIME_400MS = 0x03,
  15. TSL2591_INTEGRATIONTIME_500MS = 0x04,
  16. TSL2591_INTEGRATIONTIME_600MS = 0x05,
  17. }
  18. tsl2591IntegrationTime_t;
  19. #define TSL2591_COMMAND_BIT (0xA0) // bits 7 and 5 for 'command normal'
  20. #define TSL2591_ENABLE_POWERON (0x01)
  21. #define TSL2591_ENABLE_POWEROFF (0x00)
  22. #define TSL2591_ENABLE_AEN (0x02)
  23. #define TSL2591_ENABLE_AIEN (0x10)
  24. enum
  25. {
  26. TSL2591_REGISTER_ENABLE = 0x00,
  27. TSL2591_REGISTER_CONTROL = 0x01,
  28. TSL2591_REGISTER_THRESHHOLDL_LOW = 0x02,
  29. TSL2591_REGISTER_THRESHHOLDL_HIGH = 0x03,
  30. TSL2591_REGISTER_THRESHHOLDH_LOW = 0x04,
  31. TSL2591_REGISTER_THRESHHOLDH_HIGH = 0x05,
  32. TSL2591_REGISTER_INTERRUPT = 0x06,
  33. TSL2591_REGISTER_CRC = 0x08,
  34. TSL2591_REGISTER_ID = 0x0A,
  35. TSL2591_REGISTER_CHAN0_LOW = 0x14,
  36. TSL2591_REGISTER_CHAN0_HIGH = 0x15,
  37. TSL2591_REGISTER_CHAN1_LOW = 0x16,
  38. TSL2591_REGISTER_CHAN1_HIGH = 0x17
  39. };