@@ -264,7 +264,57 @@ xyz_pos_t Probe::offset; // Initialized by settings.load()
264
264
#endif
265
265
}
266
266
267
- #endif // Z_PROBE_ALLEN_KEY
267
+ #elif ENABLED(MAG_MOUNTED_PROBE)
268
+
269
+ typedef struct { float fr_mm_min; xyz_pos_t where; } mag_probe_move_t ;
270
+
271
+ inline void run_deploy_moves_script () {
272
+ #ifdef MAG_MOUNTED_DEPLOY_1
273
+ constexpr mag_probe_move_t deploy_1 = MAG_MOUNTED_DEPLOY_1;
274
+ do_blocking_move_to (deploy_1.where , MMM_TO_MMS (deploy_1.fr_mm_min ));
275
+ #endif
276
+ #ifdef MAG_MOUNTED_DEPLOY_2
277
+ constexpr mag_probe_move_t deploy_2 = MAG_MOUNTED_DEPLOY_2;
278
+ do_blocking_move_to (deploy_2.where , MMM_TO_MMS (deploy_2.fr_mm_min ));
279
+ #endif
280
+ #ifdef MAG_MOUNTED_DEPLOY_3
281
+ constexpr mag_probe_move_t deploy_3 = MAG_MOUNTED_DEPLOY_3;
282
+ do_blocking_move_to (deploy_3.where , MMM_TO_MMS (deploy_3.fr_mm_min ));
283
+ #endif
284
+ #ifdef MAG_MOUNTED_DEPLOY_4
285
+ constexpr mag_probe_move_t deploy_4 = MAG_MOUNTED_DEPLOY_4;
286
+ do_blocking_move_to (deploy_4.where , MMM_TO_MMS (deploy_4.fr_mm_min ));
287
+ #endif
288
+ #ifdef MAG_MOUNTED_DEPLOY_5
289
+ constexpr mag_probe_move_t deploy_5 = MAG_MOUNTED_DEPLOY_5;
290
+ do_blocking_move_to (deploy_5.where , MMM_TO_MMS (deploy_5.fr_mm_min ));
291
+ #endif
292
+ }
293
+
294
+ inline void run_stow_moves_script () {
295
+ #ifdef MAG_MOUNTED_STOW_1
296
+ constexpr mag_probe_move_t stow_1 = MAG_MOUNTED_STOW_1;
297
+ do_blocking_move_to (stow_1.where , MMM_TO_MMS (stow_1.fr_mm_min ));
298
+ #endif
299
+ #ifdef MAG_MOUNTED_STOW_2
300
+ constexpr mag_probe_move_t stow_2 = MAG_MOUNTED_STOW_2;
301
+ do_blocking_move_to (stow_2.where , MMM_TO_MMS (stow_2.fr_mm_min ));
302
+ #endif
303
+ #ifdef MAG_MOUNTED_STOW_3
304
+ constexpr mag_probe_move_t stow_3 = MAG_MOUNTED_STOW_3;
305
+ do_blocking_move_to (stow_3.where , MMM_TO_MMS (stow_3.fr_mm_min ));
306
+ #endif
307
+ #ifdef MAG_MOUNTED_STOW_4
308
+ constexpr mag_probe_move_t stow_4 = MAG_MOUNTED_STOW_4;
309
+ do_blocking_move_to (stow_4.where , MMM_TO_MMS (stow_4.fr_mm_min ));
310
+ #endif
311
+ #ifdef MAG_MOUNTED_STOW_5
312
+ constexpr mag_probe_move_t stow_5 = MAG_MOUNTED_STOW_5;
313
+ do_blocking_move_to (stow_5.where , MMM_TO_MMS (stow_5.fr_mm_min ));
314
+ #endif
315
+ }
316
+
317
+ #endif // MAG_MOUNTED_PROBE
268
318
269
319
#if HAS_QUIET_PROBING
270
320
@@ -350,7 +400,7 @@ FORCE_INLINE void probe_specific_action(const bool deploy) {
350
400
351
401
servo[Z_PROBE_SERVO_NR].move (servo_angles[Z_PROBE_SERVO_NR][deploy ? 0 : 1 ]);
352
402
353
- #elif EITHER (TOUCH_MI_PROBE, Z_PROBE_ALLEN_KEY)
403
+ #elif ANY (TOUCH_MI_PROBE, Z_PROBE_ALLEN_KEY, MAG_MOUNTED_PROBE )
354
404
355
405
deploy ? run_deploy_moves_script () : run_stow_moves_script ();
356
406
0 commit comments