From fee68b0f0d42c33144fab95d005c090ba7c94099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sun, 18 Dec 2022 05:46:01 +0000 Subject: [PATCH] PFW-1457 Do not unload at start of First Layer Cal Fixes issue where First Layer Cal. triggers an unload before any filament is loaded The purpose of this if() statement is to handle the case where a user or developer is sending T-codes to the printer directly via Serial. Such as when one first sends T0 and then T4. And unload must be triggered in-between, we can do this automatically if FINDA detect filament. Change in memory: Flash: -10 bytes SRAM: 0 bytes --- Firmware/Marlin.h | 1 + Firmware/mmu2.cpp | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index a90079ac5..3381c0ad7 100755 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -22,6 +22,7 @@ #include "pins.h" #include "Timer.h" #include "mmu2.h" +#include "cardreader.h" // for IS_SD_PRINTING extern uint8_t mbl_z_probe_nr; #ifndef AT90USB diff --git a/Firmware/mmu2.cpp b/Firmware/mmu2.cpp index 7c8a443ae..d526af313 100644 --- a/Firmware/mmu2.cpp +++ b/Firmware/mmu2.cpp @@ -14,7 +14,6 @@ #include "strlen_cx.h" #include "temperature.h" #include "ultralcd.h" -#include "cardreader.h" // for IS_SD_PRINTING #include "SpoolJoin.h" // As of FW 3.12 we only support building the FW with only one extruder, all the multi-extruder infrastructure will be removed. @@ -384,9 +383,9 @@ bool MMU2::tool_change(uint8_t slot) { return false; if (slot != extruder) { - if (!IS_SD_PRINTING && !usb_timer.running()) { + if (FindaDetectsFilament()) { // If Tcodes are used manually through the serial - // we need to unload manually as well + // we need to unload manually as well -- but only if FINDA detects filament unload(); }