aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Lamas <pedrolamas@gmail.com>2023-02-04 15:27:51 +0000
committerKevinOConnor <kevin@koconnor.net>2023-02-09 16:51:47 -0500
commitda8d4b02311fef6dccef7cfb6d1a8e09707971c2 (patch)
treeb33a6afb4d4065a5f23da102349f0a2ae503ffc9
parent17f7c039214e4d73540f4dc24807b13d48755d73 (diff)
downloadkutter-da8d4b02311fef6dccef7cfb6d1a8e09707971c2.tar.gz
kutter-da8d4b02311fef6dccef7cfb6d1a8e09707971c2.tar.xz
kutter-da8d4b02311fef6dccef7cfb6d1a8e09707971c2.zip
extruder: store currently sync'ed motion queue name
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
-rw-r--r--docs/Status_Reference.md3
-rw-r--r--klippy/kinematics/extruder.py6
2 files changed, 8 insertions, 1 deletions
diff --git a/docs/Status_Reference.md b/docs/Status_Reference.md
index ef947f5b..778802a5 100644
--- a/docs/Status_Reference.md
+++ b/docs/Status_Reference.md
@@ -126,6 +126,9 @@ The following information is available for extruder_stepper objects (as well as
[extruder](Config_Reference.md#extruder) objects):
- `pressure_advance`: The current [pressure advance](Pressure_Advance.md) value.
- `smooth_time`: The current pressure advance smooth time.
+- `motion_queue`: The name of the extruder that this extruder stepper is
+ currently synchronized to. This is reported as `None` if the extruder stepper
+ is not currently associated with an extruder.
## fan
diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py
index 0af14a65..ea422b6e 100644
--- a/klippy/kinematics/extruder.py
+++ b/klippy/kinematics/extruder.py
@@ -20,6 +20,7 @@ class ExtruderStepper:
self.sk_extruder = ffi_main.gc(ffi_lib.extruder_stepper_alloc(),
ffi_lib.free)
self.stepper.set_stepper_kinematics(self.sk_extruder)
+ self.motion_queue = None
# Register commands
self.printer.register_event_handler("klippy:connect",
self._handle_connect)
@@ -49,7 +50,8 @@ class ExtruderStepper:
self._set_pressure_advance(self.config_pa, self.config_smooth_time)
def get_status(self, eventtime):
return {'pressure_advance': self.pressure_advance,
- 'smooth_time': self.pressure_advance_smooth_time}
+ 'smooth_time': self.pressure_advance_smooth_time,
+ 'motion_queue': self.motion_queue}
def find_past_position(self, print_time):
mcu_pos = self.stepper.get_past_mcu_position(print_time)
return self.stepper.mcu_to_commanded_position(mcu_pos)
@@ -58,6 +60,7 @@ class ExtruderStepper:
toolhead.flush_step_generation()
if not extruder_name:
self.stepper.set_trapq(None)
+ self.motion_queue = None
return
extruder = self.printer.lookup_object(extruder_name, None)
if extruder is None or not isinstance(extruder, PrinterExtruder):
@@ -65,6 +68,7 @@ class ExtruderStepper:
% (extruder_name,))
self.stepper.set_position([extruder.last_position, 0., 0.])
self.stepper.set_trapq(extruder.get_trapq())
+ self.motion_queue = extruder_name
def _set_pressure_advance(self, pressure_advance, smooth_time):
old_smooth_time = self.pressure_advance_smooth_time
if not self.pressure_advance: