From 26369ac540d6ef2a92198c0d4c48e5b2e775bc2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= Date: Sat, 29 Apr 2023 16:22:28 +0000 Subject: [PATCH] Restore old M701/M702 behavior If the new Z parameter is not given, assume that the old Z-lift behavior is desired. Change in memory: Flash: -28 bytes SRAM: 0 bytes --- Firmware/Marlin_main.cpp | 2 ++ Firmware/first_lay_cal.cpp | 4 ++-- Firmware/messages.cpp | 4 ++-- Firmware/messages.h | 4 ++-- Firmware/ultralcd.cpp | 11 +++++------ 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index fdf8dca6d..35caf0e90 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -8417,6 +8417,7 @@ Sigma_Exit: // Z lift. For safety only allow positive values if (code_seen('Z')) z_target = fabs(code_value()); + else raise_z_above(MIN_Z_FOR_LOAD); // backwards compatibility for 3.12 and older FW // Raise the Z axis float delta = raise_z(z_target); @@ -8447,6 +8448,7 @@ Sigma_Exit: // For safety only allow positive values if (code_seen('Z')) z_target = fabs(code_value()); + else raise_z_above(MIN_Z_FOR_UNLOAD); // backwards compatibility for 3.12 and older FW // Raise the Z axis float delta = raise_z(z_target); diff --git a/Firmware/first_lay_cal.cpp b/Firmware/first_lay_cal.cpp index 0ad7ca5c9..65ceaf678 100644 --- a/Firmware/first_lay_cal.cpp +++ b/Firmware/first_lay_cal.cpp @@ -81,7 +81,7 @@ bool lay1cal_load_filament(uint8_t filament) return false; } else if( currentTool != (uint8_t)MMU2::FILAMENT_UNKNOWN){ // some other slot is loaded, perform an unload first - enquecommand_P(MSG_M702_NO_LIFT); + enquecommand_P(MSG_M702); } // perform a toolchange enquecommandf_P(PSTR("T%d"), filament); @@ -245,6 +245,6 @@ void lay1cal_finish(bool mmu_enabled) lay1cal_common_enqueue_loop(cmd_cal_finish, (sizeof(cmd_cal_finish)/sizeof(cmd_cal_finish[0]))); - if (mmu_enabled) enquecommand_P(MSG_M702_NO_LIFT); //unload from nozzle + if (mmu_enabled) enquecommand_P(MSG_M702); //unload from nozzle enquecommand_P(MSG_M84);// disable motors } diff --git a/Firmware/messages.cpp b/Firmware/messages.cpp index 3702feb10..f50e03bdb 100644 --- a/Firmware/messages.cpp +++ b/Firmware/messages.cpp @@ -240,5 +240,5 @@ const char MSG_M107[] PROGMEM_N1 = "M107"; const char MSG_M220[] PROGMEM_N1 = "M220 S%d"; const char MSG_M500[] PROGMEM_N1 = "M500"; const char MSG_M600[] PROGMEM_N1 = "M600"; -const char MSG_M701_NO_LIFT[] PROGMEM_N1 = "M701 Z0"; -const char MSG_M702_NO_LIFT[] PROGMEM_N1 = "M702 Z0"; +const char MSG_M701[] PROGMEM_N1 = "M701"; +const char MSG_M702[] PROGMEM_N1 = "M702"; diff --git a/Firmware/messages.h b/Firmware/messages.h index d7a1bc997..f074351d9 100644 --- a/Firmware/messages.h +++ b/Firmware/messages.h @@ -246,8 +246,8 @@ extern const char MSG_M107[]; extern const char MSG_M220[]; extern const char MSG_M500[]; extern const char MSG_M600[]; -extern const char MSG_M701_NO_LIFT[]; -extern const char MSG_M702_NO_LIFT[]; +extern const char MSG_M701[]; +extern const char MSG_M702[]; #if defined(__cplusplus) } diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a2bfd7bd6..715f3d6c1 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -1805,10 +1805,10 @@ switch(eFilamentAction) // FALLTHRU case FilamentAction::Load: loading_flag=true; - enquecommand_P(MSG_M701_NO_LIFT); // load filament + enquecommand_P(MSG_M701); // load filament break; case FilamentAction::UnLoad: - enquecommand_P(MSG_M702_NO_LIFT); // unload filament + enquecommand_P(MSG_M702); // unload filament break; case FilamentAction::MmuLoad: case FilamentAction::MmuLoadingTest: @@ -1868,11 +1868,11 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed) if ((eFilamentAction == FilamentAction::Load) || (eFilamentAction == FilamentAction::AutoLoad)) { loading_flag = true; - enquecommand_P(MSG_M701_NO_LIFT); // load filament + enquecommand_P(MSG_M701); // load filament if (eFilamentAction == FilamentAction::AutoLoad) eFilamentAction = FilamentAction::None; // i.e. non-autoLoad } if (eFilamentAction == FilamentAction::UnLoad) - enquecommand_P(MSG_M702_NO_LIFT); // unload filament + enquecommand_P(MSG_M702); // unload filament } break; case FilamentAction::MmuLoad: @@ -3717,8 +3717,7 @@ static void lcd_wizard_load() { lcd_puts_at_P(0, 2, _T(MSG_LOADING_FILAMENT)); loading_flag = true; } - gcode_M701(FILAMENTCHANGE_FIRSTFEED, 0); - //enquecommand_P(MSG_M701_NO_LIFT); // is enqueuecommand_P safe here? + enquecommand_P(MSG_M701); } static void wizard_lay1cal_message(bool cold)