From 149b8d9e4bccd55a62b3291b52fb4c8a780cd23d Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 9 Oct 2016 17:12:50 -0500 Subject: [PATCH] Handle MAX31855 error conditions --- Marlin/temperature.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp index 285871a879..cc31916e18 100644 --- a/Marlin/temperature.cpp +++ b/Marlin/temperature.cpp @@ -1333,8 +1333,22 @@ void Temperature::disable_all_heaters() { WRITE(MAX6675_SS, 1); // disable TT_MAX6675 - if (max6675_temp & MAX6675_ERROR_MASK) + if (max6675_temp & MAX6675_ERROR_MASK) { + SERIAL_ERROR_START; + SERIAL_ERRORPGM("Temp measurement error! "); + #if MAX6675_ERROR_MASK == 7 + SERIAL_ERRORPGM("MAX31855 "); + if (max6675_temp & 1) + SERIAL_ERRORLNPGM("Open Circuit"); + else if (max6675_temp & 2) + SERIAL_ERRORLNPGM("Short to GND"); + else if (max6675_temp & 4) + SERIAL_ERRORLNPGM("Short to VCC"); + #else + SERIAL_ERRORLNPGM("MAX6675"); + #endif max6675_temp = 4000; // thermocouple open + } else max6675_temp >>= MAX6675_DISCARD_BITS;