File tree Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Expand file tree Collapse file tree 1 file changed +9
-9
lines changed Original file line number Diff line number Diff line change 23
23
def getVersionFromSerial (ser ):
24
24
version = None
25
25
retries = 0
26
- startTime = time .time ()
27
26
oldTimeOut = ser .timeout
28
27
ser .setTimeout (1 )
29
28
ser .write ('n' ) # request version info
30
- while True :
29
+ while retries < 10 :
31
30
retry = True
32
31
while 1 : # read all lines from serial
33
- line = ser .readline ()
32
+ startTime = time .time ()
33
+ try :
34
+ line = ser .readline ()
35
+ except ser .SerialException as e :
36
+ pass
34
37
if line :
35
38
line = asciiToUnicode (line )
36
39
if line [0 ] == 'N' :
37
40
data = line .strip ('\n ' )[2 :]
38
41
version = AvrInfo (data )
39
42
retry = False
40
43
break
41
- if time .time () - startTime >= ser .timeout :
42
- # have read entire buffer, now just reading data as it comes in. Break to prevent an endless loop.
43
- break
44
-
44
+ if time .time () - startTime >= ser .timeout :
45
+ # have read entire buffer, now just reading data as it comes in. Break to prevent an endless loop.
46
+ break
45
47
if retry :
46
48
ser .write ('n' ) # request version info
47
49
# time.sleep(1) delay not needed because of blocking (timeout) readline
48
50
retries += 1
49
- if retries > 10 :
50
- break
51
51
else :
52
52
break
53
53
ser .setTimeout (oldTimeOut ) # restore previous serial timeout value
You can’t perform that action at this time.
0 commit comments