aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2021-02-01 11:27:16 -0500
committerKevin O'Connor <kevin@koconnor.net>2021-02-01 11:27:16 -0500
commita15952770bfce2fe68a754f4d1a4348a9bbd8393 (patch)
tree3857131b036aa4fbaa6a939634c6d41ff6d45dd4 /klippy/extras
parent55185e9a7ea871b9a135bb46cae8934ceb12ab65 (diff)
downloadkutter-a15952770bfce2fe68a754f4d1a4348a9bbd8393.tar.gz
kutter-a15952770bfce2fe68a754f4d1a4348a9bbd8393.tar.xz
kutter-a15952770bfce2fe68a754f4d1a4348a9bbd8393.zip
bme280: Implement support for min_temp/max_temp checks
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r--klippy/extras/bme280.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/klippy/extras/bme280.py b/klippy/extras/bme280.py
index bf6c7b91..c07da843 100644
--- a/klippy/extras/bme280.py
+++ b/klippy/extras/bme280.py
@@ -32,6 +32,7 @@ class BME280:
self.os_hum = config.getint('bme280_oversample_hum', 2)
self.os_pres = config.getint('bme280_oversample_pressure', 2)
self.temp = self.pressure = self.humidity = self.t_fine = 0.
+ self.min_temp = self.max_temp = 0.
self.max_sample_time = \
(1.25 + (2.3 * self.os_temp) + ((2.3 * self.os_pres) +
.575) + ((2.3 * self.os_hum) + .575)) / 1000
@@ -48,7 +49,8 @@ class BME280:
self.reactor.update_timer(self.sample_timer, self.reactor.NOW)
def setup_minmax(self, min_temp, max_temp):
- pass
+ self.min_temp = min_temp
+ self.max_temp = max_temp
def setup_callback(self, cb):
self._callback = cb
@@ -135,6 +137,10 @@ class BME280:
self.temp = self._compensate_temp(temp_raw)
self.pressure = self._compensate_pressure(pressure_raw) / 100.
self.humidity = self._compensate_humidity(humid_raw)
+ if self.temp < self.min_temp or self.temp > self.max_temp:
+ self.printer.invoke_shutdown(
+ "BME280 temperature %0.1f outside range of %0.1f:%.01f"
+ % (self.temp, self.min_temp, self.max_temp))
measured_time = self.reactor.monotonic()
self._callback(self.mcu.estimated_print_time(measured_time), self.temp)
return measured_time + REPORT_TIME