diff --git a/py_driver/driver.py b/py_driver/driver.py index e57c41a..36371f9 100644 --- a/py_driver/driver.py +++ b/py_driver/driver.py @@ -235,6 +235,10 @@ def update_state(self, tube=None, quick=False, initial=False): raise SensorError(f"Failed to retrieve new state, got {state}.") def _underflow_check(self): + """ + Checks whether underflow occurs, i.e., the outflow pump is pumping while water is lower than + lowest allowed level. This check prevents the outflow pump from pumping air. + """ TAG = "UNDERFLOW_CHECK" while True: if not self.ready(): @@ -274,6 +278,11 @@ def _underflow_check(self): else: if DEBUG: print(f'{TAG}: No underflow detected in watchdog.') + + # Stop checking underflow. + if self.stopped: + break + sleep(UNDERFLOW_CHECK_INTERVAL) def _read_lines(self):