References are better for array args
This commit is contained in:
@ -1466,18 +1466,18 @@ void Planner::_set_position_mm(const float &a, const float &b, const float &c, c
|
||||
ZERO(previous_speed);
|
||||
}
|
||||
|
||||
void Planner::set_position_mm_kinematic(const float position[NUM_AXIS]) {
|
||||
void Planner::set_position_mm_kinematic(const float (&cart)[XYZE]) {
|
||||
#if PLANNER_LEVELING
|
||||
float lpos[XYZ] = { position[X_AXIS], position[Y_AXIS], position[Z_AXIS] };
|
||||
apply_leveling(lpos);
|
||||
float raw[XYZ] = { cart[X_AXIS], cart[Y_AXIS], cart[Z_AXIS] };
|
||||
apply_leveling(raw);
|
||||
#else
|
||||
const float * const lpos = position;
|
||||
const float (&raw)[XYZE] = cart;
|
||||
#endif
|
||||
#if IS_KINEMATIC
|
||||
inverse_kinematics(lpos);
|
||||
_set_position_mm(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], position[E_AXIS]);
|
||||
inverse_kinematics(raw);
|
||||
_set_position_mm(delta[A_AXIS], delta[B_AXIS], delta[C_AXIS], cart[E_AXIS]);
|
||||
#else
|
||||
_set_position_mm(lpos[X_AXIS], lpos[Y_AXIS], lpos[Z_AXIS], position[E_AXIS]);
|
||||
_set_position_mm(raw[X_AXIS], raw[Y_AXIS], raw[Z_AXIS], cart[E_AXIS]);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user