Open-Acidification / Open-Acidification/TankControllerPico
ThermalProbe Class Implementation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2
- Forks
- 1
- Avg merge
- 2h 22m
- Merged PRs (30d)
- 2
Description
The ThermalProbe class wraps the Adafruit MAX31865 RTD interface and provides functionality for temperature reading, fault handling, running averages, and sample statistics. This issue documents the work needed to validate and complete the thermal probe functionality.
Goals
- Verify correct initialization and usage of the MAX31865 device (three-wire configuration, assigned pins).
- Ensure accurate temperature acquisition, resistance reading, and fault reporting.
- Review and refine running-average and sample-statistic logic for stability and correctness.
- Validate correction-factor handling and its integration with raw and averaged temperature values.
Reference: ThermalProbe_TC Public Operations
- Singleton management:
instance(), reset() - Core readings:
getResistance(), getRawTemperature(), getRunningAverage(), getUncorrectedRunningAverage() - Fault handling:
readFault(), clearFault() - Correction handling:
clearCorrection(), getCorrection(), setCorrection() - Sample/statistics operations:
getSampleMean(), getSampleStandardDeviation(), resetSample() - CI mock support (if enabled):
setTemperature()
Internal/Private Components for Review
- MAX31865 device instance initialization (
Adafruit_MAX31865 thermo) - Nominal resistance and reference resistor values (
RTDnominal, refResistor) - History buffer management (
history, HISTORY_SIZE, historyIndex) - Timing and sampling interval tracking (
lastTime) firstTimeflag usage and initialization flow
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the ThermalProbe class and reviewing its MAX31865 initialization, history buffer, timing state, and correction handling. Check each listed public operation against the goals for readings, faults, averages, statistics, and CI mock support; done means the device configuration and calculations are validated and the behavior is stable and correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- raspberry-pi
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100