Re: [PATCH v3 2/3] iio: light: ltr390: Add ALS channel and support for gain and resolution
From: Jonathan Cameron
Date: Tue Jul 30 2024 - 14:22:05 EST
On Tue, 30 Jul 2024 12:47:10 +0530
Abhash jha <abhashkumarjha123@xxxxxxxxx> wrote:
> On Tue, Jul 30, 2024 at 1:23 AM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
> >
> > On Mon, 29 Jul 2024 17:20:54 +0530
> > Abhash Jha <abhashkumarjha123@xxxxxxxxx> wrote:
> >
> > > Add new ALS channel and allow reading raw and scale values.
> > > Also provide gain and resolution configuration for ALS channel.
> > > Add automatic mode switching between the UVS and ALS channel
> > > based on which channel is being accessed.
> > > The default mode in which the sensor start is ALS mode.
> > >
> > > Signed-off-by: Abhash Jha <abhashkumarjha123@xxxxxxxxx>
> > Hi Abhash,
> >
> > Patch looks good but one quick question.
> > Why not present an IIO_LIGHT channel? Needs to be converted
> > to be illuminance (with scale / offset applied) rather than IIO_INTENSITY
> > which we use when the frequency response is different from the requirements
> > to measure Lux (and the units get very vague!)
> >
> > Looks like what you have here is close, but not quite the right scale
> > factor as not including integration time and the mysterious 0.6 on the datasheet.
>
> Yes, I just noticed it now. I will provide the integration time and
> 0.6 as part of the
> scale calculation in the next version.
>
> >
> > If we can provide a signal scaled to illuminance that tends to be a lot
> > more useful for things like screen brightness control because it should
> > be close at least to other light sensors.
> >
> Hi Jonathan,
> It did not occur to me that the IIO_LIGHT channel could be used
> directly and hence I
> went with the IIO_INTENSITY approach.
> Yes we could provide the IIO_LIGHT channel and perform lux calculation
> in the driver.
> Would that mean forgoing the IIO_INTENSITY channel? Or do we keep both?
Expose the scaling as _scale for the light channel and don't expose
intensity (as it will be the _raw value anyway).
It's rare to see a linear function for intensity to lux transform but
I think there are one or two others like this. Mostly the transform
is nonlinear and involves multiple intensity channels which is why
we normally have those and IIO_LIGHT.
Thanks,
Jonathan
>
> Abhash
>
> > Jonathan