diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index 44abf722f2..f38ba35dd5 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -991,6 +991,14 @@ void setup() { SETUP_RUN(HAL_init()); + // Init and disable SPI thermocouples + #if HEATER_0_USES_MAX6675 + OUT_WRITE(MAX6675_SS_PIN, HIGH); // Disable + #endif + #if HEATER_1_USES_MAX6675 + OUT_WRITE(MAX6675_SS2_PIN, HIGH); // Disable + #endif + #if HAS_L64XX SETUP_RUN(L64xxManager.init()); // Set up SPI, init drivers #endif diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 22c92fe448..167b35cc2b 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -1799,22 +1799,7 @@ void Temperature::init() { INIT_FAN_PIN(CONTROLLER_FAN_PIN); #endif - #if MAX6675_SEPARATE_SPI - - OUT_WRITE(SCK_PIN, LOW); - OUT_WRITE(MOSI_PIN, HIGH); - SET_INPUT_PULLUP(MISO_PIN); - - max6675_spi.init(); - - OUT_WRITE(SS_PIN, HIGH); - OUT_WRITE(MAX6675_SS_PIN, HIGH); - - #endif - - #if HEATER_1_USES_MAX6675 - OUT_WRITE(MAX6675_SS2_PIN, HIGH); - #endif + TERN_(MAX6675_SEPARATE_SPI, max6675_spi.init()); HAL_adc_init(); @@ -2277,9 +2262,7 @@ void Temperature::disable_all_heaters() { spiInit(MAX6675_SPEED_BITS); #endif - MAX6675_SET_OUTPUT(); MAX6675_WRITE(LOW); // enable TT_MAX6675 - DELAY_NS(100); // Ensure 100ns delay // Read a big-endian temperature value