adafruit / Adafruit_CircuitPython_APDS9960

Adafruit Bundle driver for APSD9960 Gesture breakout board
MIT License
10 stars 17 forks source link

integration_time equation possibly incorrect #24

Closed kattni closed 2 years ago

kattni commented 4 years ago

From @kevinjwalters in #16: FYI, If the RGBC values are of interest, the current defauls set the ADC Integration Time Register (0x81) register to 0x01 which equates to 708.9ms integration time giving updates only ~ 1.4Hz. Page 20 of the datasheet has a slight error on how this value is treated, it says 256 - TIME / 2.78 ms. I'm pretty sure it means (256 - TIME) * 2.78. There's an integration_time property which can be used to adjust this.

I've also noticed clue.color() values getting "stuck" on REPL on the CLUE but I've only seen this once. foamyguy on discord has also seen this.

fivesixzero commented 2 years ago

I've also noticed some inconsistencies with integration time while doing some testing with a Clue board this week with a logic analyzer in the loop. Timings between bus transactions are sometimes a bit ... off? But that's as far as I got in my "just make sure it works" testing. I'll look into this a bit more closely as I continue down the (quite educational) APDS-9960 rabbit hole and I'll update this issue or submit a PR if I find anything.

As a warning to anyone else working with this sensor: There are (at least?) two different versions of the datasheet floating around. One is from 2013 and the other is from 2015. Putting them side by side, it looks like most or all of the changes between them are in formatting but there could be a few critical typo corrections in there.

FoamyGuy commented 2 years ago

I think this is resolved by #39