aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/mcu.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2016-12-08 12:42:12 -0500
committerKevin O'Connor <kevin@koconnor.net>2016-12-09 17:09:51 -0500
commita6de1db94d108f401f7f3e67f735743106e16837 (patch)
tree8b26f59cc412e155b3d1d271a2413338ee7ff015 /klippy/mcu.py
parented9d7e4fae6eb042f93504553c9445cb8d136c4e (diff)
downloadkutter-a6de1db94d108f401f7f3e67f735743106e16837.tar.gz
kutter-a6de1db94d108f401f7f3e67f735743106e16837.tar.xz
kutter-a6de1db94d108f401f7f3e67f735743106e16837.zip
gcode: Rework endstop query to use greenlets
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/mcu.py')
-rw-r--r--klippy/mcu.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/klippy/mcu.py b/klippy/mcu.py
index 4c2bbc68..091222b2 100644
--- a/klippy/mcu.py
+++ b/klippy/mcu.py
@@ -188,7 +188,10 @@ class MCU_endstop:
self._homing = False
self._min_query_time = time.time()
self._next_query_clock = clock
- def get_last_triggered(self):
+ def query_endstop_wait(self):
+ eventtime = time.time()
+ while self.check_busy(eventtime):
+ eventtime = self._mcu.pause(eventtime + 0.1)
return self._last_state.get('pin', self._invert) ^ self._invert
class MCU_digital_out:
@@ -299,6 +302,7 @@ class MCU_adc:
self._callback = callback
class MCU:
+ error = error
COMM_TIMEOUT = 3.5
def __init__(self, printer, config):
self._printer = printer
@@ -515,5 +519,7 @@ class MCU:
mcu_time = print_time + self._print_start_time
clock = int(mcu_time * self._mcu_freq)
self.ffi_lib.steppersync_flush(self._steppersync, clock)
+ def pause(self, waketime):
+ return self._printer.reactor.pause(waketime)
def __del__(self):
self.disconnect()