浏览代码

Added feedrate setting for manual moves from panel

Nicolas Rossi 12 年前
父节点
当前提交
394ed08f88
共有 2 个文件被更改,包括 15 次插入8 次删除
  1. 5
    0
      Marlin/Configuration_adv.h
  2. 10
    8
      Marlin/ultralcd.cpp

+ 5
- 0
Marlin/Configuration_adv.h 查看文件

@@ -193,6 +193,11 @@
193 193
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
194 194
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
195 195
 
196
+// Feedrates for manual moves along X, Y, Z, E from panel
197
+#ifdef ULTIPANEL
198
+#define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60}  // set the speeds for manual moves (mm/min)
199
+#endif
200
+
196 201
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
197 202
 #define DEFAULT_MINSEGMENTTIME        20000
198 203
 

+ 10
- 8
Marlin/ultralcd.cpp 查看文件

@@ -18,6 +18,8 @@ int plaPreheatFanSpeed;
18 18
 int absPreheatHotendTemp;
19 19
 int absPreheatHPBTemp;
20 20
 int absPreheatFanSpeed;
21
+
22
+static float manual_feedrate[] = MANUAL_FEEDRATE;
21 23
 /* !Configuration settings */
22 24
 
23 25
 //Function pointer to menu functions.
@@ -377,9 +379,9 @@ static void lcd_move_x()
377 379
         encoderPosition = 0;
378 380
         #ifdef DELTA
379 381
         calculate_delta(current_position);
380
-        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
382
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[X_AXIS]/60, active_extruder);
381 383
         #else
382
-        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
384
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[X_AXIS]/60, active_extruder);
383 385
         #endif
384 386
         lcdDrawUpdate = 1;
385 387
     }
@@ -406,9 +408,9 @@ static void lcd_move_y()
406 408
         encoderPosition = 0;
407 409
         #ifdef DELTA
408 410
         calculate_delta(current_position);
409
-        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
411
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[Y_AXIS]/60, active_extruder);
410 412
         #else
411
-        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
413
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[Y_AXIS]/60, active_extruder);
412 414
         #endif
413 415
         lcdDrawUpdate = 1;
414 416
     }
@@ -435,9 +437,9 @@ static void lcd_move_z()
435 437
         encoderPosition = 0;
436 438
         #ifdef DELTA
437 439
         calculate_delta(current_position);
438
-        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS]/60, active_extruder);
440
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS]/60, active_extruder);
439 441
         #else
440
-        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS]/60, active_extruder);
442
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS]/60, active_extruder);
441 443
         #endif
442 444
         lcdDrawUpdate = 1;
443 445
     }
@@ -460,9 +462,9 @@ static void lcd_move_e()
460 462
         encoderPosition = 0;
461 463
         #ifdef DELTA
462 464
         calculate_delta(current_position);
463
-        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], 20, active_extruder);
465
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[E_AXIS]/60, active_extruder);
464 466
         #else
465
-        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 20, active_extruder);
467
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[E_AXIS]/60, active_extruder);
466 468
         #endif
467 469
         lcdDrawUpdate = 1;
468 470
     }

正在加载...
取消
保存