|
@@ -33,7 +33,7 @@
|
33
|
33
|
#include "Marlin.h"
|
34
|
34
|
#include "speed_lookuptable.h"
|
35
|
35
|
|
36
|
|
-char version_string[] = "0.9.9";
|
|
36
|
+char version_string[] = "0.9.10";
|
37
|
37
|
|
38
|
38
|
#ifdef SDSUPPORT
|
39
|
39
|
#include "SdFat.h"
|
|
@@ -1286,19 +1286,17 @@ void planner_reverse_pass_kernel(block_t *previous, block_t *current, block_t *n
|
1286
|
1286
|
// implements the reverse pass.
|
1287
|
1287
|
void planner_reverse_pass() {
|
1288
|
1288
|
char block_index = block_buffer_head;
|
1289
|
|
- block_t *block[3] = {
|
1290
|
|
- NULL, NULL, NULL };
|
1291
|
|
- while(block_index != block_buffer_tail) {
|
|
1289
|
+ block_index--;
|
|
1290
|
+ block_t *block[3] = { NULL, NULL, NULL };
|
|
1291
|
+ while(block_index != block_buffer_tail) {
|
|
1292
|
+ block_index--;
|
|
1293
|
+ if(block_index < 0) block_index = BLOCK_BUFFER_SIZE-1;
|
1292
|
1294
|
block[2]= block[1];
|
1293
|
1295
|
block[1]= block[0];
|
1294
|
1296
|
block[0] = &block_buffer[block_index];
|
1295
|
1297
|
planner_reverse_pass_kernel(block[0], block[1], block[2]);
|
1296
|
|
- block_index--;
|
1297
|
|
- if(block_index < 0) {
|
1298
|
|
- block_index = BLOCK_BUFFER_SIZE-1;
|
1299
|
|
- }
|
1300
|
1298
|
}
|
1301
|
|
-// planner_reverse_pass_kernel(NULL, block[0], block[1]);
|
|
1299
|
+ planner_reverse_pass_kernel(NULL, block[0], block[1]);
|
1302
|
1300
|
}
|
1303
|
1301
|
|
1304
|
1302
|
// The kernel called by planner_recalculate() when scanning the plan from first to last entry.
|
|
@@ -1428,7 +1426,6 @@ void check_axes_activity() {
|
1428
|
1426
|
// mm. Microseconds specify how many microseconds the move should take to perform. To aid acceleration
|
1429
|
1427
|
// calculation the caller must also provide the physical length of the line in millimeters.
|
1430
|
1428
|
void plan_buffer_line(float x, float y, float z, float e, float feed_rate) {
|
1431
|
|
-
|
1432
|
1429
|
// The target position of the tool in absolute steps
|
1433
|
1430
|
// Calculate target position in absolute steps
|
1434
|
1431
|
long target[4];
|
|
@@ -1519,7 +1516,7 @@ void plan_buffer_line(float x, float y, float z, float e, float feed_rate) {
|
1519
|
1516
|
// Compute the acceleration rate for the trapezoid generator.
|
1520
|
1517
|
float travel_per_step = block->millimeters/block->step_event_count;
|
1521
|
1518
|
if(block->steps_x == 0 && block->steps_y == 0 && block->steps_z == 0) {
|
1522
|
|
- block->acceleration = ceil( (retract_acceleration)/travel_per_step); // convert to: acceleration steps/sec^2
|
|
1519
|
+ block->acceleration_st = ceil( (retract_acceleration)/travel_per_step); // convert to: acceleration steps/sec^2
|
1523
|
1520
|
}
|
1524
|
1521
|
else {
|
1525
|
1522
|
block->acceleration_st = ceil( (acceleration)/travel_per_step); // convert to: acceleration steps/sec^2
|