Skip to content

Commit

Permalink
Include Z in SCARA steps feedrate (MarlinFirmware#16193)
Browse files Browse the repository at this point in the history
  • Loading branch information
boelle authored and griehsler committed Jan 30, 2020
1 parent 1da05c5 commit ae087c1
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion Marlin/src/module/planner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2620,13 +2620,15 @@ bool Planner::buffer_line(const float &rx, const float &ry, const float &rz, con
if (mm == 0.0)
mm = (delta_mm_cart.x != 0.0 || delta_mm_cart.y != 0.0) ? delta_mm_cart.magnitude() : ABS(delta_mm_cart.z);

// Cartesian XYZ to kinematic ABC, stored in global 'delta'
inverse_kinematics(machine);

#if ENABLED(SCARA_FEEDRATE_SCALING)
// For SCARA scale the feed rate from mm/s to degrees/s
// i.e., Complete the angular vector in the given time.
const float duration_recip = inv_duration ?: fr_mm_s / mm;
const feedRate_t feedrate = HYPOT(delta.a - position_float.a, delta.b - position_float.b) * duration_recip;
const xyz_pos_t diff = delta - position_float;
const feedRate_t feedrate = diff.magnitude() * duration_recip;
#else
const feedRate_t feedrate = fr_mm_s;
#endif
Expand Down

0 comments on commit ae087c1

Please sign in to comment.