def main(): """ Standalone High Stress Test execution """ # pylint: disable=import-outside-toplevel import argparse parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "ports", metavar="Ports", type=str, nargs="+", help="Your devices serial ports." ) parser.add_argument( "-b", "--baud", metavar="B", dest="baud_rate", type=int, default=230400, help="Serial communication baud rate.", ) parser.add_argument( "-l", "--loops", metavar="L", dest="loops", type=int, default=3, help="Number of loops to run.", ) args = parser.parse_args() high_stress_test( flex.FlexSEA(), args.ports, args.baud_rate, number_of_loops=args.loops )
def main(argv): """ Interactive menu for experiment selection and running """ signal(SIGINT, sig_handler) # Handle Ctrl-C or SIGINT fxu.print_logo() # Handles command line arguments and experiment setup if len(argv) <= 3: print_demos() exp_ind = get_exp_ind(argv) dev_num = get_dev_num(argv, exp_ind) else: print_usage(argv[0]) sys.exit("Too many command line arguments provided.") print( f"\nRunning Experiment [{exp_ind}] with [{dev_num}] connected device{'s' if dev_num > 1 else ''}." ) port_cfg_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "ports.yaml") ports, baud_rate = fxu.load_ports_from_file(port_cfg_path) print(f"Using ports:\t{ports}") print(f"Using baud rate:\t{baud_rate}") # TODO (CA): add support for n ports and use argparser # Call selected demo script: try: if EXPERIMENTS[exp_ind][3] == 1: EXPERIMENTS[exp_ind][0](flex.FlexSEA(), ports[0], baud_rate) else: EXPERIMENTS[exp_ind][0](flex.FlexSEA(), ports[:dev_num], baud_rate) except Exception as err: print("Problem encountered when running the demo: {}".format(err)) sys.exit(err) print(f"\nExiting {argv[0]} normally...\n") sys.exit(0)
def main(): """ Standalone bootloader check execution """ # pylint: disable=import-outside-toplevel import argparse parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("port", metavar="Port", type=str, nargs=1, help="Your device serial port.") parser.add_argument( "-b", "--baud", metavar="B", dest="baud_rate", type=int, default=230400, help="Serial communication baud rate.", ) parser.add_argument( "-t", "--target", metavar="T", dest="target", type=str, default="Mn", choices=["Habs", "Mn", "Reg", "Exe", "BT121", "XBee"], help="Target microcontroller", ) parser.add_argument( "-d", "--delay", metavar="D", dest="delay", type=int, default=60, help="Timeout delay", ) args = parser.parse_args() return bootloader(flex.FlexSEA(), args.port[0], args.baud_rate, args.target, timeout=args.delay)
def main(): """ Standalone open control execution """ # pylint: disable=import-outside-toplevel import argparse parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "port", metavar="Port", type=str, nargs=1, help="Your device serial port." ) parser.add_argument( "-b", "--baud", metavar="B", dest="baud_rate", type=int, default=230400, help="Serial communication baud rate.", ) args = parser.parse_args() open_control(flex.FlexSEA(), args.port[0], args.baud_rate)
import time import warnings from dataclasses import dataclass, field, InitVar from scipy import interpolate import numpy as np import config_util import constants import filters from flexsea import fxEnums as fxe from flexsea import flexsea as flex from flexsea import fxUtils as fxu # Instantiate Dephy's FlexSEA object, which contains important functions fxs = flex.FlexSEA() def connect_to_exos(file_ID: str = None, target_freq: int = 200, actpack_freq: int = 200, log_en: bool = False, log_level: int = 3, do_read_fsrs: bool = False, max_allowable_current: int = 20000): '''Connect to Exos, instantiate Exo objects.''' # Load Ports and baud rate if fxu.is_win(): # Need for WebAgg server to work in Python 3.8 print('Detected win32') import asyncio