diff --git a/components/atemperatureSensor.py b/components/atemperatureSensor.py index 8bca594..7fd3775 100644 --- a/components/atemperatureSensor.py +++ b/components/atemperatureSensor.py @@ -2,6 +2,11 @@ import abc from utils.value import AttributeChange +class TemperatureSensorException(Exception): + def __init__(self, error_txt): + Exception.__init__(self, error_txt) + + class ATemperatureSensor(AttributeChange): def __init__(self): AttributeChange.__init__(self) diff --git a/components/sensor/tempSensor_max31865.py b/components/sensor/tempSensor_max31865.py index bbd71ad..72b5353 100755 --- a/components/sensor/tempSensor_max31865.py +++ b/components/sensor/tempSensor_max31865.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 import time -from components import ATemperatureSensor +from components import ATemperatureSensor, TemperatureSensorException import spidev @@ -38,6 +38,8 @@ class TempSensor_max31865(ATemperatureSensor): lsb = self.read_reg(0x02) if lsb & 0x01 == 0x00: digits = (256*msb + lsb) >> 1 + else + raise TemperatureSensorException("Could not read sensor!") self.write_reg(0x00, 0xA3) return digits diff --git a/tasks/tempsensor.py b/tasks/tempsensor.py index 04d59a5..cc276c5 100644 --- a/tasks/tempsensor.py +++ b/tasks/tempsensor.py @@ -2,7 +2,7 @@ import asyncio from tasks import ATask from ws.message import MsgIo from utils.value import ChangedFloat -from components import ATemperatureSensor +from components import ATemperatureSensor, TemperatureSensorException class TempSensorTask(ATask): @@ -30,6 +30,6 @@ class TempSensorTask(ATask): while True: try: self.temp = self.sensor.temperature() - except Exception: - pass + except TemperatureSensorException as e: + print(e) await asyncio.sleep(self.interval)