Script execution

This commit is contained in:
gac-S_Changer
2017-03-15 10:51:38 +01:00
parent 05bc5c6b89
commit eeab78eda7
+20 -13
View File
@@ -1,4 +1,5 @@
import traceback import traceback
from datetime import datetime
class Detector(ReadonlyRegisterBase): class Detector(ReadonlyRegisterBase):
def __init__(self, name): def __init__(self, name):
@@ -26,12 +27,14 @@ class Esera(TcpDevice):
TcpDevice.__init__(self, name, server) TcpDevice.__init__(self, name, server)
self.setMode(self.Mode.FullDuplex) self.setMode(self.Mode.FullDuplex)
self.detectors = [] self.detectors = []
self.complete = False self.completed_initializatiod = False
def start(self): def start(self):
self.getLogger().info("Starting controller")
self.write("set,sys,run,1\n") self.write("set,sys,run,1\n")
def stop(self): def stop(self):
self.getLogger().info("Stopping controller")
self.write("set,sys,run,0\n") self.write("set,sys,run,0\n")
def list(self): def list(self):
@@ -42,38 +45,40 @@ class Esera(TcpDevice):
def doInitialize(self): def doInitialize(self):
super(Esera, self).doInitialize() super(Esera, self).doInitialize()
self.init_timestamp = time.time()
try: try:
self.setState(State.Ready) #So can communicate self.setState(State.Ready) #So can communicate
#self.stop()
#time.sleep(0.1)
#self.flush()
self.detectors = [] self.detectors = []
for i in range(30): for i in range(30):
self.detectors.append(Detector("Detector " + str(i+1))) self.detectors.append(Detector("Detector " + str(i+1)))
self.list() self.list()
time.sleep(0.5) time.sleep(1.0)
self.start() self.check_started()
self.req_data() self.req_data()
except: except:
print >> sys.stderr, traceback.format_exc() print >> sys.stderr, traceback.format_exc()
getLogger().log(traceback.format_exc()) self.getLogger().warning(traceback.format_exc())
raise raise
def doUpdate(self): def doUpdate(self):
if not self.complete: self.check_started()
self.req_data()
def check_started(self):
if not self.completed_initializatiod:
init = True init = True
for det in self.detectors: for det in self.detectors:
if det.id == None: if det.id == None:
init = False init = False
break break
if init: if init:
self.complete = True self.completed_initializatiod = True
print("Completed initialization")
self.getLogger().info("Completed initialization")
self.start() self.start()
self.req_data()
def onString(self, msg): def onString(self, msg):
#print msg print datetime.now() , " - " , msg
tokens = msg.split("|") tokens = msg.split("|")
if len(tokens)>1: if len(tokens)>1:
try: try:
@@ -96,7 +101,9 @@ class Esera(TcpDevice):
det.set_input(det_id, int(tokens[1])) det.set_input(det_id, int(tokens[1]))
except: except:
print >> sys.stderr, traceback.format_exc() print >> sys.stderr, traceback.format_exc()
getLogger().log(traceback.format_exc()) self.getLogger().log(traceback.format_exc())