| 
					
				 | 
			
			
				@@ -3412,7 +3412,12 @@ static void lcd_fsensor_fail() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void lcd_silent_mode_set() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  SilentModeMenu = !SilentModeMenu; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	switch (SilentModeMenu) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 0: SilentModeMenu = 1; break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 1: SilentModeMenu = 2; break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	case 2: SilentModeMenu = 0; break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	default: SilentModeMenu = 0; break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef TMC2130 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Wait until the planner queue is drained and the stepper routine achieves 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3891,6 +3896,14 @@ static void lcd_settings_menu() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!farm_mode) { //dont show in menu if we are in farm mode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  switch (SilentModeMenu) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef PAT9125 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifndef DEBUG_DISABLE_FSENSORCHECK 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3951,6 +3964,7 @@ static void lcd_settings_menu() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  MENU_ITEM(function, MSG_SECOND_SERIAL_ON, lcd_second_serial_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (!isPrintPaused && !homing_flag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -5251,6 +5265,18 @@ static void lcd_autostart_sd() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void lcd_silent_mode_set_tune() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  switch (SilentModeMenu) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  case 0: SilentModeMenu = 1; break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  case 1: SilentModeMenu = 2; break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  case 2: SilentModeMenu = 0; break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  default: SilentModeMenu = 0; break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  digipot_init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  lcd_goto_menu(lcd_tune_menu, 9); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void lcd_colorprint_change() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	enquecommand_P(PSTR("M600")); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -5264,51 +5290,55 @@ static void lcd_colorprint_change() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void lcd_tune_menu() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  START_MENU(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  MENU_ITEM(back, MSG_MAIN, lcd_main_menu); //1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);//2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 10);//4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	START_MENU(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MENU_ITEM(back, MSG_MAIN, lcd_main_menu); //1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MENU_ITEM_EDIT(int3, MSG_SPEED, &feedmultiply, 10, 999);//2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MENU_ITEM_EDIT(int3, MSG_BED, &target_temperature_bed, 0, BED_MAXTEMP - 10);//4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef FILAMENTCHANGEENABLE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#ifdef PAT9125 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifndef DEBUG_DISABLE_FSENSORCHECK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (FSensorStateMenu == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (FSensorStateMenu == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		MENU_ITEM(function, MSG_FSENSOR_OFF, lcd_fsensor_state_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		MENU_ITEM(function, MSG_FSENSOR_ON, lcd_fsensor_state_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif //DEBUG_DISABLE_FSENSORCHECK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#endif //PAT9125 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ifdef TMC2130 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (SilentModeMenu == 0) MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (SilentModeMenu == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (SilentModeMenu == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (CrashDetectMenu == 0) MENU_ITEM(function, MSG_CRASHDETECT_OFF, lcd_crash_mode_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		else MENU_ITEM(function, MSG_CRASHDETECT_ON, lcd_crash_mode_set); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else MENU_ITEM(submenu, MSG_CRASHDETECT_NA, lcd_crash_mode_info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#else //TMC2130 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (!farm_mode) { //dont show in menu if we are in farm mode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		switch (SilentModeMenu) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		case 0: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		case 1: MENU_ITEM(function, MSG_SILENT_MODE_ON, lcd_silent_mode_set); break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		case 2: MENU_ITEM(function, MSG_AUTO_MODE_ON, lcd_silent_mode_set); break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		default: MENU_ITEM(function, MSG_SILENT_MODE_OFF, lcd_silent_mode_set); break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #endif //TMC2130 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  END_MENU(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	END_MENU(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 static void lcd_move_menu_01mm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   move_menu_scale = 0.1; 
			 |