From eeab78eda784b08bcf30ebbef7e2e3473a4686d8 Mon Sep 17 00:00:00 2001 From: gac-S_Changer Date: Wed, 15 Mar 2017 10:51:38 +0100 Subject: [PATCH] Script execution --- script/OneWire.py | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/script/OneWire.py b/script/OneWire.py index 12825b1..905790f 100644 --- a/script/OneWire.py +++ b/script/OneWire.py @@ -1,4 +1,5 @@ import traceback +from datetime import datetime class Detector(ReadonlyRegisterBase): def __init__(self, name): @@ -26,12 +27,14 @@ class Esera(TcpDevice): TcpDevice.__init__(self, name, server) self.setMode(self.Mode.FullDuplex) self.detectors = [] - self.complete = False + self.completed_initializatiod = False def start(self): + self.getLogger().info("Starting controller") self.write("set,sys,run,1\n") def stop(self): + self.getLogger().info("Stopping controller") self.write("set,sys,run,0\n") def list(self): @@ -42,38 +45,40 @@ class Esera(TcpDevice): def doInitialize(self): super(Esera, self).doInitialize() + self.init_timestamp = time.time() try: self.setState(State.Ready) #So can communicate - #self.stop() - #time.sleep(0.1) - #self.flush() self.detectors = [] for i in range(30): self.detectors.append(Detector("Detector " + str(i+1))) self.list() - time.sleep(0.5) - self.start() + time.sleep(1.0) + self.check_started() self.req_data() except: print >> sys.stderr, traceback.format_exc() - getLogger().log(traceback.format_exc()) + self.getLogger().warning(traceback.format_exc()) raise def doUpdate(self): - if not self.complete: + self.check_started() + self.req_data() + + def check_started(self): + if not self.completed_initializatiod: init = True for det in self.detectors: if det.id == None: init = False break - if init: - self.complete = True + if init: + self.completed_initializatiod = True + print("Completed initialization") + self.getLogger().info("Completed initialization") self.start() - - self.req_data() def onString(self, msg): - #print msg + print datetime.now() , " - " , msg tokens = msg.split("|") if len(tokens)>1: try: @@ -96,12 +101,14 @@ class Esera(TcpDevice): det.set_input(det_id, int(tokens[1])) except: print >> sys.stderr, traceback.format_exc() - getLogger().log(traceback.format_exc()) + self.getLogger().log(traceback.format_exc()) + + add_device(Esera("onewire", "129.129.126.83:5000"), force = True) onewire.setPolling(1000) add_device(onewire.detectors[0], force = True)