Skip to content
Snippets Groups Projects
Commit 89ced57a authored by Michael DM Dryden's avatar Michael DM Dryden
Browse files

Improve connection reliability.

parent cafc97b7
Branches
Tags
1 merge request!10Move to gtk3 and new command protocol
...@@ -103,6 +103,13 @@ class VersionCheck: ...@@ -103,6 +103,13 @@ class VersionCheck:
ser_port -- address of serial port to use ser_port -- address of serial port to use
""" """
try: try:
ser.flushInput()
ser.write('!')
while not ser.read()=="C":
ser.flushInput()
ser.write('!')
ser.write('V') ser.write('V')
for line in ser: for line in ser:
if line.startswith('V'): if line.startswith('V'):
...@@ -184,7 +191,7 @@ class Settings: ...@@ -184,7 +191,7 @@ class Settings:
self.ser.write('!') self.ser.write('!')
while not self.ser.read()=="C": while not self.ser.read()=="C":
time.sleep(.5) self.ser.flushInput()
self.ser.write('!') self.ser.write('!')
self.ser.write('SR') self.ser.write('SR')
...@@ -210,7 +217,7 @@ class Settings: ...@@ -210,7 +217,7 @@ class Settings:
self.ser.write('!') self.ser.write('!')
while not self.ser.read()=="C": while not self.ser.read()=="C":
time.sleep(.5) self.ser.flushInput()
self.ser.write('!') self.ser.write('!')
write_buffer = range(len(self.settings)) write_buffer = range(len(self.settings))
...@@ -269,9 +276,8 @@ class LightSensor: ...@@ -269,9 +276,8 @@ class LightSensor:
ser.write('!') ser.write('!')
while not ser.read()=="C": while not ser.read()=="C":
time.sleep(.5) self.ser.flushInput()
ser.write('!') ser.write('!')
ser.write('T') ser.write('T')
for line in ser: for line in ser:
...@@ -396,10 +402,12 @@ class Experiment(object): ...@@ -396,10 +402,12 @@ class Experiment(object):
for i in self.commands: for i in self.commands:
logger.info("Command: %s", i) logger.info("Command: %s", i)
self.serial.flushInput()
self.serial.write('!') self.serial.write('!')
while not self.serial.read().startswith("C"): while not self.serial.read()=="C":
pass self.serial.flushInput()
self.serial.write('!')
self.serial.write(i) self.serial.write(i)
if not self.serial_handler(): if not self.serial_handler():
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment