Open-Acidification / Open-Acidification/TankControllerPico

ThermalProbe Class Implementation

Open
#18 0 comments 0 reactions 0 assignees View on GitHub

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)
  • firstTime flag usage and initialization flow

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.