Handle MAX31855 error conditions

This commit is contained in:
Scott Lahteine 2016-10-09 17:12:50 -05:00
parent 4037df82b0
commit 149b8d9e4b

View File

@ -1333,8 +1333,22 @@ void Temperature::disable_all_heaters() {
WRITE(MAX6675_SS, 1); // disable TT_MAX6675 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 max6675_temp = 4000; // thermocouple open
}
else else
max6675_temp >>= MAX6675_DISCARD_BITS; max6675_temp >>= MAX6675_DISCARD_BITS;