From f9fdf411db0d6fb8a4c44d13f1300f60e90e6f69 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sun, 31 Mar 2019 08:09:52 +0000 Subject: [PATCH] Smooth output and round to tenth of degC git-svn-id: http://moon:8086/svn/projects/HendiControl@200 fda53097-d464-4ada-af97-ba876c37ca34 --- Control/brewpi/max31865.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Control/brewpi/max31865.py b/Control/brewpi/max31865.py index 567c77e..cd9e250 100755 --- a/Control/brewpi/max31865.py +++ b/Control/brewpi/max31865.py @@ -15,6 +15,7 @@ class Max31865(ATemperatureSensor): self.spi.mode = 0b01 self.write_reg(0x00, 0xA3) self.temp_correction = -0.2 + self.temp = self.__tempRaw() def read_reg(self, addr): reg = self.spi.xfer([addr, 0xFF]) @@ -28,14 +29,19 @@ class Max31865(ATemperatureSensor): msb = self.read_reg(0x01) lsb = self.read_reg(0x02) digits = float(256*msb + lsb)/2 + self.write_reg(0x00, 0xA3) return digits def temperature(self): + self.temp = 0.5*self.temp + 0.5*self.__tempRaw() + return round(self.temp, 1) + + def __tempRaw(self): digits = self.read_digits() R = Max31865.calc_R(430, digits) T = Max31865.vanDusen_temp(R) + self.temp_correction - print("R={:.3f} Ohm, T={:.2f} degC".format(R, T)) +# print("R={:.3f} Ohm, T={:.2f} degC".format(R, T)) return T @staticmethod