ublox-config: Improve python script performances and reliability

This commit is contained in:
Alexandre Bard 2018-12-13 15:40:39 +01:00
parent b8e6585022
commit 0bc18d93c6
1 changed files with 19 additions and 13 deletions

View File

@ -6,26 +6,32 @@ import time
MAX_TRY = 5 MAX_TRY = 5
tries = 0 tries = 0
ser = serial.Serial('/dev/ttyACM0', 115200, timeout=2) ser = serial.Serial('/dev/ttyACM0', 115200, timeout=0.5)
def execute_and_check(cmd): def execute_and_check(cmd):
ser.write(cmd) global tries
s = ser.read(200) ser.flushInput()
if b"OK" not in s: ser.write(cmd)
print("Failed cmd : " + str(cmd)) ser.write(b'\r')
print(s) s = ser.read_until(b'OK')
if ++tries < MAX_TRY: if b'OK' not in s:
time.sleep(1) print("Failed cmd : " + str(cmd))
execute_and_check(cmd) print("Output: " + str(s))
else: tries += 1
sys.exit(-1) if tries < MAX_TRY:
time.sleep(1)
execute_and_check(cmd)
else:
sys.exit(-1)
tries = 0
print("Setting up bridge mode") print("Setting up bridge mode")
execute_and_check(b'AT+UBMCONF=2\r') execute_and_check(b'AT+UBMCONF=2')
print("Setting up USB mode to ECM") print("Setting up USB mode to ECM")
execute_and_check(b'AT+UUSBCONF=2,"ECM",0\r') execute_and_check(b'AT+UUSBCONF=2,"ECM",0')
print("Resetting modem") print("Resetting modem")