forked from Archive/PX4-Autopilot
Tools/HIL: default to USB UART if available
This commit is contained in:
parent
77b65ee564
commit
501474993e
|
@ -7,6 +7,7 @@ from argparse import ArgumentParser
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import datetime
|
import datetime
|
||||||
|
import serial.tools.list_ports as list_ports
|
||||||
|
|
||||||
COLOR_RED = "\x1b[31m"
|
COLOR_RED = "\x1b[31m"
|
||||||
COLOR_GREEN = "\x1b[32m"
|
COLOR_GREEN = "\x1b[32m"
|
||||||
|
@ -36,6 +37,7 @@ def print_line(line):
|
||||||
else:
|
else:
|
||||||
print('{0}'.format(line), end='')
|
print('{0}'.format(line), end='')
|
||||||
|
|
||||||
|
|
||||||
def monitor_firmware_upload(port, baudrate):
|
def monitor_firmware_upload(port, baudrate):
|
||||||
ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
|
ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
|
||||||
|
|
||||||
|
@ -70,8 +72,30 @@ def monitor_firmware_upload(port, baudrate):
|
||||||
ser.flush()
|
ser.flush()
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
|
default_device = None
|
||||||
|
device_required = True
|
||||||
|
|
||||||
|
# select USB UART as default if there's only 1
|
||||||
|
ports = list(serial.tools.list_ports.grep('USB UART'))
|
||||||
|
|
||||||
|
if (len(ports) == 1):
|
||||||
|
default_device = ports[0].device
|
||||||
|
device_required = False
|
||||||
|
|
||||||
|
print("Default USB UART port: {0}".format(ports[0].name))
|
||||||
|
print(" device: {0}".format(ports[0].device))
|
||||||
|
print(" description: \"{0}\" ".format(ports[0].description))
|
||||||
|
print(" hwid: {0}".format(ports[0].hwid))
|
||||||
|
#print(" vid: {0}, pid: {1}".format(ports[0].vid, ports[0].pid))
|
||||||
|
#print(" serial_number: {0}".format(ports[0].serial_number))
|
||||||
|
#print(" location: {0}".format(ports[0].location))
|
||||||
|
print(" manufacturer: {0}".format(ports[0].manufacturer))
|
||||||
|
#print(" product: {0}".format(ports[0].product))
|
||||||
|
#print(" interface: {0}".format(ports[0].interface))
|
||||||
|
|
||||||
parser = ArgumentParser(description=__doc__)
|
parser = ArgumentParser(description=__doc__)
|
||||||
parser.add_argument('--device', "-d", nargs='?', default=None, help='', required=True)
|
parser.add_argument('--device', "-d", nargs='?', default=default_device, help='', required=device_required)
|
||||||
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@ from subprocess import call, Popen
|
||||||
from argparse import ArgumentParser
|
from argparse import ArgumentParser
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
import datetime
|
||||||
|
import serial.tools.list_ports as list_ports
|
||||||
|
|
||||||
COLOR_RED = "\x1b[31m"
|
COLOR_RED = "\x1b[31m"
|
||||||
COLOR_GREEN = "\x1b[32m"
|
COLOR_GREEN = "\x1b[32m"
|
||||||
|
@ -29,7 +31,12 @@ def print_line(line):
|
||||||
if "FAILED" in line:
|
if "FAILED" in line:
|
||||||
line = line.replace("FAILED", f"{COLOR_RED}FAILED{COLOR_RESET}", 1)
|
line = line.replace("FAILED", f"{COLOR_RED}FAILED{COLOR_RESET}", 1)
|
||||||
|
|
||||||
print(line, end='')
|
if "\n" in line:
|
||||||
|
current_time = datetime.datetime.now()
|
||||||
|
print('[{0}] {1}'.format(current_time.isoformat(timespec='milliseconds'), line), end='')
|
||||||
|
else:
|
||||||
|
print('{0}'.format(line), end='')
|
||||||
|
|
||||||
|
|
||||||
def do_param_set_cmd(port, baudrate, param_name, param_value):
|
def do_param_set_cmd(port, baudrate, param_name, param_value):
|
||||||
ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
|
ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
|
||||||
|
@ -126,8 +133,30 @@ def do_param_set_cmd(port, baudrate, param_name, param_value):
|
||||||
ser.close()
|
ser.close()
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
|
default_device = None
|
||||||
|
device_required = True
|
||||||
|
|
||||||
|
# select USB UART as default if there's only 1
|
||||||
|
ports = list(serial.tools.list_ports.grep('USB UART'))
|
||||||
|
|
||||||
|
if (len(ports) == 1):
|
||||||
|
default_device = ports[0].device
|
||||||
|
device_required = False
|
||||||
|
|
||||||
|
print("Default USB UART port: {0}".format(ports[0].name))
|
||||||
|
print(" device: {0}".format(ports[0].device))
|
||||||
|
print(" description: \"{0}\" ".format(ports[0].description))
|
||||||
|
print(" hwid: {0}".format(ports[0].hwid))
|
||||||
|
#print(" vid: {0}, pid: {1}".format(ports[0].vid, ports[0].pid))
|
||||||
|
#print(" serial_number: {0}".format(ports[0].serial_number))
|
||||||
|
#print(" location: {0}".format(ports[0].location))
|
||||||
|
print(" manufacturer: {0}".format(ports[0].manufacturer))
|
||||||
|
#print(" product: {0}".format(ports[0].product))
|
||||||
|
#print(" interface: {0}".format(ports[0].interface))
|
||||||
|
|
||||||
parser = ArgumentParser(description=__doc__)
|
parser = ArgumentParser(description=__doc__)
|
||||||
parser.add_argument('--device', "-d", nargs='?', default=None, help='', required=True)
|
parser.add_argument('--device', "-d", nargs='?', default=default_device, help='', required=device_required)
|
||||||
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
||||||
parser.add_argument("--name", "-p", dest="param_name", help="Parameter name")
|
parser.add_argument("--name", "-p", dest="param_name", help="Parameter name")
|
||||||
parser.add_argument("--value", "-v", dest="param_value", help="Parameter value")
|
parser.add_argument("--value", "-v", dest="param_value", help="Parameter value")
|
||||||
|
|
|
@ -7,6 +7,7 @@ from argparse import ArgumentParser
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import datetime
|
import datetime
|
||||||
|
import serial.tools.list_ports as list_ports
|
||||||
|
|
||||||
COLOR_RED = "\x1b[31m"
|
COLOR_RED = "\x1b[31m"
|
||||||
COLOR_GREEN = "\x1b[32m"
|
COLOR_GREEN = "\x1b[32m"
|
||||||
|
@ -36,6 +37,7 @@ def print_line(line):
|
||||||
else:
|
else:
|
||||||
print('{0}'.format(line), end='')
|
print('{0}'.format(line), end='')
|
||||||
|
|
||||||
|
|
||||||
def reboot(port, baudrate):
|
def reboot(port, baudrate):
|
||||||
ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
|
ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
|
||||||
|
|
||||||
|
@ -75,8 +77,30 @@ def reboot(port, baudrate):
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
|
default_device = None
|
||||||
|
device_required = True
|
||||||
|
|
||||||
|
# select USB UART as default if there's only 1
|
||||||
|
ports = list(serial.tools.list_ports.grep('USB UART'))
|
||||||
|
|
||||||
|
if (len(ports) == 1):
|
||||||
|
default_device = ports[0].device
|
||||||
|
device_required = False
|
||||||
|
|
||||||
|
print("Default USB UART port: {0}".format(ports[0].name))
|
||||||
|
print(" device: {0}".format(ports[0].device))
|
||||||
|
print(" description: \"{0}\" ".format(ports[0].description))
|
||||||
|
print(" hwid: {0}".format(ports[0].hwid))
|
||||||
|
#print(" vid: {0}, pid: {1}".format(ports[0].vid, ports[0].pid))
|
||||||
|
#print(" serial_number: {0}".format(ports[0].serial_number))
|
||||||
|
#print(" location: {0}".format(ports[0].location))
|
||||||
|
print(" manufacturer: {0}".format(ports[0].manufacturer))
|
||||||
|
#print(" product: {0}".format(ports[0].product))
|
||||||
|
#print(" interface: {0}".format(ports[0].interface))
|
||||||
|
|
||||||
parser = ArgumentParser(description=__doc__)
|
parser = ArgumentParser(description=__doc__)
|
||||||
parser.add_argument('--device', "-d", nargs='?', default=None, help='', required=True)
|
parser.add_argument('--device', "-d", nargs='?', default=default_device, help='', required=device_required)
|
||||||
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ from argparse import ArgumentParser
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import datetime
|
import datetime
|
||||||
|
import serial.tools.list_ports as list_ports
|
||||||
|
|
||||||
COLOR_RED = "\x1b[31m"
|
COLOR_RED = "\x1b[31m"
|
||||||
COLOR_GREEN = "\x1b[32m"
|
COLOR_GREEN = "\x1b[32m"
|
||||||
|
@ -46,6 +47,7 @@ def do_nsh_cmd(port, baudrate, cmd):
|
||||||
# wait for nsh prompt
|
# wait for nsh prompt
|
||||||
while True:
|
while True:
|
||||||
ser.write("\n".encode("ascii"))
|
ser.write("\n".encode("ascii"))
|
||||||
|
ser.flush()
|
||||||
|
|
||||||
serial_line = ser.readline().decode("ascii", errors='ignore')
|
serial_line = ser.readline().decode("ascii", errors='ignore')
|
||||||
|
|
||||||
|
@ -126,8 +128,30 @@ def do_nsh_cmd(port, baudrate, cmd):
|
||||||
ser.close()
|
ser.close()
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
|
default_device = None
|
||||||
|
device_required = True
|
||||||
|
|
||||||
|
# select USB UART as default if there's only 1
|
||||||
|
ports = list(serial.tools.list_ports.grep('USB UART'))
|
||||||
|
|
||||||
|
if (len(ports) == 1):
|
||||||
|
default_device = ports[0].device
|
||||||
|
device_required = False
|
||||||
|
|
||||||
|
print("Default USB UART port: {0}".format(ports[0].name))
|
||||||
|
print(" device: {0}".format(ports[0].device))
|
||||||
|
print(" description: \"{0}\" ".format(ports[0].description))
|
||||||
|
print(" hwid: {0}".format(ports[0].hwid))
|
||||||
|
#print(" vid: {0}, pid: {1}".format(ports[0].vid, ports[0].pid))
|
||||||
|
#print(" serial_number: {0}".format(ports[0].serial_number))
|
||||||
|
#print(" location: {0}".format(ports[0].location))
|
||||||
|
print(" manufacturer: {0}".format(ports[0].manufacturer))
|
||||||
|
#print(" product: {0}".format(ports[0].product))
|
||||||
|
#print(" interface: {0}".format(ports[0].interface))
|
||||||
|
|
||||||
parser = ArgumentParser(description=__doc__)
|
parser = ArgumentParser(description=__doc__)
|
||||||
parser.add_argument('--device', "-d", nargs='?', default=None, help='', required=True)
|
parser.add_argument('--device', "-d", nargs='?', default=default_device, help='', required=device_required)
|
||||||
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
||||||
parser.add_argument("--cmd", "-c", dest="cmd", help="Command to run")
|
parser.add_argument("--cmd", "-c", dest="cmd", help="Command to run")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
|
@ -9,6 +9,7 @@ import unittest
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import datetime
|
import datetime
|
||||||
|
import serial.tools.list_ports as list_ports
|
||||||
|
|
||||||
COLOR_RED = "\x1b[31m"
|
COLOR_RED = "\x1b[31m"
|
||||||
COLOR_GREEN = "\x1b[32m"
|
COLOR_GREEN = "\x1b[32m"
|
||||||
|
@ -38,6 +39,7 @@ def print_line(line):
|
||||||
else:
|
else:
|
||||||
print('{0}'.format(line), end='')
|
print('{0}'.format(line), end='')
|
||||||
|
|
||||||
|
|
||||||
def do_test(port, baudrate, test_name):
|
def do_test(port, baudrate, test_name):
|
||||||
ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
|
ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
|
||||||
|
|
||||||
|
@ -47,6 +49,7 @@ def do_test(port, baudrate, test_name):
|
||||||
# wait for nsh prompt
|
# wait for nsh prompt
|
||||||
while True:
|
while True:
|
||||||
ser.write("\n".encode("ascii"))
|
ser.write("\n".encode("ascii"))
|
||||||
|
ser.flush()
|
||||||
|
|
||||||
serial_line = ser.readline().decode("ascii", errors='ignore')
|
serial_line = ser.readline().decode("ascii", errors='ignore')
|
||||||
|
|
||||||
|
@ -206,8 +209,30 @@ class TestHardwareMethods(unittest.TestCase):
|
||||||
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "versioning"))
|
self.assertTrue(do_test(self.TEST_DEVICE, self.TEST_BAUDRATE, "versioning"))
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
|
default_device = None
|
||||||
|
device_required = True
|
||||||
|
|
||||||
|
# select USB UART as default if there's only 1
|
||||||
|
ports = list(serial.tools.list_ports.grep('USB UART'))
|
||||||
|
|
||||||
|
if (len(ports) == 1):
|
||||||
|
default_device = ports[0].device
|
||||||
|
device_required = False
|
||||||
|
|
||||||
|
print("Default USB UART port: {0}".format(ports[0].name))
|
||||||
|
print(" device: {0}".format(ports[0].device))
|
||||||
|
print(" description: \"{0}\" ".format(ports[0].description))
|
||||||
|
print(" hwid: {0}".format(ports[0].hwid))
|
||||||
|
#print(" vid: {0}, pid: {1}".format(ports[0].vid, ports[0].pid))
|
||||||
|
#print(" serial_number: {0}".format(ports[0].serial_number))
|
||||||
|
#print(" location: {0}".format(ports[0].location))
|
||||||
|
print(" manufacturer: {0}".format(ports[0].manufacturer))
|
||||||
|
#print(" product: {0}".format(ports[0].product))
|
||||||
|
#print(" interface: {0}".format(ports[0].interface))
|
||||||
|
|
||||||
parser = ArgumentParser(description=__doc__)
|
parser = ArgumentParser(description=__doc__)
|
||||||
parser.add_argument('--device', "-d", nargs='?', default=None, help='', required=True)
|
parser.add_argument('--device', "-d", nargs='?', default=default_device, help='', required=device_required)
|
||||||
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
parser.add_argument("--baudrate", "-b", dest="baudrate", type=int, help="Mavlink port baud rate (default=57600)", default=57600)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue