소스 검색

Do not disable steppers when there are moves in the queue.

Erik van der Zalm 13 년 전
부모
커밋
387fe51a56
1개의 변경된 파일10개의 추가작업 그리고 8개의 파일을 삭제
  1. 10
    8
      Marlin/Marlin.pde

+ 10
- 8
Marlin/Marlin.pde 파일 보기

@@ -576,6 +576,7 @@ void process_commands()
576 576
       saved_feedrate = feedrate;
577 577
       saved_feedmultiply = feedmultiply;
578 578
       feedmultiply = 100;
579
+      previous_millis_cmd = millis();
579 580
       
580 581
       enable_endstops(true);
581 582
       
@@ -1314,12 +1315,11 @@ void prepare_move()
1314 1315
     if (destination[Y_AXIS] > Y_MAX_LENGTH) destination[Y_AXIS] = Y_MAX_LENGTH;
1315 1316
     if (destination[Z_AXIS] > Z_MAX_LENGTH) destination[Z_AXIS] = Z_MAX_LENGTH;
1316 1317
   }
1317
-  
1318
+  previous_millis_cmd = millis();  
1318 1319
   plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate*feedmultiply/60/100.0, active_extruder);
1319 1320
   for(int8_t i=0; i < NUM_AXIS; i++) {
1320 1321
     current_position[i] = destination[i];
1321 1322
   }
1322
-  previous_millis_cmd = millis();
1323 1323
 }
1324 1324
 
1325 1325
 void prepare_arc_move(char isclockwise) {
@@ -1345,12 +1345,14 @@ void manage_inactivity(byte debug)
1345 1345
   if(stepper_inactive_time)  {
1346 1346
     if( (millis() - previous_millis_cmd) >  stepper_inactive_time ) 
1347 1347
     {
1348
-      disable_x();
1349
-      disable_y();
1350
-      disable_z();
1351
-      disable_e0();
1352
-      disable_e1();
1353
-      disable_e2();
1348
+      if(blocks_queued() == false) {
1349
+        disable_x();
1350
+        disable_y();
1351
+        disable_z();
1352
+        disable_e0();
1353
+        disable_e1();
1354
+        disable_e2();
1355
+      }
1354 1356
     }
1355 1357
   }
1356 1358
   #ifdef EXTRUDER_RUNOUT_PREVENT

Loading…
취소
저장