From a15952770bfce2fe68a754f4d1a4348a9bbd8393 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 1 Feb 2021 11:27:16 -0500 Subject: bme280: Implement support for min_temp/max_temp checks Signed-off-by: Kevin O'Connor --- klippy/extras/bme280.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'klippy/extras/bme280.py') 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 -- cgit v1.2.3-70-g09d2