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
  */
46
  */
47
 void GcodeSuite::G12() {
47
 void GcodeSuite::G12() {
48
   // Don't allow nozzle cleaning without homing first
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
   #ifdef WIPE_SEQUENCE_COMMANDS
52
   #ifdef WIPE_SEQUENCE_COMMANDS
52
     if (!parser.seen_any()) {
53
     if (!parser.seen_any()) {

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

404
   constexpr linear_axis_bits_t axis_homed = linear_bits, axis_trusted = linear_bits; // Zero-endstop machines are always homed and trusted
404
   constexpr linear_axis_bits_t axis_homed = linear_bits, axis_trusted = linear_bits; // Zero-endstop machines are always homed and trusted
405
   inline void homeaxis(const AxisEnum axis)           {}
405
   inline void homeaxis(const AxisEnum axis)           {}
406
   inline void set_axis_never_homed(const AxisEnum)    {}
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
   inline bool homing_needed_error(linear_axis_bits_t=linear_bits) { return false; }
408
   inline bool homing_needed_error(linear_axis_bits_t=linear_bits) { return false; }
409
   inline void set_axis_unhomed(const AxisEnum axis)   {}
409
   inline void set_axis_unhomed(const AxisEnum axis)   {}
410
   inline void set_axis_untrusted(const AxisEnum axis) {}
410
   inline void set_axis_untrusted(const AxisEnum axis) {}

Loading…
Cancel
Save