From 6480046e0b9ef2250fc766f02e5ae033a3bd3337 Mon Sep 17 00:00:00 2001 From: "Michael D. M. Dryden" <mdryden@chem.utoronto.ca> Date: Tue, 19 Aug 2014 13:46:40 -0400 Subject: [PATCH] Changed to match micro drop plugin signals --- .../dstat-interface/interface_test.py | 25 ++++++++++--------- dstat-interface/dstat-interface/microdrop.py | 6 +++-- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/dstat-interface/dstat-interface/interface_test.py b/dstat-interface/dstat-interface/interface_test.py index 01cb8bb..2e0cb1a 100644 --- a/dstat-interface/dstat-interface/interface_test.py +++ b/dstat-interface/dstat-interface/interface_test.py @@ -716,26 +716,27 @@ class Main: self.menu_dropbot_disconnect.set_sensitive(False) def microdrop_listen(self): - """Manage signals from µDrop. Handles initial handshake and - subsequent commands. Must be added to GTK's main loop to + """Manage signals from µDrop. Must be added to GTK's main loop to run periodically. """ drdy, data = self.microdrop.listen() if drdy == False: return True - if self.microdrop.connected == False: - if data == microdrop.CONREQ: - print "INFO: µDrop connected" - self.statusbar.push(self.message_context_id, "µDrop connected.") - self.microdrop.reply(microdrop.CONREP) - self.microdrop.connected = True + + if data == microdrop.EXP_FINISH_REQ: + if self.microdrop.triggered: + self.on_pot_start_clicked() + return False # Removes function from GTK's main loop else: - print "WAR: Invalid µDrop connection request." - self.microdrop.reply(microdrop.INVAL_CMD) + print "WAR: µDrop requested experiment finish confirmation \ + without starting experiment." + self.microdrop.reply(microdrop.EXPFINISHED) + elif data == microdrop.STARTEXP: + self.microdrop.connected = True + self.statusbar.push(self.message_context_id, "µDrop connected.") self.dropbot_triggered = True - self.on_pot_start_clicked() - return False + self.microdrop.reply(microdrop.START_REP) else: print "WAR: Received invalid command from µDrop" self.microdrop.reply(microdrop.INVAL_CMD) diff --git a/dstat-interface/dstat-interface/microdrop.py b/dstat-interface/dstat-interface/microdrop.py index 95ea34c..217b571 100644 --- a/dstat-interface/dstat-interface/microdrop.py +++ b/dstat-interface/dstat-interface/microdrop.py @@ -4,8 +4,10 @@ import zmq.error #signals CONREQ = "0" CONREP = "1" -STARTEXP = "10" -EXPFINISHED = "11" +STARTEXP = "start" +START_REP = "started" +EXP_FINISH_REQ = "notify_completion" +EXPFINISHED = "completed" INVAL_CMD = "99" #States -- GitLab