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
	)
Beispiel #2
0
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)
Beispiel #5
0
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