meta-netmodule-bsp/recipes-connectivity/ublox-configuration/files/ublox-config.py

55 lines
1019 B
Python
Executable File

#!/usr/bin/env python3
import serial
import sys
import time
import os
MAX_TRY = 5
tries = 0
SERIAL_DEV = '/dev/ttyACM0'
while not os.path.exists(SERIAL_DEV):
time.sleep(1)
ser = serial.Serial(SERIAL_DEV, 115200, timeout=0.5)
def execute_and_check(cmd):
global tries
ser.flushInput()
ser.write(cmd)
ser.write(b'\r')
s = ser.read_until(b'OK')
if b'OK' not in s:
print("Failed cmd : " + str(cmd))
print("Output: " + str(s))
tries += 1
if tries < MAX_TRY:
time.sleep(1)
execute_and_check(cmd)
else:
sys.exit(-1)
tries = 0
print("Setting up bridge mode")
execute_and_check(b'AT+UBMCONF=2')
print("Setting up USB mode to ECM")
execute_and_check(b'AT+UUSBCONF=2,"ECM",0')
print("Resetting modem")
ser.write(b'AT+CFUN=16\r')
ser.close()
# Wait until modem rebooted
while True:
dirs = os.listdir("/dev")
for file in dirs:
if file == 'ttyACM2':
sys.exit(0);
time.sleep(1)