[PATCH v2 0/3] Interrupt and Continuous mode support for VL6180
From: Abhash Jha
Date: Sat Oct 05 2024 - 11:53:08 EST
Hello,
The first patch adds support for configuring the Sampling frequency
(inter-measurement period) of the sensor. The values must be provided
in miliseconds. The default value for the inter-measurement period for
ALS is 10ms and for Range is 50ms.
The second patch adds support for interrupt based single shot reading.
We registered an irq_handler that fires everytime the data is ready.
And then we read the appropriate value in the `vl6180_measure` routine.
The third patch adds support for continuous mode in the sensor by using
buffers. We enable the sensor's continuous mode in the buffer_postenable
function depending on the `active_scan_mask`.
The continuous mode can be disabled by disabling the buffer.
Added a trigger to the device for the continuous mode. Also validating that
the device uses the internal trigger provided by us.
Changes in v2:
- Fixed `label followed by a declaration is a C23 extension [-Wc23-extensions]`
by moving the guard(mutex)(&data->lock) above the switch statement.
- The above error was pointed out during testing by kernel-test-robot
Thanks,
Abhash Jha
Abhash Jha (3):
iio: light: vl6180: Add configurable inter-measurement period support
iio: light: vl6180: Added Interrupt support for single shot access
iio: light: vl6180: Add support for Continuous Mode
drivers/iio/light/vl6180.c | 266 ++++++++++++++++++++++++++++++++++---
1 file changed, 249 insertions(+), 17 deletions(-)
--
2.43.0