Update 'fault' logic

This commit is contained in:
Scott Lahteine 2020-11-11 15:43:33 -06:00
parent 70f0da5d15
commit 99713e45a0

View file

@ -1700,7 +1700,7 @@ void Temperature::updateTemperaturesFromRawValues() {
void Temperature::init() { void Temperature::init() {
TERN_(MAX6675_0_IS_MAX31865, max31865_0.begin(MAX31865_2WIRE)); // MAX31865_2WIRE, MAX31865_3WIRE, MAX31865_4WIRE TERN_(MAX6675_0_IS_MAX31865, max31865_0.begin(MAX31865_2WIRE)); // MAX31865_2WIRE, MAX31865_3WIRE, MAX31865_4WIRE
TERN_(MAX6675_1_IS_MAX31865, max31865_1.begin(MAX31865_2WIRE)); // MAX31865_2WIRE, MAX31865_3WIRE, MAX31865_4WIRE TERN_(MAX6675_1_IS_MAX31865, max31865_1.begin(MAX31865_2WIRE));
#if EARLY_WATCHDOG #if EARLY_WATCHDOG
// Flag that the thermalManager should be running // Flag that the thermalManager should be running
@ -2291,9 +2291,9 @@ void Temperature::disable_all_heaters() {
MAX6675_WRITE(HIGH); // disable TT_MAX6675 MAX6675_WRITE(HIGH); // disable TT_MAX6675
const uint8_t fault = TERN1(HAS_MAX31865, maxref.readFault()); const uint8_t fault_31865 = TERN1(HAS_MAX31865, maxref.readFault());
if (DISABLED(IGNORE_THERMOCOUPLE_ERRORS) && (max6675_temp & MAX6675_ERROR_MASK) && fault) { if (DISABLED(IGNORE_THERMOCOUPLE_ERRORS) && (max6675_temp & MAX6675_ERROR_MASK) && fault_31865) {
max6675_errors[hindex]++; max6675_errors[hindex]++;
if (max6675_errors[hindex] > THERMOCOUPLE_MAX_ERRORS) { if (max6675_errors[hindex] > THERMOCOUPLE_MAX_ERRORS) {
SERIAL_ERROR_START(); SERIAL_ERROR_START();
@ -2306,21 +2306,21 @@ void Temperature::disable_all_heaters() {
SERIAL_ECHOLNPGM("Short to GND"); SERIAL_ECHOLNPGM("Short to GND");
else if (max6675_temp & 4) else if (max6675_temp & 4)
SERIAL_ECHOLNPGM("Short to VCC"); SERIAL_ECHOLNPGM("Short to VCC");
#elif MAX6675_ERROR_MASK == 1 #elif HAS_MAX31865
if (fault) { if (fault_31865) {
maxref.clearFault(); maxref.clearFault();
SERIAL_ECHOPAIR("MAX31865 Fault :(", fault, ") >>"); SERIAL_ECHOPAIR("MAX31865 Fault :(", fault_31865, ") >>");
if (fault & MAX31865_FAULT_HIGHTHRESH) if (fault_31865 & MAX31865_FAULT_HIGHTHRESH)
SERIAL_ECHOLNPGM("RTD High Threshold"); SERIAL_ECHOLNPGM("RTD High Threshold");
else if (fault & MAX31865_FAULT_LOWTHRESH) else if (fault_31865 & MAX31865_FAULT_LOWTHRESH)
SERIAL_ECHOLNPGM("RTD Low Threshold"); SERIAL_ECHOLNPGM("RTD Low Threshold");
else if (fault & MAX31865_FAULT_REFINLOW) else if (fault_31865 & MAX31865_FAULT_REFINLOW)
SERIAL_ECHOLNPGM("REFIN- > 0.85 x Bias"); SERIAL_ECHOLNPGM("REFIN- > 0.85 x Bias");
else if (fault & MAX31865_FAULT_REFINHIGH) else if (fault_31865 & MAX31865_FAULT_REFINHIGH)
SERIAL_ECHOLNPGM("REFIN- < 0.85 x Bias - FORCE- open"); SERIAL_ECHOLNPGM("REFIN- < 0.85 x Bias - FORCE- open");
else if (fault & MAX31865_FAULT_RTDINLOW) else if (fault_31865 & MAX31865_FAULT_RTDINLOW)
SERIAL_ECHOLNPGM("REFIN- < 0.85 x Bias - FORCE- open"); SERIAL_ECHOLNPGM("REFIN- < 0.85 x Bias - FORCE- open");
else if (fault & MAX31865_FAULT_OVUV) else if (fault_31865 & MAX31865_FAULT_OVUV)
SERIAL_ECHOLNPGM("Under/Over voltage"); SERIAL_ECHOLNPGM("Under/Over voltage");
} }
#else #else