Browse Source

Commentary / style in gcode_M600

Scott Lahteine 8 years ago
parent
commit
44b4e116bd
1 changed files with 27 additions and 15 deletions
  1. 27
    15
      Marlin/Marlin_main.cpp

+ 27
- 15
Marlin/Marlin_main.cpp View File

@@ -7350,10 +7350,11 @@ inline void gcode_M503() {
7350 7350
     #endif
7351 7351
 
7352 7352
     // Initial retract before move to filament change position
7353
-    if (code_seen('E')) destination[E_AXIS] += code_value_axis_units(E_AXIS);
7354
-    #if defined(FILAMENT_CHANGE_RETRACT_LENGTH) && FILAMENT_CHANGE_RETRACT_LENGTH > 0
7355
-      else destination[E_AXIS] -= FILAMENT_CHANGE_RETRACT_LENGTH;
7356
-    #endif
7353
+    destination[E_AXIS] += code_seen('E') ? code_value_axis_units(E_AXIS) : 0
7354
+      #if defined(FILAMENT_CHANGE_RETRACT_LENGTH) && FILAMENT_CHANGE_RETRACT_LENGTH > 0
7355
+        - (FILAMENT_CHANGE_RETRACT_LENGTH)
7356
+      #endif
7357
+    ;
7357 7358
 
7358 7359
     RUNPLAN(FILAMENT_CHANGE_RETRACT_FEEDRATE);
7359 7360
 
@@ -7390,10 +7391,11 @@ inline void gcode_M503() {
7390 7391
     idle();
7391 7392
 
7392 7393
     // Unload filament
7393
-    if (code_seen('L')) destination[E_AXIS] += code_value_axis_units(E_AXIS);
7394
-    #if defined(FILAMENT_CHANGE_UNLOAD_LENGTH) && FILAMENT_CHANGE_UNLOAD_LENGTH > 0
7395
-      else destination[E_AXIS] -= FILAMENT_CHANGE_UNLOAD_LENGTH;
7396
-    #endif
7394
+    destination[E_AXIS] += code_seen('L') ? code_value_axis_units(E_AXIS) : 0
7395
+      #if FILAMENT_CHANGE_UNLOAD_LENGTH > 0
7396
+        - (FILAMENT_CHANGE_UNLOAD_LENGTH)
7397
+      #endif
7398
+    ;
7397 7399
 
7398 7400
     RUNPLAN(FILAMENT_CHANGE_UNLOAD_FEEDRATE);
7399 7401
 
@@ -7474,29 +7476,39 @@ inline void gcode_M503() {
7474 7476
     lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_LOAD);
7475 7477
 
7476 7478
     // Load filament
7477
-    if (code_seen('L')) destination[E_AXIS] -= code_value_axis_units(E_AXIS);
7478
-    #if defined(FILAMENT_CHANGE_LOAD_LENGTH) && FILAMENT_CHANGE_LOAD_LENGTH > 0
7479
-      else destination[E_AXIS] += FILAMENT_CHANGE_LOAD_LENGTH;
7480
-    #endif
7479
+    destination[E_AXIS] += code_seen('L') ? -code_value_axis_units(E_AXIS) : 0
7480
+      #if FILAMENT_CHANGE_LOAD_LENGTH > 0
7481
+        + FILAMENT_CHANGE_LOAD_LENGTH
7482
+      #endif
7483
+    ;
7481 7484
 
7482 7485
     RUNPLAN(FILAMENT_CHANGE_LOAD_FEEDRATE);
7483 7486
     stepper.synchronize();
7484 7487
 
7485 7488
     #if defined(FILAMENT_CHANGE_EXTRUDE_LENGTH) && FILAMENT_CHANGE_EXTRUDE_LENGTH > 0
7489
+  
7486 7490
       do {
7487
-        // Extrude filament to get into hotend
7491
+        // "Wait for filament extrude"
7488 7492
         lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_EXTRUDE);
7493
+
7494
+        // Extrude filament to get into hotend
7489 7495
         destination[E_AXIS] += FILAMENT_CHANGE_EXTRUDE_LENGTH;
7490 7496
         RUNPLAN(FILAMENT_CHANGE_EXTRUDE_FEEDRATE);
7491 7497
         stepper.synchronize();
7492
-        // Ask user if more filament should be extruded
7498
+
7499
+        // Show "Extrude More" / "Resume" menu and wait for reply
7493 7500
         KEEPALIVE_STATE(PAUSED_FOR_USER);
7501
+        wait_for_user = false;
7494 7502
         lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_OPTION);
7495 7503
         while (filament_change_menu_response == FILAMENT_CHANGE_RESPONSE_WAIT_FOR) idle(true);
7496 7504
         KEEPALIVE_STATE(IN_HANDLER);
7497
-      } while (filament_change_menu_response != FILAMENT_CHANGE_RESPONSE_RESUME_PRINT);
7505
+
7506
+        // Keep looping if "Extrude More" was selected
7507
+      } while (filament_change_menu_response == FILAMENT_CHANGE_RESPONSE_EXTRUDE_MORE);
7508
+
7498 7509
     #endif
7499 7510
 
7511
+    // "Wait for print to resume"
7500 7512
     lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_RESUME);
7501 7513
 
7502 7514
     // Set extruder to saved position

Loading…
Cancel
Save