Split first move to planner for better chaining

Address #8573, #8595
This commit is contained in:
Scott Lahteine
2017-11-30 16:40:42 -06:00
parent aa7efb96bf
commit 3a97de52ef
2 changed files with 103 additions and 55 deletions

View File

@ -144,7 +144,7 @@ class Planner {
static uint8_t last_extruder; // Respond to extruder change
#endif
static int16_t flow_percentage[EXTRUDERS]; // Extrusion factor for each extruder
static int16_t flow_percentage[EXTRUDERS]; // Extrusion factor for each extruder
static float e_factor[EXTRUDERS], // The flow percentage and volumetric multiplier combine to scale E movement
filament_size[EXTRUDERS], // diameter of filament (in millimeters), typically around 1.75 or 2.85, 0 disables the volumetric calculations for the extruder
@ -352,6 +352,17 @@ 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
*
@ -363,7 +374,7 @@ class Planner {
* 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);