|
@@ -68,9 +68,8 @@ class DefaultEngine:
|
|
|
|
|
|
def getThread(self):
|
|
def getThread(self):
|
|
return self.engine_thread
|
|
return self.engine_thread
|
|
- def run(self):
|
|
|
|
- # Connect to the sync product first
|
|
|
|
- # Open the sync product, check for errors if any returned with status byte 0xFF
|
|
|
|
|
|
+
|
|
|
|
+ def syncUp(self):
|
|
ret = self.sync_interface.upload(str(settings.BASE_DIR) + '\\bin\\Sync.exe',
|
|
ret = self.sync_interface.upload(str(settings.BASE_DIR) + '\\bin\\Sync.exe',
|
|
self.measure.info.isync.file,
|
|
self.measure.info.isync.file,
|
|
self.measure.info.isync.port)
|
|
self.measure.info.isync.port)
|
|
@@ -78,15 +77,42 @@ class DefaultEngine:
|
|
# Final configuration: set the status to configured for sync and overall.
|
|
# Final configuration: set the status to configured for sync and overall.
|
|
self.measure.state.sync.status = 'CONFIGURED'
|
|
self.measure.state.sync.status = 'CONFIGURED'
|
|
self.measure.state.sync.code = 1
|
|
self.measure.state.sync.code = 1
|
|
|
|
+
|
|
self.lock.acquire()
|
|
self.lock.acquire()
|
|
self.measure.state.sync.save()
|
|
self.measure.state.sync.save()
|
|
self.measure.state.save()
|
|
self.measure.state.save()
|
|
self.measure.save()
|
|
self.measure.save()
|
|
self.lock.release()
|
|
self.lock.release()
|
|
-
|
|
|
|
print('UPDATED')
|
|
print('UPDATED')
|
|
|
|
+ return 0
|
|
|
|
+
|
|
|
|
+ def syncWait(self):
|
|
|
|
+ ret = self.sync_interface.trig_wait(self.measure.info.isync.port)
|
|
|
|
+ if(ret[0] == 0xFF):
|
|
|
|
+ self.measure.state.sync.status = 'TRIG SET ERROR'
|
|
|
|
+ self.measure.state.sync.code = -4
|
|
|
|
+ self.measure.state.status = 'SYNC ERROR'
|
|
|
|
+ self.measure.state.code = -1
|
|
|
|
+ self.lock.acquire()
|
|
|
|
+ self.measure.state.sync.save()
|
|
|
|
+ self.measure.state.save()
|
|
|
|
+ self.measure.save()
|
|
|
|
+ self.lock.release()
|
|
|
|
+ return -1
|
|
|
|
+ self.measure.state.sync.status = 'WAIT FOR TRIGGER'
|
|
|
|
+ self.measure.state.sync.code = 2
|
|
|
|
+ print('SENDED')
|
|
|
|
+ return 0
|
|
|
|
|
|
- # Grax connect and reset
|
|
|
|
|
|
+ def syncDown(self):
|
|
|
|
+ ret = self.sync_interface.serial_close()
|
|
|
|
+ if(self.measure.info.iadc.enabled):
|
|
|
|
+ self.adc_interface.client_socket.close()
|
|
|
|
+ self.measure.state.sync.status = 'TRIGGERING COMPLETE'
|
|
|
|
+ self.measure.state.sync.code = 0
|
|
|
|
+ return 0
|
|
|
|
+
|
|
|
|
+ def graUp(self):
|
|
if(self.measure.info.igrax.enabled == True):
|
|
if(self.measure.info.igrax.enabled == True):
|
|
try:
|
|
try:
|
|
self.grax_interface.connect()
|
|
self.grax_interface.connect()
|
|
@@ -100,7 +126,7 @@ class DefaultEngine:
|
|
self.measure.state.save()
|
|
self.measure.state.save()
|
|
self.measure.save()
|
|
self.measure.save()
|
|
self.lock.release()
|
|
self.lock.release()
|
|
- return -100
|
|
|
|
|
|
+ return -1
|
|
|
|
|
|
# Reset and power on
|
|
# Reset and power on
|
|
self.grax_interface.reset()
|
|
self.grax_interface.reset()
|
|
@@ -158,7 +184,7 @@ class DefaultEngine:
|
|
self.measure.state.save()
|
|
self.measure.state.save()
|
|
self.measure.save()
|
|
self.measure.save()
|
|
self.lock.release()
|
|
self.lock.release()
|
|
- return -100
|
|
|
|
|
|
+ return -1
|
|
|
|
|
|
self.gray_interface.reset()
|
|
self.gray_interface.reset()
|
|
ret = self.gray_interface.state()
|
|
ret = self.gray_interface.state()
|
|
@@ -214,7 +240,7 @@ class DefaultEngine:
|
|
self.measure.state.save()
|
|
self.measure.state.save()
|
|
self.measure.save()
|
|
self.measure.save()
|
|
self.lock.release()
|
|
self.lock.release()
|
|
- return -100
|
|
|
|
|
|
+ return -1
|
|
|
|
|
|
self.graz_interface.reset()
|
|
self.graz_interface.reset()
|
|
ret = self.graz_interface.state()
|
|
ret = self.graz_interface.state()
|
|
@@ -256,29 +282,26 @@ class DefaultEngine:
|
|
self.measure.state.save()
|
|
self.measure.state.save()
|
|
self.measure.save()
|
|
self.measure.save()
|
|
self.lock.release()
|
|
self.lock.release()
|
|
|
|
+
|
|
|
|
+ def run(self):
|
|
|
|
+ # Connect to the sync product first
|
|
|
|
+ # Open the sync product, check for errors if any returned with status byte 0xFF
|
|
|
|
+ self.syncUp()
|
|
|
|
+ self.graUp()
|
|
|
|
|
|
self.sync_interface.serial_open(self.measure.info.isync.port)
|
|
self.sync_interface.serial_open(self.measure.info.isync.port)
|
|
|
|
|
|
if(self.measure.info.iadc.enabled == True):
|
|
if(self.measure.info.iadc.enabled == True):
|
|
print('try to connect')
|
|
print('try to connect')
|
|
|
|
+
|
|
for k in range(0, self.measure.info.iadc.averaging):
|
|
for k in range(0, self.measure.info.iadc.averaging):
|
|
print('SENDING TRIGGER')
|
|
print('SENDING TRIGGER')
|
|
|
|
+
|
|
# Set trigger wait, check for errors
|
|
# Set trigger wait, check for errors
|
|
- ret = self.sync_interface.trig_wait(self.measure.info.isync.port)
|
|
|
|
- if(ret[0] == 0xFF):
|
|
|
|
- self.measure.state.sync.status = 'TRIG SET ERROR'
|
|
|
|
- self.measure.state.sync.code = -4
|
|
|
|
- self.measure.state.status = 'SYNC ERROR'
|
|
|
|
- self.measure.state.code = -1
|
|
|
|
- self.lock.acquire()
|
|
|
|
- self.measure.state.sync.save()
|
|
|
|
- self.measure.state.save()
|
|
|
|
- self.measure.save()
|
|
|
|
- self.lock.release()
|
|
|
|
|
|
+ ret = self.syncWait()
|
|
|
|
+ if(ret != 0):
|
|
return ret
|
|
return ret
|
|
-
|
|
|
|
- print('SENDED')
|
|
|
|
-
|
|
|
|
|
|
+
|
|
try:
|
|
try:
|
|
self.adc_interface.connect()
|
|
self.adc_interface.connect()
|
|
except:
|
|
except:
|
|
@@ -292,7 +315,7 @@ class DefaultEngine:
|
|
self.measure.save()
|
|
self.measure.save()
|
|
self.lock.release()
|
|
self.lock.release()
|
|
self.adc_interface.client_socket.close()
|
|
self.adc_interface.client_socket.close()
|
|
- return -100
|
|
|
|
|
|
+ return -1
|
|
|
|
|
|
ret = self.adc_interface.open()
|
|
ret = self.adc_interface.open()
|
|
if(ret[0] == 0xFF):
|
|
if(ret[0] == 0xFF):
|