|
@ -100,8 +100,8 @@ Planner planner; |
|
|
* A ring buffer of moves described in steps |
|
|
* A ring buffer of moves described in steps |
|
|
*/ |
|
|
*/ |
|
|
block_t Planner::block_buffer[BLOCK_BUFFER_SIZE]; |
|
|
block_t Planner::block_buffer[BLOCK_BUFFER_SIZE]; |
|
|
volatile uint8_t Planner::block_buffer_head = 0, // Index of the next block to be pushed
|
|
|
volatile uint8_t Planner::block_buffer_head, // Index of the next block to be pushed
|
|
|
Planner::block_buffer_tail = 0; |
|
|
Planner::block_buffer_tail; |
|
|
|
|
|
|
|
|
float Planner::max_feedrate_mm_s[XYZE_N], // Max speeds in mm per second
|
|
|
float Planner::max_feedrate_mm_s[XYZE_N], // Max speeds in mm per second
|
|
|
Planner::axis_steps_per_mm[XYZE_N], |
|
|
Planner::axis_steps_per_mm[XYZE_N], |
|
@ -207,7 +207,6 @@ float Planner::previous_speed[NUM_AXIS], |
|
|
Planner::Planner() { init(); } |
|
|
Planner::Planner() { init(); } |
|
|
|
|
|
|
|
|
void Planner::init() { |
|
|
void Planner::init() { |
|
|
block_buffer_head = block_buffer_tail = 0; |
|
|
|
|
|
ZERO(position); |
|
|
ZERO(position); |
|
|
#if HAS_POSITION_FLOAT |
|
|
#if HAS_POSITION_FLOAT |
|
|
ZERO(position_float); |
|
|
ZERO(position_float); |
|
@ -217,6 +216,7 @@ void Planner::init() { |
|
|
#if ABL_PLANAR |
|
|
#if ABL_PLANAR |
|
|
bed_level_matrix.set_to_identity(); |
|
|
bed_level_matrix.set_to_identity(); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
clear_block_buffer(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#if ENABLED(BEZIER_JERK_CONTROL) |
|
|
#if ENABLED(BEZIER_JERK_CONTROL) |
|
|