31 #ifndef VL6180X_PARAM_DEV 
   33 #define VL6180X_PARAM_DEV               I2C_DEV(0) 
   36 #ifndef VL6180X_PARAM_ADDR 
   38 #define VL6180X_PARAM_ADDR              (VL6180X_I2C_ADDR) 
   41 #ifndef VL6180X_PARAM_INT_PIN 
   43 #define VL6180X_PARAM_INT_PIN           (GPIO_PIN(0, 1)) 
   46 #ifndef VL6180X_PARAM_SHUTDOWN_PIN 
   48 #define VL6180X_PARAM_SHUTDOWN_PIN      (GPIO_PIN(0, 2)) 
   59 #ifdef CONFIG_VL6180X_ALS_GAIN_1 
   60 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_1) 
   61 #elif CONFIG_VL6180X_ALS_GAIN_1_25 
   62 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_1_25) 
   63 #elif CONFIG_VL6180X_ALS_GAIN_1_67 
   64 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_1_67) 
   65 #elif CONFIG_VL6180X_ALS_GAIN_2_5 
   66 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_2_5) 
   67 #elif CONFIG_VL6180X_ALS_GAIN_5 
   68 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_5) 
   69 #elif CONFIG_VL6180X_ALS_GAIN_10 
   70 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_10) 
   71 #elif CONFIG_VL6180X_ALS_GAIN_20 
   72 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_20) 
   73 #elif CONFIG_VL6180X_ALS_GAIN_40 
   74 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_40) 
   77 #ifdef CONFIG_VL6180X_RNG_INT_DRDY 
   78 #define CONFIG_VL6180X_RNG_INT          (VL6180X_INT_DRDY) 
   79 #elif CONFIG_VL6180X_RNG_INT_LOW 
   80 #define CONFIG_VL6180X_RNG_INT          (VL6180X_INT_LOW) 
   81 #elif CONFIG_VL6180X_RNG_INT_HIGH 
   82 #define CONFIG_VL6180X_RNG_INT          (VL6180X_INT_HIGH) 
   83 #elif CONFIG_VL6180X_RNG_INT_OUT 
   84 #define CONFIG_VL6180X_RNG_INT          (VL6180X_INT_OUT) 
   87 #ifdef CONFIG_VL6180X_ALS_INT_DRDY 
   88 #define CONFIG_VL6180X_ALS_INT          (VL6180X_INT_DRDY) 
   89 #elif CONFIG_VL6180X_ALS_INT_LOW 
   90 #define CONFIG_VL6180X_ALS_INT          (VL6180X_INT_LOW) 
   91 #elif CONFIG_VL6180X_ALS_INT_HIGH 
   92 #define CONFIG_VL6180X_ALS_INT          (VL6180X_INT_HIGH) 
   93 #elif CONFIG_VL6180X_ALS_INT_OUT 
   94 #define CONFIG_VL6180X_ALS_INT          (VL6180X_INT_OUT) 
   99 #ifndef CONFIG_VL6180X_MEAS_PERIOD 
  101 #define CONFIG_VL6180X_MEAS_PERIOD      (20) 
  104 #ifndef CONFIG_VL6180X_RNG_MAX_TIME 
  106 #define CONFIG_VL6180X_RNG_MAX_TIME     (50) 
  109 #ifndef CONFIG_VL6180X_RNG_INT 
  111 #define CONFIG_VL6180X_RNG_INT          (VL6180X_INT_DRDY) 
  114 #ifndef CONFIG_VL6180X_RNG_THRESH_LOW 
  116 #define CONFIG_VL6180X_RNG_THRESH_LOW   (20) 
  119 #ifndef CONFIG_VL6180X_RNG_THRESH_HIGH 
  121 #define CONFIG_VL6180X_RNG_THRESH_HIGH  (90) 
  124 #ifndef CONFIG_VL6180X_ALS_INT_TIME 
  126 #define CONFIG_VL6180X_ALS_INT_TIME     (100) 
  129 #ifndef CONFIG_VL6180X_ALS_GAIN 
  131 #define CONFIG_VL6180X_ALS_GAIN         (VL6180X_ALS_GAIN_1) 
  134 #ifndef CONFIG_VL6180X_ALS_LUX_RES 
  136 #define CONFIG_VL6180X_ALS_LUX_RES      320 
  139 #ifndef CONFIG_VL6180X_ALS_INT 
  141 #define CONFIG_VL6180X_ALS_INT          (VL6180X_INT_DRDY) 
  144 #ifndef CONFIG_VL6180X_ALS_THRESH_LOW 
  146 #define CONFIG_VL6180X_ALS_THRESH_LOW   (50) 
  149 #ifndef CONFIG_VL6180X_ALS_THRESH_HIGH 
  151 #define CONFIG_VL6180X_ALS_THRESH_HIGH  (2000) 
  154 #if IS_USED(MODULE_VL6180X_RNG) || DOXYGEN 
  156 #define VL6180X_PARAM_RANGE         .rng_max_time = CONFIG_VL6180X_RNG_MAX_TIME, 
  158 #define VL6180X_PARAM_RANGE 
  161 #if IS_USED(MODULE_VL6180X_ALS) || DOXYGEN 
  163 #define VL6180X_PARAM_ALS           .als_int_time = CONFIG_VL6180X_ALS_INT_TIME, \ 
  164                                     .als_gain = CONFIG_VL6180X_ALS_GAIN, \ 
  165                                     .als_lux_res = CONFIG_VL6180X_ALS_LUX_RES, 
  167 #define VL6180X_PARAM_ALS 
  170 #if IS_USED(MODULE_VL6180X_SHUTDOWN) || DOXYGEN 
  172 #define VL6180X_PARAM_SHUTDOWN      .shutdown_pin = VL6180X_PARAM_SHUTDOWN_PIN, 
  174 #define VL6180X_PARAM_SHUTDOWN 
  177 #if IS_USED(MODULE_VL6180X_IRQ) || DOXYGEN 
  179 #define VL6180X_PARAM_INT           .int_pin = VL6180X_PARAM_INT_PIN, 
  181 #if IS_USED(MODULE_VL6180X_RNG) || DOXYGEN 
  183 #define VL6180X_PARAM_INT_RNG_CFG   .int_cfg.rng_int = CONFIG_VL6180X_RNG_INT, \ 
  184                                     .int_thresh.rng_low = CONFIG_VL6180X_RNG_THRESH_LOW, \ 
  185                                     .int_thresh.rng_high = CONFIG_VL6180X_RNG_THRESH_HIGH, 
  187 #define VL6180X_PARAM_INT_RNG_CFG 
  190 #if IS_USED(MODULE_VL6180X_ALS) || DOXYGEN 
  192 #define VL6180X_PARAM_INT_ALS_CFG   .int_cfg.als_int = CONFIG_VL6180X_ALS_INT, \ 
  193                                     .int_thresh.als_low = CONFIG_VL6180X_ALS_THRESH_LOW, \ 
  194                                     .int_thresh.als_high = CONFIG_VL6180X_ALS_THRESH_HIGH, 
  196 #define VL6180X_PARAM_INT_ALS_CFG 
  200 #define VL6180X_PARAM_INT 
  201 #define VL6180X_PARAM_INT_RNG_CFG 
  202 #define VL6180X_PARAM_INT_ALS_CFG 
  205 #if !VL6180X_PARAMS || DOXYGEN 
  207 #define VL6180X_PARAMS { \ 
  208                             .i2c_dev = VL6180X_PARAM_DEV, \ 
  209                             .i2c_addr = VL6180X_PARAM_ADDR, \ 
  210                             .period = CONFIG_VL6180X_MEAS_PERIOD, \ 
  211                             VL6180X_PARAM_RANGE \ 
  213                             VL6180X_PARAM_SHUTDOWN \ 
  215                             VL6180X_PARAM_INT_RNG_CFG \ 
  216                             VL6180X_PARAM_INT_ALS_CFG \ 
  220 #if !defined(VL6180X_SAUL_INFO) || DOXYGEN 
  222 #define VL6180X_SAUL_INFO   { .name = "vl6180x" }
 
SAUL registry interface definition.
 
Additional data to collect for each entry.
 
VL6180X device configuration.
 
static const vl6180x_params_t vl6180x_params[]
Allocate some memory to store the actual configuration.
 
#define VL6180X_PARAMS
Default configuration parameter set.
 
#define VL6180X_SAUL_INFO
Default SAUL information.
 
static const saul_reg_info_t vl6180x_saul_info[]
Additional meta information to keep in the SAUL registry.