|
@@ -431,31 +431,33 @@ class Temperature {
|
431
|
431
|
#if ENABLED(BABYSTEPPING)
|
432
|
432
|
|
433
|
433
|
static void babystep_axis(const AxisEnum axis, const int distance) {
|
434
|
|
- #if IS_CORE
|
435
|
|
- #if ENABLED(BABYSTEP_XY)
|
436
|
|
- switch (axis) {
|
437
|
|
- case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ
|
438
|
|
- babystepsTodo[CORE_AXIS_1] += distance * 2;
|
439
|
|
- babystepsTodo[CORE_AXIS_2] += distance * 2;
|
440
|
|
- break;
|
441
|
|
- case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ
|
442
|
|
- babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
|
443
|
|
- babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
|
444
|
|
- break;
|
445
|
|
- case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ
|
446
|
|
- babystepsTodo[NORMAL_AXIS] += distance;
|
447
|
|
- break;
|
448
|
|
- }
|
449
|
|
- #elif CORE_IS_XZ || CORE_IS_YZ
|
450
|
|
- // Only Z stepping needs to be handled here
|
451
|
|
- babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
|
452
|
|
- babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
|
|
434
|
+ if (axis_known_position[axis]) {
|
|
435
|
+ #if IS_CORE
|
|
436
|
+ #if ENABLED(BABYSTEP_XY)
|
|
437
|
+ switch (axis) {
|
|
438
|
+ case CORE_AXIS_1: // X on CoreXY and CoreXZ, Y on CoreYZ
|
|
439
|
+ babystepsTodo[CORE_AXIS_1] += distance * 2;
|
|
440
|
+ babystepsTodo[CORE_AXIS_2] += distance * 2;
|
|
441
|
+ break;
|
|
442
|
+ case CORE_AXIS_2: // Y on CoreXY, Z on CoreXZ and CoreYZ
|
|
443
|
+ babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
|
|
444
|
+ babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
|
|
445
|
+ break;
|
|
446
|
+ case NORMAL_AXIS: // Z on CoreXY, Y on CoreXZ, X on CoreYZ
|
|
447
|
+ babystepsTodo[NORMAL_AXIS] += distance;
|
|
448
|
+ break;
|
|
449
|
+ }
|
|
450
|
+ #elif CORE_IS_XZ || CORE_IS_YZ
|
|
451
|
+ // Only Z stepping needs to be handled here
|
|
452
|
+ babystepsTodo[CORE_AXIS_1] += CORESIGN(distance * 2);
|
|
453
|
+ babystepsTodo[CORE_AXIS_2] -= CORESIGN(distance * 2);
|
|
454
|
+ #else
|
|
455
|
+ babystepsTodo[Z_AXIS] += distance;
|
|
456
|
+ #endif
|
453
|
457
|
#else
|
454
|
|
- babystepsTodo[Z_AXIS] += distance;
|
|
458
|
+ babystepsTodo[axis] += distance;
|
455
|
459
|
#endif
|
456
|
|
- #else
|
457
|
|
- babystepsTodo[axis] += distance;
|
458
|
|
- #endif
|
|
460
|
+ }
|
459
|
461
|
}
|
460
|
462
|
|
461
|
463
|
#endif // BABYSTEPPING
|