|
@@ -75,6 +75,10 @@
|
75
|
75
|
#define IS_PAGE(B) false
|
76
|
76
|
#endif
|
77
|
77
|
|
|
78
|
+#if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER)
|
|
79
|
+ #include "../feature/closedloop.h"
|
|
80
|
+#endif
|
|
81
|
+
|
78
|
82
|
// Feedrate for manual moves
|
79
|
83
|
#ifdef MANUAL_FEEDRATE
|
80
|
84
|
constexpr xyze_feedrate_t _mf = MANUAL_FEEDRATE,
|
|
@@ -865,6 +869,13 @@ class Planner {
|
865
|
869
|
// Triggered position of an axis in mm (not core-savvy)
|
866
|
870
|
static float triggered_position_mm(const AxisEnum axis);
|
867
|
871
|
|
|
872
|
+ // Blocks are queued, or we're running out moves, or the closed loop controller is waiting
|
|
873
|
+ static inline bool busy() {
|
|
874
|
+ return (has_blocks_queued() || cleaning_buffer_counter
|
|
875
|
+ || TERN0(EXTERNAL_CLOSED_LOOP_CONTROLLER, CLOSED_LOOP_WAITING())
|
|
876
|
+ );
|
|
877
|
+ }
|
|
878
|
+
|
868
|
879
|
// Block until all buffered steps are executed / cleaned
|
869
|
880
|
static void synchronize();
|
870
|
881
|
|