MAX44009.h 735 B

123456789101112131415161718192021222324252627
  1. #include <furi.h>
  2. #include <furi_hal.h>
  3. #pragma once
  4. // I2C BUS
  5. #define I2C_BUS &furi_hal_i2c_handle_external
  6. #define I2C_TIMEOUT 10
  7. #define MAX44009_ADDR (0x4A << 1)
  8. #define MAX44009_REG_INT_STATUS 0x00
  9. #define MAX44009_REG_INT_EN 0x01
  10. #define MAX44009_REG_CONFIG 0x02
  11. #define MAX44009_REG_CONFIG_CONT_MODE (1 << 7)
  12. #define MAX44009_REG_LUX_HI 0x03
  13. #define MAX44009_REG_LUX_HI_EXP_MASK 0xF0
  14. #define MAX44009_REG_LUX_HI_MANT_HI_MASK 0x0F
  15. #define MAX44009_REG_LUX_LO 0x04
  16. #define MAX44009_REG_LUX_LO_MANT_LO_MASK 0x0F
  17. #define MAX44009_REG_THRESH_HI 0x05
  18. #define MAX44009_REG_THRESH_LO 0x06
  19. #define MAX44009_REG_INT_TIME 0x07
  20. void max44009_init();
  21. void max44009_init_with_addr(uint8_t addr);
  22. int max44009_read_light(float* result);