Split first move to planner for better chaining

This commit is contained in:
Scott Lahteine 2017-11-30 17:42:02 -06:00
parent 1bbf55a7f7
commit 000818f5e4
2 changed files with 113 additions and 59 deletions

View file

@ -348,18 +348,29 @@ class Planner {
#endif
/**
* Planner::_buffer_steps
*
* Add a new linear movement to the buffer (in terms of steps).
*
* target - target position in steps units
* fr_mm_s - (target) speed of the move
* extruder - target extruder
*/
static void _buffer_steps(const int32_t (&target)[XYZE], float fr_mm_s, const uint8_t extruder);
/**
* Planner::_buffer_line
*
* Add a new direct linear movement to the buffer.
* Add a new linear movement to the buffer in axis units.
*
* Leveling and kinematics should be applied ahead of this.
* Leveling and kinematics should be applied ahead of calling this.
*
* a,b,c,e - target position in mm or degrees
* fr_mm_s - (target) speed of the move (mm/s)
* a,b,c,e - target positions in mm and/or degrees
* fr_mm_s - (target) speed of the move
* extruder - target extruder
*/
static void _buffer_line(const float &a, const float &b, const float &c, const float &e, float fr_mm_s, const uint8_t extruder);
static void _buffer_line(const float &a, const float &b, const float &c, const float &e, const float &fr_mm_s, const uint8_t extruder);
static void _set_position_mm(const float &a, const float &b, const float &c, const float &e);