From b6b89c395d4b5ae0cb0b534c6b0fb7d210276cd4 Mon Sep 17 00:00:00 2001 From: Salem_Luos Date: Thu, 25 Aug 2022 18:36:07 +0200 Subject: [PATCH 1/2] Add baudrate arg for shell commands --- pyluos/tools/bootloader.py | 27 ++++++++++++++++++++------- pyluos/tools/discover.py | 13 ++++++++++--- pyluos/tools/shell.py | 10 +++++++--- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/pyluos/tools/bootloader.py b/pyluos/tools/bootloader.py index da9d71d..ce124ac 100644 --- a/pyluos/tools/bootloader.py +++ b/pyluos/tools/bootloader.py @@ -435,6 +435,7 @@ def reboot_network(device, nodes_to_reboot): # ******************************************************************************* def luos_flash(args): print('Luos flash subcommand with parameters :') + print('\tbaudrate : ', args.baudrate) print('\t--gate : ', args.gate) print('\t--target : ', args.target) print('\t--binary : ', args.binary) @@ -442,7 +443,7 @@ def luos_flash(args): if not (args.port): try: - args.port= serial_discover()[0] + args.port= serial_discover(os.getenv('LUOS_BAUDRATE', args.baudrate))[0] except: sys.exit("Can't find any Gate interface") return @@ -462,7 +463,7 @@ def luos_flash(args): f.close() # init device - device = Device(args.port, background_task=False, baudrate=os.getenv('LUOS_BAUDRATE', 1000000)) + device = Device(args.port, baudrate=os.getenv('LUOS_BAUDRATE', args.baudrate), background_task=False) # find routing table state = find_network(device) @@ -546,16 +547,17 @@ def luos_flash(args): # ******************************************************************************* def luos_detect(args): print('Luos detect subcommand on port : ', args.port) + print('\tbaudrate : ', args.baudrate) if not (args.port): try: - args.port= serial_discover()[0] + args.port= serial_discover(os.getenv('LUOS_BAUDRATE', args.baudrate))[0] except: sys.exit("Can't find any Gate interface") return # detect network - device = Device(args.port, baudrate=os.getenv('LUOS_BAUDRATE', 1000000)) + device = Device(args.port, baudrate=os.getenv('LUOS_BAUDRATE', args.baudrate)) # print network to user print(device.nodes) device.close() @@ -569,10 +571,11 @@ def luos_detect(args): # ******************************************************************************* def luos_reset(args): print('Luos discover subcommand on port : ', args.port) + print('\tbaudrate : ', args.baudrate) if not (args.port): try: - args.port= serial_discover()[0] + args.port= serial_discover(os.getenv('LUOS_BAUDRATE', args.baudrate))[0] except: sys.exit("Can't find any Gate interface") return @@ -580,7 +583,7 @@ def luos_reset(args): # send rescue command print('Send reset command.') - port = serial.Serial(args.port, os.getenv('LUOS_BAUDRATE', 1000000), timeout=0.05) + port = serial.Serial(args.port, os.getenv('LUOS_BAUDRATE', args.baudrate), timeout=0.05) rst_cmd = { 'bootloader': { 'command': { @@ -595,7 +598,8 @@ def luos_reset(args): port.close() # detect network - device = Device(args.port, background_task=False) + device = Device(args.port, baudrate=os.getenv('LUOS_BAUDRATE', args.baudrate), background_task=False) + print(device.nodes) device.close() @@ -627,6 +631,9 @@ def luos_options(): help='target node to flash', default=['2'], nargs='*') + flash_parser.add_argument('--baudrate', + help='Choose pyluos serial baudrate default value = 1000000', + default=1000000) flash_parser.set_defaults(func=luos_flash) # declare "detect" subcommand @@ -634,6 +641,9 @@ def luos_options(): help='tool to detect luos network') detect_parser.add_argument('port', help='port used to detect network', nargs='?') + detect_parser.add_argument('--baudrate', + help='Choose pyluos serial baudrate default value = 1000000', + default=1000000) detect_parser.set_defaults(func=luos_detect) # declare "rescue" subcommand @@ -641,6 +651,9 @@ def luos_options(): help='tool to reset one or multiple blocked nodes in rescue mode') rescue_parser.add_argument('port', help='port used to access to the network', nargs='?') + rescue_parser.add_argument('--baudrate', + help='Choose pyluos serial baudrate default value = 1000000', + default=1000000) rescue_parser.set_defaults(func=luos_reset) return parser diff --git a/pyluos/tools/discover.py b/pyluos/tools/discover.py index fbb9842..4839db7 100644 --- a/pyluos/tools/discover.py +++ b/pyluos/tools/discover.py @@ -4,18 +4,19 @@ from ..io.serial_io import Serial import serial import struct +import argparse def serial_ports(): return Serial.available_hosts() -def serial_discover(): +def serial_discover(baudrate=1000000): serial_hosts = serial_ports() available_serial = [] print("Searching for a gate available") for serial_host in serial_hosts: print("Testing " + str(serial_host)) try: - port = serial.Serial(serial_host, os.getenv('LUOS_BAUDRATE', 1000000), timeout=0.05) + port = serial.Serial(serial_host, baudrate, timeout=0.05) except: continue @@ -35,7 +36,13 @@ def serial_discover(): return available_serial def main(): - gate_list = serial_discover() + parser.add_argument("--baudrate", action="store", + help="Choose pyluos serial baudrate default value = 1000000", + default=1000000) + + args = parser.parse_args() + + gate_list = serial_discover(os.getenv('LUOS_BAUDRATE', args.baudrate)) if gate_list: print("Available Luos gate on port : " + str(gate_list)) diff --git a/pyluos/tools/shell.py b/pyluos/tools/shell.py index 059ed4a..c9643a1 100644 --- a/pyluos/tools/shell.py +++ b/pyluos/tools/shell.py @@ -37,6 +37,10 @@ def main(): parser.add_argument("--version", action="store_true", help="print version information and exit") + parser.add_argument("--baudrate", action="store", + help="Choose pyluos serial baudrate default value = 1000000", + default=1000000) + args = parser.parse_args() def print_version(): @@ -51,12 +55,12 @@ def print_version(): if args.port is not None: # Ready to rocks - device = Device(args.port) + device = Device(args.port, baudrate=os.getenv('LUOS_BAUDRATE', args.baudrate)) embed(banner1 = "\n Hit Ctrl-D to exit this interpreter.\n\nYour luos device has been successfully mounted into a \"device\" object:\n" + str(device.nodes) + "\n") else: - Gates = serial_discover() + Gates = serial_discover(os.getenv('LUOS_BAUDRATE', args.baudrate)) if Gates: - device = Device(Gates[0]) + device = Device(Gates[0], baudrate=os.getenv('LUOS_BAUDRATE', args.baudrate)) embed(banner1 = "\n Hit Ctrl-D to exit this interpreter.\n\nYour luos device has been successfully mounted into a \"device\" object:\n" + str(device.nodes) + "\n") except OperationAbortedException: From 0a3dbe80838905fa9f44a77b7da9719a8dae9d1a Mon Sep 17 00:00:00 2001 From: Salem_Luos Date: Wed, 31 Aug 2022 10:12:37 +0200 Subject: [PATCH 2/2] change print argument --- pyluos/tools/bootloader.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyluos/tools/bootloader.py b/pyluos/tools/bootloader.py index ce124ac..b44d6d0 100644 --- a/pyluos/tools/bootloader.py +++ b/pyluos/tools/bootloader.py @@ -435,7 +435,7 @@ def reboot_network(device, nodes_to_reboot): # ******************************************************************************* def luos_flash(args): print('Luos flash subcommand with parameters :') - print('\tbaudrate : ', args.baudrate) + print('\t--baudrate : ', args.baudrate) print('\t--gate : ', args.gate) print('\t--target : ', args.target) print('\t--binary : ', args.binary) @@ -547,7 +547,7 @@ def luos_flash(args): # ******************************************************************************* def luos_detect(args): print('Luos detect subcommand on port : ', args.port) - print('\tbaudrate : ', args.baudrate) + print('\tLuos detect subcommand at baudrate : ', args.baudrate) if not (args.port): try: @@ -571,7 +571,7 @@ def luos_detect(args): # ******************************************************************************* def luos_reset(args): print('Luos discover subcommand on port : ', args.port) - print('\tbaudrate : ', args.baudrate) + print('\tLuos discover subcommand at baudrate : ', args.baudrate) if not (args.port): try: