adafruit / adafruit/Adafruit_CircuitPython_ADS1x15
Continuous mode gives bogus voltages
- Dominant language
- Python
- Stars
- 154
- Forks
- 57
- PR merge metrics
- No merged PRs in 30d
Description
If an ADS1115 has never been used in single-shot mode (i..e recently powered up and unused) then the results are bogus. Here's some values (gain 2/3, 128sps) read from `A0` shorted to `GND`.
```
-0.5403748
-0.5383126
-0.54
-0.5416876
-0.5409374
-0.5398124
```
I'd expect those to be within +/1 LSB of 0V. Perhaps _negative_ voltages suggest differential mode against another floating input?
If I then initialise the ADS1115 onject in single-shot mode and use the `voltage` property. I get good numbers from both this use of single-shot mode and use of continuous mode later on.
```
-0.0001875
-0.0001875
-0.0001875
0.0
-0.0001875
```
Repeating the whole testing process, if I just initialise the ADS1115 object in CircuitPython this does not fix it. A value has to be read.
Might be related to #110
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing ADS1115 continuous-mode reads after power-up with A0 shorted to GND, then compare them with single-shot initialization and a prior voltage read. Trace the continuous-mode setup and conversion-read path; done means grounded input readings stay within about ±1 LSB without requiring a prior single-shot read.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100