Revive and improve DELTA probe bounds, LRFB options (#15372)

This commit is contained in:
InsanityAutomation
2019-09-28 02:19:11 -04:00
committed by Scott Lahteine
parent 1b9fc64d8a
commit a6b0223eea
108 changed files with 3833 additions and 62 deletions

View File

@ -50,61 +50,56 @@
extern const char msg_wait_for_bed_heating[25];
#endif
#if HAS_LEVELING
inline float probe_min_x() {
return _MAX(
#if ENABLED(DELTA) || IS_SCARA
PROBE_X_MIN, MESH_MIN_X
#else
(X_MIN_BED) + (MIN_PROBE_EDGE), (X_MIN_POS) + probe_offset[X_AXIS]
#endif
);
}
inline float probe_max_x() {
return _MIN(
#if ENABLED(DELTA) || IS_SCARA
PROBE_X_MAX, MESH_MAX_X
#else
(X_MAX_BED) - (MIN_PROBE_EDGE), (X_MAX_POS) + probe_offset[X_AXIS]
#endif
);
}
inline float probe_min_y() {
return _MAX(
#if ENABLED(DELTA) || IS_SCARA
PROBE_Y_MIN, MESH_MIN_Y
#else
(Y_MIN_BED) + (MIN_PROBE_EDGE), (Y_MIN_POS) + probe_offset[Y_AXIS]
#endif
);
}
inline float probe_max_y() {
return _MIN(
#if ENABLED(DELTA) || IS_SCARA
PROBE_Y_MAX, MESH_MAX_Y
#else
(Y_MAX_BED) - (MIN_PROBE_EDGE), (Y_MAX_POS) + probe_offset[Y_AXIS]
#endif
);
}
#endif
#else
constexpr float probe_offset[XYZ] = { 0 };
#define DEPLOY_PROBE()
#define STOW_PROBE()
#endif
#if HAS_LEVELING && HAS_BED_PROBE
inline float probe_min_x() {
return _MAX(
#if IS_KINEMATIC
PROBE_X_MIN, MESH_MIN_X
#else
(X_MIN_BED) + (MIN_PROBE_EDGE_LEFT), (X_MIN_POS) + probe_offset[X_AXIS]
#endif
);
}
inline float probe_max_x() {
return _MIN(
#if IS_KINEMATIC
PROBE_X_MAX, MESH_MAX_X
#else
(X_MAX_BED) - (MIN_PROBE_EDGE_RIGHT), (X_MAX_POS) + probe_offset[X_AXIS]
#endif
);
}
inline float probe_min_y() {
return _MAX(
#if IS_KINEMATIC
PROBE_Y_MIN, MESH_MIN_Y
#else
(Y_MIN_BED) + (MIN_PROBE_EDGE_FRONT), (Y_MIN_POS) + probe_offset[Y_AXIS]
#endif
);
}
inline float probe_max_y() {
return _MIN(
#if IS_KINEMATIC
PROBE_Y_MAX, MESH_MAX_Y
#else
(Y_MAX_BED) - (MIN_PROBE_EDGE_BACK), (Y_MAX_POS) + probe_offset[Y_AXIS]
#endif
);
}
#else
inline float probe_min_x() { return 0; };
inline float probe_max_x() { return 0; };
inline float probe_min_y() { return 0; };
inline float probe_max_y() { return 0; };
#endif
#if HAS_Z_SERVO_PROBE