|
@@ -2228,10 +2228,15 @@ static void do_homing_move(AxisEnum axis, float where, float fr_mm_s = 0.0) {
|
2228
|
2228
|
#define HOMEAXIS(LETTER) homeaxis(LETTER##_AXIS)
|
2229
|
2229
|
|
2230
|
2230
|
static void homeaxis(AxisEnum axis) {
|
2231
|
|
- #define CAN_HOME(A) \
|
2232
|
|
- (axis == A##_AXIS && ((A##_MIN_PIN > -1 && A##_HOME_DIR < 0) || (A##_MAX_PIN > -1 && A##_HOME_DIR > 0)))
|
2233
|
2231
|
|
2234
|
|
- if (!CAN_HOME(X) && !CAN_HOME(Y) && !CAN_HOME(Z)) return;
|
|
2232
|
+ #if IS_SCARA
|
|
2233
|
+ // Only Z homing (with probe) is permitted
|
|
2234
|
+ if (axis != Z_AXIS) { BUZZ(100, 880); return; }
|
|
2235
|
+ #else
|
|
2236
|
+ #define CAN_HOME(A) \
|
|
2237
|
+ (axis == A##_AXIS && ((A##_MIN_PIN > -1 && A##_HOME_DIR < 0) || (A##_MAX_PIN > -1 && A##_HOME_DIR > 0)))
|
|
2238
|
+ if (!CAN_HOME(X) && !CAN_HOME(Y) && !CAN_HOME(Z)) return;
|
|
2239
|
+ #endif
|
2235
|
2240
|
|
2236
|
2241
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
2237
|
2242
|
if (DEBUGGING(LEVELING)) {
|
|
@@ -2294,10 +2299,16 @@ static void homeaxis(AxisEnum axis) {
|
2294
|
2299
|
} // Z_AXIS
|
2295
|
2300
|
#endif
|
2296
|
2301
|
|
2297
|
|
- // Delta has already moved all three towers up in G28
|
2298
|
|
- // so here it re-homes each tower in turn.
|
2299
|
|
- // Delta homing treats the axes as normal linear axes.
|
2300
|
|
- #if ENABLED(DELTA)
|
|
2302
|
+ #if IS_SCARA
|
|
2303
|
+
|
|
2304
|
+ set_axis_is_at_home(axis);
|
|
2305
|
+ SYNC_PLAN_POSITION_KINEMATIC();
|
|
2306
|
+
|
|
2307
|
+ #elif ENABLED(DELTA)
|
|
2308
|
+
|
|
2309
|
+ // Delta has already moved all three towers up in G28
|
|
2310
|
+ // so here it re-homes each tower in turn.
|
|
2311
|
+ // Delta homing treats the axes as normal linear axes.
|
2301
|
2312
|
|
2302
|
2313
|
// retrace by the amount specified in endstop_adj
|
2303
|
2314
|
if (endstop_adj[axis] * Z_HOME_DIR < 0) {
|