Script execution
This commit is contained in:
+20
-13
@@ -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())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user