diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 218aad4bd..f7ab5dbc8 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -498,6 +498,8 @@ unsigned long chdkHigh = 0; boolean chdkActive = false; #endif +static int saved_feedmultiply_mm = 100; + //=========================================================================== //=============================Routines====================================== //=========================================================================== @@ -4934,12 +4936,20 @@ Sigma_Exit: SERIAL_ECHOLN(""); }break; #endif + case 220: // M220 S- set speed factor override percentage { + if (code_seen('B')) //backup current speed factor + { + saved_feedmultiply_mm = feedmultiply; + } if(code_seen('S')) - { + { feedmultiply = code_value() ; } + if (code_seen('R')) { //restore previous feedmultiply + feedmultiply = saved_feedmultiply_mm; + } } break; case 221: // M221 S- set extrude factor override percentage @@ -5808,22 +5818,18 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp case 1: WRITE(E_MUX0_PIN, HIGH); WRITE(E_MUX1_PIN, LOW); - break; case 2: WRITE(E_MUX0_PIN, LOW); WRITE(E_MUX1_PIN, HIGH); - break; case 3: WRITE(E_MUX0_PIN, HIGH); WRITE(E_MUX1_PIN, HIGH); - break; default: WRITE(E_MUX0_PIN, LOW); WRITE(E_MUX1_PIN, LOW); - break; } delay(100); diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 35136f853..7c5b98708 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -620,9 +620,9 @@ void lcd_commands() { lcd_timeoutToStatus = millis() + LCD_TIMEOUT_TO_STATUS; enquecommand_P(PSTR("G1 Z0.250 F7200.000")); - enquecommand_P(PSTR("G1 X50.0 E80.0 F1000.0)); - nquecommand_P(PSTR("G1 X160.0 E20.0 F1000.0)); - enquecommand_P(PSTR("G1 Z0.200 F7200.000)); + enquecommand_P(PSTR("G1 X50.0 E80.0 F1000.0")); + enquecommand_P(PSTR("G1 X160.0 E20.0 F1000.0")); + enquecommand_P(PSTR("G1 Z0.200 F7200.000")); enquecommand_P(PSTR("G1 X220.0 E13 F1000.0")); enquecommand_P(PSTR("G1 X240.0 E0 F1000.0")); enquecommand_P(PSTR("G92 E0.0")); @@ -3804,12 +3804,10 @@ void change_extr(int extr) { //switches multiplexer for extruders case 1: WRITE(E_MUX0_PIN, HIGH); WRITE(E_MUX1_PIN, LOW); - break; case 2: WRITE(E_MUX0_PIN, LOW); WRITE(E_MUX1_PIN, HIGH); - break; case 3: WRITE(E_MUX0_PIN, HIGH); @@ -3821,7 +3819,7 @@ void change_extr(int extr) { //switches multiplexer for extruders WRITE(E_MUX1_PIN, LOW); break; - } + } delay(100); } diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index f880da88c..4f91947cc 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -498,6 +498,7 @@ void lcd_set_custom_characters_nextpage() B10110, B11100, B01000, + B00000, B00000 };