Files
x03da/script/monitoring.py
2016-11-04 15:34:00 +01:00

43 lines
1.0 KiB
Python

if controller.state != State.Ready or Scienta.state.isInitialized():
return
scientaCurrentImageCount = Scienta.getCurrentImageCount()
_scientaRestart = False
if currentImageCount>0:
#Criteria is: currentImageCount decreated
if globals.contains("scientaLastImageCount"):
if < scientaLastImageCount:
_scientaRestart = True
else:
#Criteria: first communication after timeout
try:
retries = 5
for i in range(retries):
try:
Scienta.getImageCounter.read()
break
except:
pass
if i>= retries-1:
if globals.contains("scientaTimeOut"):
if scientaTimeOut:
_scientaRestart = True
scientaTimeOut = False
except:
scientaTimeOut = True
if _scientaRestart:
print "Restarting Scienta..."
Scienta.initialize()
print "Finished Scienta restart..."
scientaLastImageCount = scientaCurrentImageCount