diff mbox series

iio: light: as73211: Increase measurement timeout

Message ID 20200909154439.10308-1-ceggers@arri.de (mailing list archive)
State New, archived
Headers show
Series iio: light: as73211: Increase measurement timeout | expand

Commit Message

Christian Eggers Sept. 9, 2020, 3:44 p.m. UTC
We found some sensors which are much slower (20% at room temperature)
than nominal. According to the data sheet, up to 27% is possible. Now I
add 33% to the nominal time out, hopefully this is enough.

Signed-off-by: Christian Eggers <ceggers@arri.de>
---
 drivers/iio/light/as73211.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Andy Shevchenko Sept. 9, 2020, 4:58 p.m. UTC | #1
On Wed, Sep 9, 2020 at 6:45 PM Christian Eggers <ceggers@arri.de> wrote:
>
> We found some sensors which are much slower (20% at room temperature)
> than nominal. According to the data sheet, up to 27% is possible. Now I
> add 33% to the nominal time out, hopefully this is enough.

I'm wondering if this is a function of temperature.
And if that has an actual thermistor inside...
Christian Eggers Sept. 9, 2020, 6:04 p.m. UTC | #2
On Wednesday, 9 September 2020, 18:58:39 CEST, Andy Shevchenko wrote:
> On Wed, Sep 9, 2020 at 6:45 PM Christian Eggers <ceggers@arri.de> wrote:
> > We found some sensors which are much slower (20% at room temperature)
> > than nominal. According to the data sheet, up to 27% is possible. Now I
> > add 33% to the nominal time out, hopefully this is enough.
> 
> I'm wondering if this is a function of temperature.
> And if that has an actual thermistor inside...
 I haven't designed the hardware, but I guess that clock generation is done 
using an RC oscillator which depends on temperature. Temperature measurement 
is possible, but I think the recommended way is to externally control the 
integration time using the SYN pin and to get the actual number of RC cycles 
from a register. But generating the required waveform for the SYN pin using a 
uC general purpose timer seems challenging.

I wouldn't be surprised if the measurement results also depend on the exact 
value of the supply voltage.
Jonathan Cameron Sept. 13, 2020, 9:39 a.m. UTC | #3
On Wed, 9 Sep 2020 20:04:24 +0200
Christian Eggers <ceggers@arri.de> wrote:

> On Wednesday, 9 September 2020, 18:58:39 CEST, Andy Shevchenko wrote:
> > On Wed, Sep 9, 2020 at 6:45 PM Christian Eggers <ceggers@arri.de> wrote:  
> > > We found some sensors which are much slower (20% at room temperature)
> > > than nominal. According to the data sheet, up to 27% is possible. Now I
> > > add 33% to the nominal time out, hopefully this is enough.  
> >
> > I'm wondering if this is a function of temperature.
> > And if that has an actual thermistor inside...  
>  I haven't designed the hardware, but I guess that clock generation is done
> using an RC oscillator which depends on temperature. Temperature measurement
> is possible, but I think the recommended way is to externally control the
> integration time using the SYN pin and to get the actual number of RC cycles
> from a register. But generating the required waveform for the SYN pin using a
> uC general purpose timer seems challenging.
> 
> I wouldn't be surprised if the measurement results also depend on the exact
> value of the supply voltage.
Applied to the togreg branch of iio.git and added a fixes tag to the patch
that introduced the driver.  Note, please try to provide me with one of those
even if the patch hasn't yet gotten into mainline.  It makes life a little
easier for the stable maintainers etc.  I don't always remember to add one
at point of applying the patch.

Thanks,

Jonathan

> 
> 
> ________________________________
>  [http://assets.arri.com/media/sign/2020-04-03-E-mail-signature-Stellar2_V1.jpg] <https://microsites.arri.com/stellar/>
> 
> Get all the latest information from www.arri.com<https://www.arri.com/>, Facebook<https://www.facebook.com/TeamARRI>, Twitter<https://twitter.com/ARRIChannel>, Instagram<https://instagram.com/arri> and YouTube<https://www.youtube.com/user/ARRIChannel>.
> 
> Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
> Sitz: München - Registergericht: Amtsgericht München - Handelsregisternummer: HRA 57918
> Persönlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
> Sitz: München - Registergericht: Amtsgericht München - Handelsregisternummer: HRB 54477
> Geschäftsführer: Dr. Michael Neuhäuser; Stephan Schenk; Walter Trauninger; Markus Zeiler
diff mbox series

Patch

diff --git a/drivers/iio/light/as73211.c b/drivers/iio/light/as73211.c
index 25e5c386d678..457bf7f4b1f4 100644
--- a/drivers/iio/light/as73211.c
+++ b/drivers/iio/light/as73211.c
@@ -259,10 +259,9 @@  static int as73211_req_data(struct as73211_data *data)
 	data->osr &= ~AS73211_OSR_SS;
 
 	/*
-	 * Add some extra margin for the timeout. sensor timing is not as precise
-	 * as our one ...
+	 * Add 33% extra margin for the timeout. fclk,min = fclk,typ - 27%.
 	 */
-	time_us += time_us / 8;
+	time_us += time_us / 3;
 	if (data->client->irq) {
 		ret = wait_for_completion_timeout(&data->completion, usecs_to_jiffies(time_us));
 		if (!ret) {