diff options
author | Paul McGowan <mental405@gmail.com> | 2020-09-09 23:10:35 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-09 23:10:35 -0400 |
commit | 5a2f406fd1e67c29744a194dedcecde20ba09107 (patch) | |
tree | cce353952622782a89c8067f047ec36bd2f8bd56 | |
parent | c7ea4b89c961b5f0db4c88eef3ae1fc8f3db074a (diff) | |
download | kutter-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.md | 4 | ||||
-rw-r--r-- | klippy/extras/probe.py | 4 |
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.) |