mbox series

[v2,0/3] Interrupt and Continuous mode support for VL6180

Message ID 20241005155225.9239-1-abhashkumarjha123@gmail.com (mailing list archive)
Headers show
Series Interrupt and Continuous mode support for VL6180 | expand

Message

Abhash Jha Oct. 5, 2024, 3:52 p.m. UTC
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(-)

Comments

Jonathan Cameron Oct. 5, 2024, 5:01 p.m. UTC | #1
On Sat,  5 Oct 2024 21:22:22 +0530
Abhash Jha <abhashkumarjha123@gmail.com> wrote:

> 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
Hi Abhash,

I left comments on v1.  Even for a compile issue like this one, maybe just
a quick reply to the earlier posting saying what you will change is more
appropriate than sending a new version just one day after the first.

Not a bit thing, so just check those reviews on v1.

Thanks,

Jonathan

> 
> 
> 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(-)
>