Skip to content

Commit a58d35d

Browse files
⚡️ G12 - Only require used axes to be homed (MarlinFirmware#23422)
Co-authored-by: Scott Lahteine <[email protected]>
1 parent ea3d6ec commit a58d35d

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

Marlin/src/gcode/feature/clean/G12.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@
4646
*/
4747
void GcodeSuite::G12() {
4848
// 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;
5051

5152
#ifdef WIPE_SEQUENCE_COMMANDS
5253
if (!parser.seen_any()) {

Marlin/src/module/motion.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ void set_axis_is_at_home(const AxisEnum axis);
404404
constexpr linear_axis_bits_t axis_homed = linear_bits, axis_trusted = linear_bits; // Zero-endstop machines are always homed and trusted
405405
inline void homeaxis(const AxisEnum axis) {}
406406
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; }
408408
inline bool homing_needed_error(linear_axis_bits_t=linear_bits) { return false; }
409409
inline void set_axis_unhomed(const AxisEnum axis) {}
410410
inline void set_axis_untrusted(const AxisEnum axis) {}

0 commit comments

Comments
 (0)