Split first move to planner for better chaining

Address #8573, #8595
This commit is contained in:
Scott Lahteine 2017-11-30 17:42:02 -06:00
parent d8582b7506
commit 1d0ee83e18
4 changed files with 113 additions and 66 deletions

View file

@ -349,17 +349,28 @@ class Planner {
#endif
/**
* Planner::_buffer_line
* Planner::_buffer_steps
*
* Add a new direct linear movement to the buffer.
* Add a new linear movement to the buffer (in terms of steps).
*
* Leveling and kinematics should be applied ahead of this.
*
* a,b,c,e - target position in mm or degrees
* fr_mm_s - (target) speed of the move (mm/s)
* target - target position in steps units
* 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_steps(const int32_t target[XYZE], float fr_mm_s, const uint8_t extruder);
/**
* Planner::_buffer_line
*
* Add a new linear movement to the buffer in axis units.
*
* Leveling and kinematics should be applied ahead of calling this.
*
* 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, 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);