aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/console.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2016-11-27 17:45:58 -0500
committerKevin O'Connor <kevin@koconnor.net>2016-11-29 21:57:49 -0500
commit535c7b99b43baf50272c71fcaf52b10f1a707175 (patch)
treece25fa2918e650c5da0ce8724f79602dfb370780 /klippy/console.py
parent5d805ba55059750e79c8b507d164c55a14c6d737 (diff)
downloadkutter-535c7b99b43baf50272c71fcaf52b10f1a707175.tar.gz
kutter-535c7b99b43baf50272c71fcaf52b10f1a707175.tar.xz
kutter-535c7b99b43baf50272c71fcaf52b10f1a707175.zip
serialhdl: Make SerialReader.connect() blocking
Use the greenlet mechanism to wait for the connection to come up in the serial connect() method. This simplifies the calling code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/console.py')
-rwxr-xr-xklippy/console.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/klippy/console.py b/klippy/console.py
index 21cd5f4d..94476007 100755
--- a/klippy/console.py
+++ b/klippy/console.py
@@ -18,9 +18,14 @@ class KeyboardReader:
util.set_nonblock(self.fd)
self.pins = None
self.data = ""
- self.reactor.register_fd(self.fd, self.process_kbd)
+ reactor.register_fd(self.fd, self.process_kbd)
+ self.connect_timer = reactor.register_timer(self.connect, reactor.NOW)
self.local_commands = { "PINS": self.set_pin_map, "SET": self.set_var }
self.eval_globals = {}
+ def connect(self, eventtime):
+ self.ser.connect()
+ self.reactor.unregister_timer(self.connect_timer)
+ return self.reactor.NEVER
def update_evals(self, eventtime):
f = self.ser.msgparser.config.get('CLOCK_FREQ', 1)
c = self.ser.get_clock(eventtime)
@@ -101,7 +106,6 @@ def main():
logging.basicConfig(level=logging.DEBUG)
r = reactor.Reactor()
ser = serialhdl.SerialReader(r, serialport, baud)
- ser.connect()
kbd = KeyboardReader(ser, r)
try:
r.run()