aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul McGowan <mental405@gmail.com>2020-09-09 23:10:35 -0400
committerGitHub <noreply@github.com>2020-09-09 23:10:35 -0400
commit5a2f406fd1e67c29744a194dedcecde20ba09107 (patch)
treecce353952622782a89c8067f047ec36bd2f8bd56
parentc7ea4b89c961b5f0db4c88eef3ae1fc8f3db074a (diff)
downloadkutter-5a2f406fd1e67c29744a194dedcecde20ba09107.tar.gz
kutter-5a2f406fd1e67c29744a194dedcecde20ba09107.tar.xz
kutter-5a2f406fd1e67c29744a194dedcecde20ba09107.zip
probe: add get_status wrapper to probe for last_query from query_probe command (#3296)
Add get_status wrapper with last_query status for macros It is sometimes useful to determine the state of the probe from a macro. If the probe is connected to an endstop pin, the results can be obtained via QUERY_ENDSTOPS but if a physical endstop is in use in addition to the probe the probe state cannot be obtained. This change allows one to use QUERY_PROBE and then access the printer.probe.last_query object to obtain the state. Signed-off-by: Paul McGowan <mental405@gmail.com>
-rw-r--r--docs/Command_Templates.md4
-rw-r--r--klippy/extras/probe.py4
2 files changed, 8 insertions, 0 deletions
diff --git a/docs/Command_Templates.md b/docs/Command_Templates.md
index 2be30810..13ef1b18 100644
--- a/docs/Command_Templates.md
+++ b/docs/Command_Templates.md
@@ -194,6 +194,10 @@ The following are common printer attributes:
QUERY_ENDSTOP command. Note, due to the order of template expansion
(see above), the QUERY_STATUS command must be run prior to the macro
containing this reference.
+- `printer.probe.last_query`: Returns True if the probe was reported
+ as "triggered" during the last QUERY_PROBE command. Note, due to the
+ order of template expansion (see above), the QUERY_STATUS command
+ must be run prior to the macro containing this reference.
- `printer.configfile.config["<section>"]["<option>"]`: Returns the
given config file setting as read by Klipper during the last
software start or restart. (Any settings changed at run-time will
diff --git a/klippy/extras/probe.py b/klippy/extras/probe.py
index e3fdb81c..faf65f99 100644
--- a/klippy/extras/probe.py
+++ b/klippy/extras/probe.py
@@ -25,6 +25,7 @@ class PrinterProbe:
self.z_offset = config.getfloat('z_offset')
self.probe_calibrate_z = 0.
self.multi_probe_pending = False
+ self.last_state = False
# Infer Z position to move to during a probe
if config.has_section('stepper_z'):
zconfig = config.getsection('stepper_z')
@@ -187,7 +188,10 @@ class PrinterProbe:
toolhead = self.printer.lookup_object('toolhead')
print_time = toolhead.get_last_move_time()
res = self.mcu_probe.query_endstop(print_time)
+ self.last_state = res
gcmd.respond_info("probe: %s" % (["open", "TRIGGERED"][not not res],))
+ def get_status(self, eventtime):
+ return {'last_query': self.last_state}
cmd_PROBE_ACCURACY_help = "Probe Z-height accuracy at current XY position"
def cmd_PROBE_ACCURACY(self, gcmd):
speed = gcmd.get_float("PROBE_SPEED", self.speed, above=0.)