Browse Source

Merge pull request #200 from PavelSindler/mm_speed_factor

M220 speed factor backup for MM, Fixed some typos in V2 cal. for MM
XPila 7 years ago
parent
commit
f584a84b24

+ 11 - 5
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<factor in percent>- 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<factor in percent>- 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);

+ 4 - 6
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);
 }
 

+ 1 - 0
Firmware/ultralcd_implementation_hitachi_HD44780.h

@@ -498,6 +498,7 @@ void lcd_set_custom_characters_nextpage()
 	B10110,
 	B11100,
 	B01000,
+	B00000,
 	B00000
   };