Line data Source code
1 1 : /*
2 : * Copyright (c) 2024 Michal Piekos
3 : * SPDX-License-Identifier: Apache-2.0
4 : */
5 :
6 : /**
7 : * @file
8 : * @brief Custom channels and values for VL53L0X ToF Sensor
9 : *
10 : * These channels provide additional sensor data not covered by the standard
11 : * Zephyr sensor channels. Application must include vl53l0x.h file to gain
12 : * access to these channels.
13 : *
14 : * Example usage:
15 : * @code{c}
16 : * #include <zephyr/drivers/sensor/vl53l0x.h>
17 : *
18 : * if (sensor_channel_get(dev, SENSOR_CHAN_VL53L0X_RANGE_STATUS, &value)) {
19 : * printk("Status: %d\n", value.val1);
20 : * }
21 : * @endcode
22 : */
23 :
24 : #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_VL53L0X_H_
25 : #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_VL53L0X_H_
26 :
27 : #include <zephyr/drivers/sensor.h>
28 :
29 : /* VL53L0x specific channels */
30 0 : enum sensor_channel_vl53l0x {
31 : SENSOR_CHAN_VL53L0X_RANGE_DMAX = SENSOR_CHAN_PRIV_START,
32 : SENSOR_CHAN_VL53L0X_SIGNAL_RATE_RTN_CPS,
33 : SENSOR_CHAN_VL53L0X_AMBIENT_RATE_RTN_CPS,
34 : SENSOR_CHAN_VL53L0X_EFFECTIVE_SPAD_RTN_COUNT,
35 : SENSOR_CHAN_VL53L0X_RANGE_STATUS,
36 : };
37 :
38 : /* VL53L0x meas status values */
39 0 : #define VL53L0X_RANGE_STATUS_RANGE_VALID (0)
40 0 : #define VL53L0X_RANGE_STATUS_SIGMA_FAIL (1)
41 0 : #define VL53L0X_RANGE_STATUS_SIGNAL_FAIL (2)
42 0 : #define VL53L0X_RANGE_STATUS_MIN_RANGE_FAIL (3)
43 0 : #define VL53L0X_RANGE_STATUS_PHASE_FAIL (4)
44 0 : #define VL53L0X_RANGE_STATUS_HARDWARE_FAIL (5)
45 0 : #define VL53L0X_RANGE_STATUS_NO_UPDATE (255)
46 :
47 : #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_VL53L0X_H_ */
|