43 lines
1.0 KiB
Python
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
|
|
|
|
|
|
|
|
|