Pārlūkot izejas kodu

Shorthand for home-after-deactivate

Scott Lahteine 6 gadus atpakaļ
vecāks
revīzija
49627069a5
2 mainītis faili ar 13 papildinājumiem un 11 dzēšanām
  1. 3
    11
      Marlin/src/gcode/calibrate/G28.cpp
  2. 10
    0
      Marlin/src/module/motion.h

+ 3
- 11
Marlin/src/gcode/calibrate/G28.cpp Parādīt failu

@@ -200,17 +200,9 @@ void GcodeSuite::G28(const bool always_home_all) {
200 200
     }
201 201
   #endif
202 202
 
203
-  if (parser.boolval('O')) {
204
-    if (
205
-      #if ENABLED(HOME_AFTER_DEACTIVATE)
206
-        all_axes_known()  // homing needed anytime steppers deactivate
207
-      #else
208
-        all_axes_homed()  // homing needed only if never homed
209
-      #endif
210
-    ) {
211
-      if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> homing not needed, skip\n<<< G28");
212
-      return;
213
-    }
203
+  if (!homing_needed() && parser.boolval('O')) {
204
+    if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> homing not needed, skip\n<<< G28");
205
+    return;
214 206
   }
215 207
 
216 208
   // Wait for planner moves to finish!

+ 10
- 0
Marlin/src/module/motion.h Parādīt failu

@@ -42,6 +42,16 @@ FORCE_INLINE bool all_axes_known() { return (axis_known_position & xyz_bits) ==
42 42
 FORCE_INLINE void set_all_unhomed() { axis_homed = 0; }
43 43
 FORCE_INLINE void set_all_unknown() { axis_known_position = 0; }
44 44
 
45
+FORCE_INLINE bool homing_needed() {
46
+  return !(
47
+    #if ENABLED(HOME_AFTER_DEACTIVATE)
48
+      all_axes_known()
49
+    #else
50
+      all_axes_homed()
51
+    #endif
52
+  );
53
+}
54
+
45 55
 // Error margin to work around float imprecision
46 56
 constexpr float slop = 0.0001;
47 57
 

Notiek ielāde…
Atcelt
Saglabāt