|
@@ -133,53 +133,37 @@ public:
|
133
|
133
|
#if HAS_BED_PROBE || HAS_LEVELING
|
134
|
134
|
#if IS_KINEMATIC
|
135
|
135
|
static constexpr float printable_radius = (
|
136
|
|
- #if ENABLED(DELTA)
|
137
|
|
- DELTA_PRINTABLE_RADIUS
|
138
|
|
- #elif IS_SCARA
|
139
|
|
- SCARA_PRINTABLE_RADIUS
|
140
|
|
- #endif
|
|
136
|
+ TERN_(DELTA, DELTA_PRINTABLE_RADIUS)
|
|
137
|
+ TERN_(IS_SCARA, SCARA_PRINTABLE_RADIUS)
|
141
|
138
|
);
|
142
|
|
-
|
143
|
139
|
static inline float probe_radius() {
|
144
|
140
|
return printable_radius - _MAX(PROBING_MARGIN, HYPOT(offset_xy.x, offset_xy.y));
|
145
|
141
|
}
|
146
|
142
|
#endif
|
147
|
143
|
|
148
|
144
|
static inline float min_x() {
|
149
|
|
- return (
|
150
|
|
- #if IS_KINEMATIC
|
151
|
|
- (X_CENTER) - probe_radius()
|
152
|
|
- #else
|
153
|
|
- _MAX((X_MIN_BED) + (PROBING_MARGIN_LEFT), (X_MIN_POS) + offset_xy.x)
|
154
|
|
- #endif
|
155
|
|
- );
|
|
145
|
+ return TERN(IS_KINEMATIC,
|
|
146
|
+ (X_CENTER) - probe_radius(),
|
|
147
|
+ _MAX((X_MIN_BED) + (PROBING_MARGIN_LEFT), (X_MIN_POS) + offset_xy.x)
|
|
148
|
+ ) - TERN0(NOZZLE_AS_PROBE, home_offset.x);
|
156
|
149
|
}
|
157
|
150
|
static inline float max_x() {
|
158
|
|
- return (
|
159
|
|
- #if IS_KINEMATIC
|
160
|
|
- (X_CENTER) + probe_radius()
|
161
|
|
- #else
|
162
|
|
- _MIN((X_MAX_BED) - (PROBING_MARGIN_RIGHT), (X_MAX_POS) + offset_xy.x)
|
163
|
|
- #endif
|
164
|
|
- );
|
|
151
|
+ return TERN(IS_KINEMATIC,
|
|
152
|
+ (X_CENTER) + probe_radius(),
|
|
153
|
+ _MIN((X_MAX_BED) - (PROBING_MARGIN_RIGHT), (X_MAX_POS) + offset_xy.x)
|
|
154
|
+ ) - TERN0(NOZZLE_AS_PROBE, home_offset.x);
|
165
|
155
|
}
|
166
|
156
|
static inline float min_y() {
|
167
|
|
- return (
|
168
|
|
- #if IS_KINEMATIC
|
169
|
|
- (Y_CENTER) - probe_radius()
|
170
|
|
- #else
|
171
|
|
- _MAX((Y_MIN_BED) + (PROBING_MARGIN_FRONT), (Y_MIN_POS) + offset_xy.y)
|
172
|
|
- #endif
|
173
|
|
- );
|
|
157
|
+ return TERN(IS_KINEMATIC,
|
|
158
|
+ (Y_CENTER) - probe_radius(),
|
|
159
|
+ _MAX((Y_MIN_BED) + (PROBING_MARGIN_FRONT), (Y_MIN_POS) + offset_xy.y)
|
|
160
|
+ ) - TERN0(NOZZLE_AS_PROBE, home_offset.y);
|
174
|
161
|
}
|
175
|
162
|
static inline float max_y() {
|
176
|
|
- return (
|
177
|
|
- #if IS_KINEMATIC
|
178
|
|
- (Y_CENTER) + probe_radius()
|
179
|
|
- #else
|
180
|
|
- _MIN((Y_MAX_BED) - (PROBING_MARGIN_BACK), (Y_MAX_POS) + offset_xy.y)
|
181
|
|
- #endif
|
182
|
|
- );
|
|
163
|
+ return TERN(IS_KINEMATIC,
|
|
164
|
+ (Y_CENTER) + probe_radius(),
|
|
165
|
+ _MIN((Y_MAX_BED) - (PROBING_MARGIN_BACK), (Y_MAX_POS) + offset_xy.y)
|
|
166
|
+ ) - TERN0(NOZZLE_AS_PROBE, home_offset.y);
|
183
|
167
|
}
|
184
|
168
|
|
185
|
169
|
#if NEEDS_THREE_PROBE_POINTS
|