Relative movements fix

This commit is contained in:
Scott Lahteine 2018-01-20 15:22:38 -06:00
parent fb636db61a
commit 81a12b2fac

View File

@ -3112,8 +3112,10 @@ static void homeaxis(const AxisEnum axis) {
void gcode_get_destination() { void gcode_get_destination() {
LOOP_XYZE(i) { LOOP_XYZE(i) {
if (parser.seen(axis_codes[i])) { if (parser.seen(axis_codes[i])) {
const float v = parser.value_axis_units((AxisEnum)i) + (axis_relative_modes[i] || relative_mode ? current_position[i] : 0); const float v = parser.value_axis_units((AxisEnum)i);
destination[i] = i == E_AXIS ? v : LOGICAL_TO_NATIVE(v, i); destination[i] = (axis_relative_modes[i] || relative_mode)
? current_position[i] + v
: (i == E_AXIS) ? v : LOGICAL_TO_NATIVE(v, i);
} }
else else
destination[i] = current_position[i]; destination[i] = current_position[i];