瀏覽代碼

Do not use feedrate multiiply on Z and E only moves.

Erik vd Zalm 13 年之前
父節點
當前提交
9083966c22
共有 1 個檔案被更改,包括 8 行新增2 行删除
  1. 8
    2
      Marlin/Marlin.pde

+ 8
- 2
Marlin/Marlin.pde 查看文件

@@ -1602,8 +1602,14 @@ void prepare_move()
1602 1602
 {
1603 1603
   clamp_to_software_endstops(destination);
1604 1604
 
1605
-  previous_millis_cmd = millis();  
1606
-  plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply/60/100.0, active_extruder);
1605
+  previous_millis_cmd = millis(); 
1606
+  // Do not use feedmultiply for E or Z only moves
1607
+  if( (current_position[X_AXIS] == destination [X_AXIS]) && (current_position[Y_AXIS] == destination [Y_AXIS])) {
1608
+      plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
1609
+  }
1610
+  else {
1611
+    plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply/60/100.0, active_extruder);
1612
+  }
1607 1613
   for(int8_t i=0; i < NUM_AXIS; i++) {
1608 1614
     current_position[i] = destination[i];
1609 1615
   }

Loading…
取消
儲存