From 06063118bd88d655d3d1ddb03980013b18391beb Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 1 Aug 2018 18:47:28 +0200 Subject: [PATCH 1/2] M600 updated --- .gitignore | 1 + Firmware/Marlin_main.cpp | 16 +++++++++++----- Firmware/ultralcd.cpp | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index c2e7ec75..321c2431 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ Firmware/Doc /Firmware/Firmware.vcxproj.filters /Firmware/Firmware - Shortcut.lnk /Firmware/variants/1_75mm_MK3-MMU-EINSy10a-E3Dv6full.h.bak +/Firmware/Marlin_main.cpp~RF12cfae7.TMP diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index ac83b81a..3d10c20b 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3117,9 +3117,9 @@ void gcode_M600(bool automatic, float x_position, float y_position, float z_shif // Unload filament #if defined (SNMM) || defined (SNMM_V2) - extr_unload(); //unload just current filament + extr_unload(); //unload just current filament for multimaterial printers (used also in M702) #else - unload_filament(); //unload filament fopr single material (used also in M702) + unload_filament(); //unload filament for single material (used also in M702) #endif //finish moves st_synchronize(); @@ -3159,7 +3159,7 @@ void gcode_M600(bool automatic, float x_position, float y_position, float z_shif st_synchronize(); //Unretract - current_position[E_AXIS]= current_position[E_AXIS] - FILAMENTCHANGE_FIRSTRETRACT; + current_position[E_AXIS]= current_position[E_AXIS] - e_shift; plan_buffer_line(lastpos[X_AXIS], lastpos[Y_AXIS], lastpos[Z_AXIS], current_position[E_AXIS], FILAMENTCHANGE_RFEED, active_extruder); st_synchronize(); @@ -9075,11 +9075,16 @@ void M600_wait_for_user() { WRITE(BEEPER, LOW); } -void mmu_M600_load_filament(bool automatic) { +void mmu_M600_load_filament(bool automatic) { + //load filament for mmu v2 #ifdef SNMM_V2 bool response = false; + bool yes = false; if (!automatic) { - tmp_extruder = choose_extruder_menu(); + yes = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Do you want to switch extruder?"), false); + if(yes) tmp_extruder = choose_extruder_menu(); + else tmp_extruder = snmm_extruder; + } else { tmp_extruder = (tmp_extruder+1)%5; @@ -9130,6 +9135,7 @@ void M600_load_filament_movements() { } void M600_load_filament() { + //load filament for single material and SNMM lcd_wait_interact(); //load_filament_time = millis(); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index a30d1520..aa051c18 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -5356,7 +5356,7 @@ void extr_adj(int extruder) //loading filament for SNMM } -void extr_unload() { //unloads filament +void extr_unload() { //unload just current filament for multimaterial printers #ifndef SNMM_V2 float tmp_motor[3] = DEFAULT_PWM_MOTOR_CURRENT; float tmp_motor_loud[3] = DEFAULT_PWM_MOTOR_CURRENT_LOUD; From 24e7f0d0ec163908f40727db4fd497453fffddab Mon Sep 17 00:00:00 2001 From: PavelSindler Date: Wed, 1 Aug 2018 19:29:50 +0200 Subject: [PATCH 2/2] mmures fix --- Firmware/Marlin_main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 3d10c20b..1b7cb9ea 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3464,7 +3464,9 @@ void process_commands() enquecommand_P(PSTR("M24")); } else if (code_seen("MMURES")) { - fprintf_P(uart2io, PSTR("X0")); + + printf_P(PSTR("X0\n")); + fprintf_P(uart2io, PSTR("X0\n")); } else if (code_seen("RESET")) { // careful!