Merge pull request #6362 from tcm0116/babystepping
Only queue babysteps if axis is in a known position
This commit is contained in:
commit
bf2548be4a
|
@ -431,31 +431,33 @@ class Temperature {
|
|||
#if ENABLED(BABYSTEPPING)
|
||||
|
||||
static void babystep_axis(const AxisEnum axis, const int distance) {
|
||||
#if IS_CORE
|
||||
#if ENABLED(BABYSTEP_XY)
|
||||
switch (axis) {
|
||||
case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ
|
||||
babystepsTodo[CORE_AXIS_1] += distance * 2;
|
||||
babystepsTodo[CORE_AXIS_2] += distance * 2;
|
||||
break;
|
||||
case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ
|
||||
babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
|
||||
babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
|
||||
break;
|
||||
case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ
|
||||
babystepsTodo[NORMAL_AXIS] += distance;
|
||||
break;
|
||||
}
|
||||
#elif CORE_IS_XZ || CORE_IS_YZ
|
||||
// Only Z stepping needs to be handled here
|
||||
babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
|
||||
babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
|
||||
if (axis_known_position[axis]) {
|
||||
#if IS_CORE
|
||||
#if ENABLED(BABYSTEP_XY)
|
||||
switch (axis) {
|
||||
case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ
|
||||
babystepsTodo[CORE_AXIS_1] += distance * 2;
|
||||
babystepsTodo[CORE_AXIS_2] += distance * 2;
|
||||
break;
|
||||
case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ
|
||||
babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
|
||||
babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
|
||||
break;
|
||||
case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ
|
||||
babystepsTodo[NORMAL_AXIS] += distance;
|
||||
break;
|
||||
}
|
||||
#elif CORE_IS_XZ || CORE_IS_YZ
|
||||
// Only Z stepping needs to be handled here
|
||||
babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
|
||||
babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
|
||||
#else
|
||||
babystepsTodo[Z_AXIS] += distance;
|
||||
#endif
|
||||
#else
|
||||
babystepsTodo[Z_AXIS] += distance;
|
||||
babystepsTodo[axis] += distance;
|
||||
#endif
|
||||
#else
|
||||
babystepsTodo[axis] += distance;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#endif // BABYSTEPPING
|
||||
|
|
Loading…
Reference in a new issue