Compare commits

...

2 commits

Author SHA1 Message Date
Rahix 10cea18d0a temp: Use more sane substitute value
When the ADC saturates, use a substitute value that doesn't kill the
following math...
2025-08-24 16:08:51 +02:00
Rahix 115eecde4f temp: Don't exit on errors
Make the script slightly more robust by not stopping the monitoring when
an exception is raised.
2025-08-24 16:08:04 +02:00

View file

@ -26,25 +26,28 @@ temperature_filtered = -1
# Ignore the first 5 seconds
last_report = time.ticks_ms() + 5000
while True:
raw_value = cs1237.read()
value = float(raw_value) / (2**24 - 1)
try:
raw_value = cs1237.read()
value = float(raw_value) / (2**24 - 1)
if value > 0.9999:
value = 0
else:
value = 10e3 * 1 / (1 / value - 1)
if value > 0.9999:
value = 20e3
else:
value = 10e3 * 1 / (1 / value - 1)
temperature = THERMISTOR_BETA / math.log(value / THERMISTOR_RINF) - 273.15
temperature = THERMISTOR_BETA / math.log(value / THERMISTOR_RINF) - 273.15
if temperature_filtered == -1:
temperature_filtered = temperature
if temperature_filtered == -1:
temperature_filtered = temperature
temperature_filtered = (
temperature_filtered * (1 - FILTER_A) + temperature * FILTER_A
)
temperature_filtered = (
temperature_filtered * (1 - FILTER_A) + temperature * FILTER_A
)
now = time.ticks_ms()
elapsed = now - last_report
if elapsed >= 200 or elapsed < 0:
print(f"{temperature:.6f},{temperature_filtered:.6f}")
last_report = now
now = time.ticks_ms()
elapsed = now - last_report
if elapsed >= 200 or elapsed < 0:
print(f"{temperature:.6f},{temperature_filtered:.6f}")
last_report = now
except Exception as e:
print(f"Error {e}")