瀏覽代碼

M702: Unload filament; load filament fast sequence length: 65mm

PavelSindler 8 年之前
父節點
當前提交
c553c7f368
共有 3 個文件被更改,包括 19 次插入7 次删除
  1. 15 3
      Firmware/Marlin_main.cpp
  2. 1 0
      Firmware/language_en.h
  3. 3 4
      Firmware/ultralcd.cpp

+ 15 - 3
Firmware/Marlin_main.cpp

@@ -5068,10 +5068,9 @@ case 404:  //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
 		enable_z();
 		custom_message = true;
 		custom_message_type = 2;
-		axis_relative_modes[3] = true;
-
+		
 		lcd_setstatuspgm(MSG_LOADING_FILAMENT);
-		current_position[E_AXIS] += 70;
+		current_position[E_AXIS] += 65;
 		plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400 / 60, active_extruder); //fast sequence
 
 		current_position[E_AXIS] += 40;
@@ -5099,6 +5098,19 @@ case 404:  //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
 		custom_message_type = 0;
 	}
 	break;
+	case 702:
+	{
+		/*custom_message = true;
+		custom_message_type = 2;
+		lcd_setstatuspgm(MSG_UNLOADING_FILAMENT); //need to be tranlated to other languages
+		*/
+		current_position[E_AXIS] -= 80;
+		plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 7000 / 60, active_extruder);
+		/*custom_message = false;
+		custom_message_type = 0;
+		*/
+	}
+	break;
 
     case 999: // M999: Restart after being stopped
       Stopped = false;

+ 1 - 0
Firmware/language_en.h

@@ -250,6 +250,7 @@
 #define(length=20, lines=8) MSG_CLEAN_NOZZLE_E				"E calibration finished. Please clean the nozzle. Click when done."
 #define(length=20, lines=3) MSG_WAITING_TEMP				"Waiting for heater and bed cooling"
 #define(length=20, lines=2) MSG_FILAMENT_CLEAN				"Is color clear?"
+//#define(lenght=20, lines=1) MSG_UNLOADING_FILAMENT			"Unloading filament"
 
 #define MSG_BED_CORRECTION_MENU									"Bed level correct"
 #define MSG_BED_CORRECTION_LEFT									"Left side  um"

+ 3 - 4
Firmware/ultralcd.cpp

@@ -859,9 +859,8 @@ void lcd_unLoadFilament()
 {
 
   if (degHotend0() > EXTRUDE_MINTEMP) {
-
-    enquecommand_P(PSTR(UNLOAD_FILAMENT_0));
-    enquecommand_P(PSTR(UNLOAD_FILAMENT_1));
+	
+	  enquecommand_P(PSTR("M702")); //unload filament
 
   } else {
 
@@ -1070,7 +1069,7 @@ void lcd_LoadFilament()
   {
 	  custom_message = true;
 	  loading_flag = true;
-	  enquecommand_P(PSTR("M701"));
+	  enquecommand_P(PSTR("M701")); //load filament
 	  SERIAL_ECHOLN("Loading filament");	    
     }
   else