aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
authorRicardo Amezquita <ramezquitao@gmail.com>2018-06-17 19:59:29 -0500
committerKevin O'Connor <kevin@koconnor.net>2018-07-24 11:16:05 -0400
commit756514adef4fcbd7e42e6e3e398a465923117cba (patch)
treedcc45fe46fb7a499940cc41f0bfb892108ff81a0 /klippy
parenteba252d3fd963ae10a51bea644f2b0c9e504e559 (diff)
downloadkutter-756514adef4fcbd7e42e6e3e398a465923117cba.tar.gz
kutter-756514adef4fcbd7e42e6e3e398a465923117cba.tar.xz
kutter-756514adef4fcbd7e42e6e3e398a465923117cba.zip
thermocouple: Add support for MAX6675 chip
The MAX6675 chip has a different read sequence than the MAX31855 chip. Signed-off-by: Ricardo Amézquita <ramezquitao@cihologramas.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy')
-rw-r--r--klippy/extras/spi_temperature.py21
1 files changed, 15 insertions, 6 deletions
diff --git a/klippy/extras/spi_temperature.py b/klippy/extras/spi_temperature.py
index 96b2d1f6..a020f3e4 100644
--- a/klippy/extras/spi_temperature.py
+++ b/klippy/extras/spi_temperature.py
@@ -15,9 +15,10 @@ SAMPLE_COUNT_DEFAULT = 8
REPORT_TIME_DEFAULT = 0.300
VALID_SPI_SENSORS = {
- 'MAX6675' : 1, 'MAX31855' : 1,
+ 'MAX31855' : 1,
'MAX31856' : 2,
- 'MAX31865' : 4
+ 'MAX31865' : 4,
+ 'MAX6675' : 8
}
class error(Exception):
@@ -180,18 +181,26 @@ class Thermocouple(SensorBase):
if chip_type == "MAX31856":
self.val_a = 0.0078125
self.scale = 5
+ elif chip_type == "MAX6675":
+ self.val_a = 0.25
+ self.scale = 3
else:
self.val_a = 0.25
self.scale = 18
SensorBase.__init__(self, config, is_spi = True, sample_count = 1)
def _check_faults_simple(self, val):
- if not self.chip_type == "MAX31856":
+ if self.chip_type == "MAX6675":
+ if val & 0x02:
+ raise self.error("Max6675 : Device ID error")
+ if val & 0x04:
+ raise self.error("Max6675 : Thermocouple Open Fault")
+ elif not self.chip_type == "MAX31856":
if val & 0x1:
- raise self.error("MAX6675/MAX31855 : Open Circuit")
+ raise self.error("MAX31855 : Open Circuit")
if val & 0x2:
- raise self.error("MAX6675/MAX31855 : Short to GND")
+ raise self.error("MAX31855 : Short to GND")
if val & 0x4:
- raise self.error("MAX6675/MAX31855 : Short to Vcc")
+ raise self.error("MAX31855 : Short to Vcc")
def check_faults(self, fault):
if self.chip_type == "MAX31856":
if fault & MAX31856_FAULT_CJRANGE: