Browse Source

⚡️ G12 - Only require used axes to be homed (#23422)

Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
Mathew Winters 3 years ago
parent
commit
a58d35d765
No account linked to committer's email address
2 changed files with 3 additions and 2 deletions
  1. 2
    1
      Marlin/src/gcode/feature/clean/G12.cpp
  2. 1
    1
      Marlin/src/module/motion.h

+ 2
- 1
Marlin/src/gcode/feature/clean/G12.cpp View File

@@ -46,7 +46,8 @@
46 46
  */
47 47
 void GcodeSuite::G12() {
48 48
   // Don't allow nozzle cleaning without homing first
49
-  if (homing_needed_error()) return;
49
+  if (homing_needed_error(linear_bits & ~TERN0(NOZZLE_CLEAN_NO_Z, Z_AXIS) & ~TERN0(NOZZLE_CLEAN_NO_Y, Y_AXIS)))
50
+    return;
50 51
 
51 52
   #ifdef WIPE_SEQUENCE_COMMANDS
52 53
     if (!parser.seen_any()) {

+ 1
- 1
Marlin/src/module/motion.h View File

@@ -404,7 +404,7 @@ void set_axis_is_at_home(const AxisEnum axis);
404 404
   constexpr linear_axis_bits_t axis_homed = linear_bits, axis_trusted = linear_bits; // Zero-endstop machines are always homed and trusted
405 405
   inline void homeaxis(const AxisEnum axis)           {}
406 406
   inline void set_axis_never_homed(const AxisEnum)    {}
407
-  inline linear_axis_bits_t axes_should_home(linear_axis_bits_t=linear_bits) { return false; }
407
+  inline linear_axis_bits_t axes_should_home(linear_axis_bits_t=linear_bits) { return 0; }
408 408
   inline bool homing_needed_error(linear_axis_bits_t=linear_bits) { return false; }
409 409
   inline void set_axis_unhomed(const AxisEnum axis)   {}
410 410
   inline void set_axis_untrusted(const AxisEnum axis) {}

Loading…
Cancel
Save