示例#1
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                     "RTIO analysis tool")

    verbosity_args(parser)
    parser.add_argument("--device-db",
                        default="device_db.pyon",
                        help="device database file (default: '%(default)s')")

    parser.add_argument("-r",
                        "--read-dump",
                        type=str,
                        default=None,
                        help="read raw dump file instead of accessing device")
    parser.add_argument("-p",
                        "--print-decoded",
                        default=False,
                        action="store_true",
                        help="print raw decoded messages")
    parser.add_argument("-w",
                        "--write-vcd",
                        type=str,
                        default=None,
                        help="format and write contents to VCD file")
    parser.add_argument("-d",
                        "--write-dump",
                        type=str,
                        default=None,
                        help="write raw dump file")
    return parser
示例#2
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ master")
    group = parser.add_argument_group("network")
    group.add_argument(
        "--bind", default="::1",
        help="hostname or IP address to bind to")
    group.add_argument(
        "--port-notify", default=3250, type=int,
        help="TCP port to listen to for notifications (default: %(default)d)")
    group.add_argument(
        "--port-control", default=3251, type=int,
        help="TCP port to listen to for control (default: %(default)d)")
    group = parser.add_argument_group("databases")
    group.add_argument("-d", "--ddb", default="ddb.pyon",
                       help="device database file")
    group.add_argument("-p", "--pdb", default="pdb.pyon",
                       help="parameter database file")
    group = parser.add_argument_group("repository")
    group.add_argument(
        "-g", "--git", default=False, action="store_true",
        help="use the Git repository backend")
    group.add_argument(
        "-r", "--repository", default="repository",
        help="path to the repository (default: '%(default)s')")
    verbosity_args(parser)
    return parser
示例#3
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                     "packet capture tool")

    verbosity_args(parser)

    parser.add_argument("-H",
                        "--host",
                        metavar="HOST",
                        type=str,
                        default="lab.m-labs.hk",
                        help="SSH host where the development board is located")
    parser.add_argument(
        "-D",
        "--device",
        metavar="DEVICE",
        type=str,
        default="kc705.lab.m-labs.hk",
        help="address or domain corresponding to the development board")
    parser.add_argument("-f",
                        "--file",
                        metavar="PCAP_FILE",
                        type=str,
                        default="coredevice.pcap",
                        help="Location to retrieve the pcap file into")

    parser.add_argument("command",
                        metavar="COMMAND",
                        type=str,
                        default=[],
                        nargs=argparse.REMAINDER,
                        help="command to execute while capturing")

    return parser
示例#4
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                                 "development tool")

    verbosity_args(parser)

    parser.add_argument("-H", "--host", metavar="HOST",
                        type=str, default="lab.m-labs.hk",
                        help="SSH host where the development board is located")
    parser.add_argument("-D", "--device", metavar="DEVICE",
                        type=str, default="kc705.lab.m-labs.hk",
                        help="address or domain corresponding to the development board")
    parser.add_argument("-s", "--serial", metavar="SERIAL",
                        type=str, default="/dev/ttyUSB_kc705",
                        help="TTY device corresponding to the development board")
    parser.add_argument("-t", "--target", metavar="TARGET",
                        type=str, default="kc705_dds",
                        help="Target to build, one of: "
                             "kc705_dds kc705_drtio_master kc705_drtio_satellite")
    parser.add_argument("-c", "--config", metavar="TARGET_CFG",
                        type=str, default="openocd-kc705.cfg",
                        help="OpenOCD configuration file corresponding to the development board")

    parser.add_argument("actions", metavar="ACTION",
                        type=str, default=[], nargs="+",
                        help="actions to perform, sequence of: "
                             "build reset boot boot+log connect hotswap clean")

    return parser
示例#5
0
def get_argparser():
    default_db_file = os.path.join(get_user_config_dir(), "artiq_browser.pyon")

    parser = argparse.ArgumentParser(description="ARTIQ Browser")
    parser.add_argument("--db-file",
                        default=default_db_file,
                        help="database file for local browser settings "
                        "(default: %(default)s)")
    parser.add_argument("--browse-root",
                        default="",
                        help="root path for directory tree "
                        "(default %(default)s)")
    parser.add_argument("-s",
                        "--server",
                        default="::1",
                        help="hostname or IP of the master to connect to "
                        "when uploading datasets")
    parser.add_argument("--port",
                        default=3251,
                        type=int,
                        help="TCP port to use to connect to the master")
    parser.add_argument("select",
                        metavar="SELECT",
                        nargs="?",
                        help="directory to browse or file to load")
    verbosity_args(parser)
    return parser
示例#6
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                                 "log download tool")
    verbosity_args(parser)
    parser.add_argument("--device-db", default="device_db.pyon",
                       help="device database file (default: '%(default)s')")
    return parser
示例#7
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ Dashboard")
    parser.add_argument("-s",
                        "--server",
                        default="::1",
                        help="hostname or IP of the master to connect to")
    parser.add_argument("--port-notify",
                        default=3250,
                        type=int,
                        help="TCP port to connect to for notifications")
    parser.add_argument("--port-control",
                        default=3251,
                        type=int,
                        help="TCP port to connect to for control")
    parser.add_argument("--port-broadcast",
                        default=1067,
                        type=int,
                        help="TCP port to connect to for broadcasts")
    parser.add_argument(
        "--db-file",
        default=None,
        help="database file for local GUI settings, "
        "by default in {} and dependant on master hostname".format(
            get_user_config_dir()))
    verbosity_args(parser)
    return parser
示例#8
0
def get_argparser():
    default_db_file = os.path.join(get_user_config_dir(),
                                   "artiq_dashboard.pyon")

    parser = argparse.ArgumentParser(description="ARTIQ Dashboard")
    parser.add_argument("-s",
                        "--server",
                        default="::1",
                        help="hostname or IP of the master to connect to")
    parser.add_argument("--port-notify",
                        default=3250,
                        type=int,
                        help="TCP port to connect to for notifications")
    parser.add_argument("--port-control",
                        default=3251,
                        type=int,
                        help="TCP port to connect to for control")
    parser.add_argument("--port-broadcast",
                        default=1067,
                        type=int,
                        help="TCP port to connect to for broadcasts")
    parser.add_argument("--db-file",
                        default=default_db_file,
                        help="database file for local GUI settings "
                        "(default: %(default)s)")
    verbosity_args(parser)
    return parser
示例#9
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                     "log tool")
    verbosity_args(parser)
    parser.add_argument("--device-db",
                        default="device_db.py",
                        help="device database file (default: '%(default)s')")

    subparsers = parser.add_subparsers(dest="action")

    p_clear = subparsers.add_parser("clear", help="clear log buffer")

    p_set_level = subparsers.add_parser(
        "set_level", help="set minimum level for messages to be logged")
    p_set_level.add_argument(
        "level",
        metavar="LEVEL",
        type=str,
        help="log level (one of: OFF ERROR WARN INFO DEBUG TRACE)")

    p_set_uart_level = subparsers.add_parser(
        "set_uart_level",
        help="set minimum level for messages to be logged "
        "to UART")
    p_set_uart_level.add_argument(
        "level",
        metavar="LEVEL",
        type=str,
        help="log level (one of: OFF ERROR WARN INFO DEBUG TRACE)")

    return parser
示例#10
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                     "log download tool")
    verbosity_args(parser)
    parser.add_argument("--device-db",
                        default="device_db.pyon",
                        help="device database file (default: '%(default)s')")
    return parser
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ controller for TTI QL355P (TP) single (triple) channel power supplies")
    simple_network_args(parser, 4006)
    parser.add_argument("-d", "--device", default=None,
                        help="serial device. See documentation for how to "
                             "specify a USB Serial Number.")
    verbosity_args(parser)
    return parser
示例#12
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ Browser")
    parser.add_argument(
        "--db-file", default="artiq_browser.pyon",
        help="database file for local browser settings")
    parser.add_argument("PATH", nargs="?", help="browse path or file")
    verbosity_args(parser)
    return parser
示例#13
0
def get_argparser():
    parser = argparse.ArgumentParser(description="""HUT2 controller.
        Use this controller for Anel HUT2 power distribution devices.""")
    parser.add_argument("-d",
                        "--device",
                        default=None,
                        help="Device host name or IP address.")
    simple_network_args(parser, 3271)
    verbosity_args(parser)
    return parser
示例#14
0
def get_argparser():
    parser = argparse.ArgumentParser(description="""PICam controller.

    Use this controller for PICam cameras (Princeton Instruments).""")
    simple_network_args(parser, 3258)
    parser.add_argument("--simulation",
                        action="store_true",
                        help="use demo camera")
    verbosity_args(parser)
    return parser
示例#15
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ controller for the Rohde&Schwarz SMA100A synthesiser")
    parser.add_argument("-i", "--ipaddr", default=None,
                        help="IP address of synth")
    parser.add_argument("--simulation", action="store_true",
                        help="Put the driver in simulation mode, even if "
                             "--ipaddress is used.")

    simple_network_args(parser, 4004)
    verbosity_args(parser)
    return parser
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ controller for the Thorlabs MDT693B or MDT694B 3 (1) channel open-loop piezo controller")
    simple_network_args(parser, 4002)
    parser.add_argument("-d", "--device", default=None,
                        help="serial device. See documentation for how to "
                             "specify a USB Serial Number.")
    parser.add_argument("--simulation", action="store_true",
                        help="Put the driver in simulation mode, even if "
                             "--device is used.")
    verbosity_args(parser)
    return parser
示例#17
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ controller for the Novatech 409B 4-channel DDS box")
    simple_network_args(parser, 3254)
    parser.add_argument("-d", "--device", default=None, help="serial port.")
    parser.add_argument(
        "--simulation",
        action="store_true",
        help="Put the driver in simulation mode, even if --device is used.")
    verbosity_args(parser)
    return parser
示例#18
0
def get_argparser():
    parser = argparse.ArgumentParser(description="NI PXI 6733 controller")
    simple_network_args(parser, 3256)
    parser.add_argument("-C", "--channels", default=None,
                        help="List of channels (e.g. Dev1/ao0, Dev1/ao1:3).")
    parser.add_argument("-c", "--clock", default="PFI5",
                        help="Input clock pin name (default: PFI5)")
    parser.add_argument("--simulation", action='store_true',
                        help="Put the driver in simulation mode, even if "
                             "--channels is used.")
    verbosity_args(parser)
    return parser
示例#19
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ controller for the Novatech 409B 4-channel DDS box")
    simple_network_args(parser, 3254)
    parser.add_argument(
        "-d", "--device", default=None,
        help="serial port.")
    parser.add_argument(
        "--simulation", action="store_true",
        help="Put the driver in simulation mode, even if --device is used.")
    verbosity_args(parser)
    return parser
def get_argparser():
    parser = argparse.ArgumentParser()
    parser.add_argument("-d", "--device", default=None,
                        help="serial device. See documentation for how to "
                             "specify a USB Serial Number.")
    parser.add_argument("--simulation", action="store_true",
                        help="Put the driver in simulation mode, even if "
                             "--device is used.")
    
    simple_network_args(parser, 4001)
    verbosity_args(parser)
    return parser
示例#21
0
def get_argparser():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description="ARTIQ flashing/deployment tool",
        epilog="""\
Valid actions:

    * gateware: write gateware bitstream to flash
    * bootloader: write bootloader to flash
    * storage: write storage image to flash
    * firmware: write firmware to flash
    * load: load gateware bitstream into device (volatile but fast)
    * start: trigger the target to (re)load its gateware bitstream from flash

Prerequisites:

    * Connect the board through its/a JTAG adapter.
    * Have OpenOCD installed and in your $PATH.
    * Have access to the JTAG adapter's devices. Udev rules from OpenOCD:
      'sudo cp openocd/contrib/99-openocd.rules /etc/udev/rules.d'
      and replug the device. Ensure you are member of the
      plugdev group: 'sudo adduser $USER plugdev' and re-login.
""")

    verbosity_args(parser)

    parser.add_argument("-n", "--dry-run",
                        default=False, action="store_true",
                        help="only show the openocd script that would be run")
    parser.add_argument("-H", "--host", metavar="HOSTNAME",
                        type=str, default=None,
                        help="SSH host where the development board is located")
    parser.add_argument("-J", "--jump",
                        type=str, default=None,
                        help="SSH host to jump through")
    parser.add_argument("-t", "--target", default="kc705",
                        help="target board, default: %(default)s, one of: "
                             "kc705 kasli sayma")
    parser.add_argument("-V", "--variant", default=None,
                        help="board variant")
    parser.add_argument("-I", "--preinit-command", default=[], action="append",
                        help="add a pre-initialization OpenOCD command. "
                             "Useful for selecting a development board "
                             "when several are connected.")
    parser.add_argument("-f", "--storage", help="write file to storage area")
    parser.add_argument("-d", "--dir", help="look for files in this directory")
    parser.add_argument("--srcbuild", help="look for bitstream, bootloader and firmware in this "
                                            "ARTIQ source build tree")
    parser.add_argument("action", metavar="ACTION", nargs="*",
                        default="gateware bootloader firmware start".split(),
                        help="actions to perform, default: %(default)s")
    return parser
示例#22
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                     "configuration tool")

    verbosity_args(parser)
    parser.add_argument("--device-db",
                        default="device_db.py",
                        help="device database file (default: '%(default)s')")

    subparsers = parser.add_subparsers(dest="action")
    subparsers.required = True

    p_read = subparsers.add_parser("read",
                                   help="read key from core device config")
    p_read.add_argument("key",
                        metavar="KEY",
                        type=str,
                        help="key to be read from core device config")

    p_write = subparsers.add_parser("write",
                                    help="write key-value records to core "
                                    "device config")
    p_write.add_argument("-s",
                         "--string",
                         nargs=2,
                         action="append",
                         default=[],
                         metavar=("KEY", "STRING"),
                         type=str,
                         help="key-value records to be written to core device "
                         "config")
    p_write.add_argument("-f",
                         "--file",
                         nargs=2,
                         action="append",
                         type=str,
                         default=[],
                         metavar=("KEY", "FILENAME"),
                         help="key and file whose content to be written to "
                         "core device config")

    p_delete = subparsers.add_parser("delete",
                                     help="delete key from core device config")
    p_delete.add_argument("key",
                          metavar="KEY",
                          nargs=argparse.REMAINDER,
                          default=[],
                          type=str,
                          help="key to be deleted from core device config")

    subparsers.add_parser("erase", help="fully erase core device config")
    return parser
def get_argparser():
    parser = argparse.ArgumentParser(
        description=
        "ARTIQ controller for TTI QL355P (TP) single (triple) channel power supplies"
    )
    simple_network_args(parser, 4006)
    parser.add_argument("-d",
                        "--device",
                        default=None,
                        help="serial device. See documentation for how to "
                        "specify a USB Serial Number.")
    verbosity_args(parser)
    return parser
示例#24
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device debug tool")

    verbosity_args(parser)
    parser.add_argument("--device-db", default="device_db.py",
                       help="device database file (default: '%(default)s')")

    subparsers = parser.add_subparsers(dest="action")

    p_allocator = subparsers.add_parser("allocator",
                                        help="show heap layout")

    return parser
示例#25
0
def get_argparser():
    default_db_file = os.path.join(get_user_config_dir(), "artiq_dashboard.pyon")

    parser = argparse.ArgumentParser(description="ARTIQ Dashboard")
    parser.add_argument("-s", "--server", default="::1", help="hostname or IP of the master to connect to")
    parser.add_argument("--port-notify", default=3250, type=int, help="TCP port to connect to for notifications")
    parser.add_argument("--port-control", default=3251, type=int, help="TCP port to connect to for control")
    parser.add_argument("--port-broadcast", default=1067, type=int, help="TCP port to connect to for broadcasts")
    parser.add_argument(
        "--db-file", default=default_db_file, help="database file for local GUI settings " "(default: %(default)s)"
    )
    verbosity_args(parser)
    return parser
def get_argparser():
    parser = argparse.ArgumentParser()
    parser.add_argument("--trapDacDevice", default=None,
                        help="Trap DC Dac serial device")
    parser.add_argument("--trapRFDevice", default=None,
                        help="Trap RF serial device")    
    parser.add_argument("--simulation", action="store_true",
                        help="Put the driver in simulation mode, even if "
                             "--device is used.")
    
    simple_network_args(parser, 4005)
    verbosity_args(parser)
    return parser
示例#27
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device " "RTIO analysis tool")

    verbosity_args(parser)
    parser.add_argument("--device-db", default="device_db.pyon", help="device database file (default: '%(default)s')")

    parser.add_argument(
        "-r", "--read-dump", type=str, default=None, help="read raw dump file instead of accessing device"
    )
    parser.add_argument("-p", "--print-decoded", default=False, action="store_true", help="print raw decoded messages")
    parser.add_argument("-w", "--write-vcd", type=str, default=None, help="format and write contents to VCD file")
    parser.add_argument("-d", "--write-dump", type=str, default=None, help="write raw dump file")
    return parser
示例#28
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                     "development tool")

    verbosity_args(parser)

    parser.add_argument("-H",
                        "--host",
                        metavar="HOST",
                        type=str,
                        default="lab.m-labs.hk",
                        help="SSH host where the development board is located")
    parser.add_argument(
        "-D",
        "--device",
        metavar="DEVICE",
        type=str,
        default="kc705.lab.m-labs.hk",
        help="address or domain corresponding to the development board")
    parser.add_argument(
        "-s",
        "--serial",
        metavar="SERIAL",
        type=str,
        default="/dev/ttyUSB_kc705",
        help="TTY device corresponding to the development board")
    parser.add_argument("-t",
                        "--target",
                        metavar="TARGET",
                        type=str,
                        default="kc705_dds",
                        help="Target to build, one of: "
                        "kc705_dds kc705_drtio_master kc705_drtio_satellite")
    parser.add_argument(
        "-c",
        "--config",
        metavar="TARGET_CFG",
        type=str,
        default="openocd-kc705.cfg",
        help="OpenOCD configuration file corresponding to the development board"
    )

    parser.add_argument("actions",
                        metavar="ACTION",
                        type=str,
                        default=[],
                        nargs="+",
                        help="actions to perform, sequence of: "
                        "build reset boot boot+log connect hotswap clean")

    return parser
示例#29
0
def get_argparser():
    parser = argparse.ArgumentParser(description="PDQ2 controller")
    simple_network_args(parser, 3252)
    parser.add_argument(
        "-d", "--device", default=None,
        help="serial port.")
    parser.add_argument(
        "--simulation", action="store_true",
        help="Put the driver in simulation mode, even if --device is used.")
    parser.add_argument(
        "--dump", default="pdq2_dump.bin",
        help="file to dump pdq2 data into, for later simulation")
    verbosity_args(parser)
    return parser
示例#30
0
def get_argparser():
    parser = argparse.ArgumentParser()
    parser.add_argument("-P", "--product", required=True,
                        help="type of the Thorlabs T-Cube device to control",
                        choices=["TDC001", "TPZ001"])
    parser.add_argument("-d", "--device", default=None,
                        help="serial device. See documentation for how to "
                             "specify a USB Serial Number.")
    parser.add_argument("--simulation", action="store_true",
                        help="Put the driver in simulation mode, even if "
                             "--device is used.")
    simple_network_args(parser, 3255)
    verbosity_args(parser)
    return parser
示例#31
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ core device development tool",
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)

    verbosity_args(parser)

    parser.add_argument("-t", "--target", metavar="TARGET",
                        type=str, default="kasli",
                        help="target to build, one of: "
                             "kc705 kasli sayma")
    parser.add_argument("-V", "--variant", metavar="VARIANT",
                        type=str, default=None,
                        help="variant to build, dependent on the target")
    parser.add_argument("-g", "--gateware",
                        default=False, action="store_true",
                        help="build/flash gateware, not just software")
    parser.add_argument("--args", metavar="ARGS",
                        type=shlex.split, default=[],
                        help="extra arguments for gateware/firmware build")

    parser.add_argument("-H", "--host",
                        type=str, default="lab.m-labs.hk",
                        help="SSH host where the development board is located")
    parser.add_argument("-J", "--jump",
                        type=str, default=None,
                        help="SSH host to jump through")
    parser.add_argument("-b", "--board",
                        type=str, default="{board_type}-1",
                        help="board to connect to on the development SSH host")
    parser.add_argument("-B", "--board-file",
                        type=str, default="/var/lib/artiq/boards/{board}",
                        help="the board file containing the openocd initialization commands; "
                             "it is also used as the lock file")
    parser.add_argument("-s", "--serial",
                        type=str, default="/dev/ttyUSB_{board}",
                        help="TTY device corresponding to the development board")
    parser.add_argument("-d", "--device",
                        type=str, default="{board}",
                        help="address or domain corresponding to the development board")
    parser.add_argument("-w", "--wait", action="store_true",
                        help="wait for the board to unlock instead of aborting the actions")

    parser.add_argument("actions", metavar="ACTION",
                        type=str, default=[], nargs="+",
                        help="actions to perform, sequence of: "
                             "build clean reset flash flash+log load connect hotswap")

    return parser
示例#32
0
def get_argparser():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description="ARTIQ flashing/deployment tool",
        epilog="""\
Valid actions:

    * gateware: write gateware bitstream to flash
    * bootloader: write bootloader to flash
    * storage: write storage image to flash
    * firmware: write firmware to flash
    * load: load gateware bitstream into device (volatile but fast)
    * start: trigger the target to (re)load its gateware bitstream from flash

Prerequisites:

    * Connect the board through its/a JTAG adapter.
    * Have OpenOCD installed and in your $PATH.
    * Have access to the JTAG adapter's devices. Udev rules from OpenOCD:
      'sudo cp openocd/contrib/99-openocd.rules /etc/udev/rules.d'
      and replug the device. Ensure you are member of the
      plugdev group: 'sudo adduser $USER plugdev' and re-login.
""")

    verbosity_args(parser)

    parser.add_argument("-n", "--dry-run",
                        default=False, action="store_true",
                        help="only show the openocd script that would be run")
    parser.add_argument("-H", "--host", metavar="HOSTNAME",
                        type=str, default=None,
                        help="SSH host where the development board is located")
    parser.add_argument("-t", "--target", default="kc705",
                        help="target board, default: %(default)s, one of: "
                             "kc705 kasli sayma")
    parser.add_argument("-V", "--variant", default=None,
                        help="board variant")
    parser.add_argument("-I", "--preinit-command", default=[], action="append",
                        help="add a pre-initialization OpenOCD command. "
                             "Useful for selecting a development board "
                             "when several are connected.")
    parser.add_argument("-f", "--storage", help="write file to storage area")
    parser.add_argument("-d", "--dir", help="look for files in this directory")
    parser.add_argument("--srcbuild", help="look for bitstream, bootloader and firmware in this "
                                            "ARTIQ source build tree")
    parser.add_argument("action", metavar="ACTION", nargs="*",
                        default="gateware bootloader firmware start".split(),
                        help="actions to perform, default: %(default)s")
    return parser
示例#33
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ master")
    parser.add_argument("--bind",
                        default="::1",
                        help="hostname or IP address to bind to")
    parser.add_argument("--port-notify",
                        default=3250,
                        type=int,
                        help="TCP port to listen to for notifications")
    parser.add_argument("--port-control",
                        default=3251,
                        type=int,
                        help="TCP port to listen to for control")
    verbosity_args(parser)
    return parser
示例#34
0
文件: aqctl_pdq.py 项目: m-labs/pdq2
def get_argparser():
    parser = argparse.ArgumentParser(description="""PDQ controller.

    Use this controller for PDQ stacks that are connected via USB.""")
    simple_network_args(parser, 3252)
    parser.add_argument("-d", "--device", default=None, help="serial port")
    parser.add_argument("--simulation", action="store_true",
                        help="do not open any device but dump data")
    parser.add_argument("--dump", default="pdq_dump.bin",
                        help="file to dump simulation data into")
    parser.add_argument("-r", "--reset", default=False,
                        action="store_true", help="reset device [%(default)s]")
    parser.add_argument("-b", "--boards", default=3, type=int,
                        help="number of boards [%(default)s]")
    verbosity_args(parser)
    return parser
示例#35
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="""Laser SDK client controller.
        Use this controller for a TOPTICA DLC Pro.

        This exposes a low-level client (i.e. without knowledge of the
        parameter tree structure and types) as an ARTIQ device controller.
        Note: The param_type arguments to the get() method need to be passed as
        strings, not as types.""")
    parser.add_argument("-d",
                        "--device",
                        default=None,
                        help="Device host name or IP address.")
    simple_network_args(parser, 3272)
    verbosity_args(parser)
    return parser
示例#36
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ GUI client")
    parser.add_argument(
        "-s", "--server", default="::1",
        help="hostname or IP of the master to connect to")
    parser.add_argument(
        "--port-notify", default=3250, type=int,
        help="TCP port to connect to for notifications")
    parser.add_argument(
        "--port-control", default=3251, type=int,
        help="TCP port to connect to for control")
    parser.add_argument(
        "--db-file", default="artiq_gui.pyon",
        help="database file for local GUI settings")
    verbosity_args(parser)
    return parser
示例#37
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ core device profiling tool")

    verbosity_args(parser)
    parser.add_argument("--device-db",
                        default="device_db.py",
                        help="device database file (default: '%(default)s')")

    subparsers = parser.add_subparsers(dest="action")
    subparsers.required = True

    p_start = subparsers.add_parser("start", help="start profiling")
    p_start.add_argument("--interval",
                         metavar="MICROS",
                         type=int,
                         default=2000,
                         help="sampling interval, in microseconds")
    p_start.add_argument("--hits-size",
                         metavar="ENTRIES",
                         type=int,
                         default=8192,
                         help="hit buffer size")
    p_start.add_argument(
        "--edges-size",
        metavar="ENTRIES",
        type=int,
        default=0,
        help="edge buffer size (edge profiling not implemented)")

    p_stop = subparsers.add_parser("stop", help="stop profiling")

    p_save = subparsers.add_parser("save", help="save profile")
    p_save.add_argument("output",
                        metavar="OUTPUT",
                        type=argparse.FileType("w"),
                        help="file to save profile to, in Callgrind format")
    p_save.add_argument("firmware",
                        metavar="FIRMWARE",
                        type=str,
                        help="path to firmware ELF file")
    p_save.add_argument("--no-compression",
                        default=False,
                        action='store_true',
                        help="disable profile compression")

    return parser
示例#38
0
def get_argparser():
    parser = argparse.ArgumentParser(description="NI PXI 6733 controller")
    simple_network_args(parser, 3256)
    parser.add_argument("-C",
                        "--channels",
                        default=None,
                        help="List of channels (e.g. Dev1/ao0, Dev1/ao1:3).")
    parser.add_argument("-c",
                        "--clock",
                        default="PFI5",
                        help="Input clock pin name (default: PFI5)")
    parser.add_argument("--simulation",
                        action='store_true',
                        help="Put the driver in simulation mode, even if "
                        "--channels is used.")
    verbosity_args(parser)
    return parser
示例#39
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ core device development tool",
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)

    verbosity_args(parser)

    parser.add_argument("-t", "--target", metavar="TARGET",
                        type=str, default="kc705",
                        help="target to build, one of: "
                             "kc705 kasli sayma")
    parser.add_argument("-V", "--variant", metavar="VARIANT",
                        type=str, default=None,
                        help="variant to build, dependent on the target")
    parser.add_argument("-g", "--build-gateware",
                        default=False, action="store_true",
                        help="build gateware, not just software")
    parser.add_argument("--args", metavar="ARGS",
                        type=shlex.split, default=[],
                        help="extra arguments for gateware/firmware build")

    parser.add_argument("-H", "--host",
                        type=str, default="lab.m-labs.hk",
                        help="SSH host where the development board is located")
    parser.add_argument("-b", "--board",
                        type=str, default="{board_type}-1",
                        help="board to connect to on the development SSH host")
    parser.add_argument("-B", "--board-file",
                        type=str, default="/var/lib/artiq/boards/{board}",
                        help="the board file containing the openocd initialization commands; "
                             "it is also used as the lock file")
    parser.add_argument("-s", "--serial",
                        type=str, default="/dev/ttyUSB_{board}",
                        help="TTY device corresponding to the development board")
    parser.add_argument("-d", "--device",
                        type=str, default="{board}.{host}",
                        help="address or domain corresponding to the development board")
    parser.add_argument("-w", "--wait", action="store_true",
                        help="wait for the board to unlock instead of aborting the actions")

    parser.add_argument("actions", metavar="ACTION",
                        type=str, default=[], nargs="+",
                        help="actions to perform, sequence of: "
                             "build clean reset flash flash+log connect hotswap")

    return parser
def get_argparser():
    parser = argparse.ArgumentParser(
        description=
        "ARTIQ controller for the Thorlabs MDT693B or MDT694B 3 (1) channel open-loop piezo controller"
    )
    simple_network_args(parser, 4002)
    parser.add_argument("-d",
                        "--device",
                        default=None,
                        help="serial device. See documentation for how to "
                        "specify a USB Serial Number.")
    parser.add_argument("--simulation",
                        action="store_true",
                        help="Put the driver in simulation mode, even if "
                        "--device is used.")
    verbosity_args(parser)
    return parser
示例#41
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ controller for the Lab Brick Digital Attenuator")
    parser.add_argument("-P", "--product", default="LDA-102",
                        help="product type (default: %(default)s)",
                        choices=["LDA-102", "LDA-602"])
    simple_network_args(parser, 3253)
    parser.add_argument("-d", "--device", default=None,
                        help="USB serial number of the device. "
                             "The serial number is written on a sticker under "
                             "the device, you should write for example "
                             "-d \"SN:03461\". You must prepend enough 0s for "
                             "it to be 5 digits. If omitted, the first "
                             "available device will be used.")
    parser.add_argument("--simulation", action="store_true",
                        help="Put the driver in simulation mode.")
    verbosity_args(parser)
    return parser
示例#42
0
def get_argparser():
    parser = argparse.ArgumentParser(description="""PDQ2 client.
        Evaluates times and voltages, interpolates and uploads
        them to the controller.""")
    parser.add_argument("-s",
                        "--server",
                        default="::1",
                        help="hostname or IP of the controller to connect to")
    parser.add_argument("--port",
                        default=3252,
                        type=int,
                        help="TCP port to use to connect to the controller")
    parser.add_argument("-c",
                        "--channel",
                        default=0,
                        type=int,
                        help="channel: 3*board_num+dac_num [%(default)s]")
    parser.add_argument("-f",
                        "--frame",
                        default=0,
                        type=int,
                        help="frame [%(default)s]")
    parser.add_argument("-t",
                        "--times",
                        default="np.arange(5)*1e-6",
                        help="sample times (s) [%(default)s]")
    parser.add_argument("-u",
                        "--voltages",
                        default="(1-np.cos(t/t[-1]*2*np.pi))/2",
                        help="sample voltages (V) [%(default)s]")
    parser.add_argument("-o",
                        "--order",
                        default=3,
                        type=int,
                        help="interpolation (0: const, 1: lin, 2: quad,"
                        " 3: cubic) [%(default)s]")
    parser.add_argument("-e",
                        "--free",
                        default=False,
                        action="store_true",
                        help="software trigger [%(default)s]")
    verbosity_args(parser)
    return parser
示例#43
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ GUI client")
    parser.add_argument("-s",
                        "--server",
                        default="::1",
                        help="hostname or IP of the master to connect to")
    parser.add_argument("--port-notify",
                        default=3250,
                        type=int,
                        help="TCP port to connect to for notifications")
    parser.add_argument("--port-control",
                        default=3251,
                        type=int,
                        help="TCP port to connect to for control")
    parser.add_argument("--db-file",
                        default="artiq_gui.pyon",
                        help="database file for local GUI settings")
    verbosity_args(parser)
    return parser
示例#44
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device boot tool")

    verbosity_args(parser)
    parser.add_argument("--device-db", default="device_db.py",
                       help="device database file (default: '%(default)s')")

    subparsers = parser.add_subparsers(dest="action")

    p_reboot = subparsers.add_parser("reboot",
                                     help="reboot the currently running firmware")

    p_hotswap = subparsers.add_parser("hotswap",
                                      help="load the specified firmware in RAM")

    p_hotswap.add_argument("image", metavar="IMAGE", type=argparse.FileType("rb"),
                           help="runtime image to be executed")

    return parser
示例#45
0
def get_argparser():
    parser = argparse.ArgumentParser()
    parser.add_argument("-P",
                        "--product",
                        required=True,
                        help="type of the Thorlabs T-Cube device to control",
                        choices=["tdc001", "tpz001"])
    parser.add_argument("-d",
                        "--device",
                        default=None,
                        help="serial device. See documentation for how to "
                        "specify a USB Serial Number.")
    parser.add_argument("--simulation",
                        action="store_true",
                        help="Put the driver in simulation mode, even if "
                        "--device is used.")
    simple_network_args(parser, 3255)
    verbosity_args(parser)
    return parser
示例#46
0
def get_argparser():
    parser = argparse.ArgumentParser()
    parser.add_argument('-d',
                        '--device',
                        default="LDA-102",
                        choices=["LDA-102", "LDA-602", "sim"])
    parser.add_argument('--bind',
                        default="::1",
                        help="hostname or IP address to bind to")
    parser.add_argument('-p',
                        '--port',
                        default=3253,
                        type=int,
                        help="TCP port to listen to")
    parser.add_argument('-s',
                        '--serial',
                        default=None,
                        help="USB serial number of the device")
    verbosity_args(parser)
    return parser
示例#47
0
def get_argparser():
    default_db_file = os.path.join(get_user_config_dir(), "artiq_browser.pyon")

    parser = argparse.ArgumentParser(description="ARTIQ Browser")
    parser.add_argument("--db-file", default=default_db_file,
                        help="database file for local browser settings "
                        "(default: %(default)s)")
    parser.add_argument("--browse-root", default="",
                        help="root path for directory tree "
                        "(default %(default)s)")
    parser.add_argument(
        "-s", "--server", default="::1",
        help="hostname or IP of the master to connect to "
             "when uploading datasets")
    parser.add_argument(
        "--port", default=3251, type=int,
        help="TCP port to use to connect to the master")
    parser.add_argument("select", metavar="SELECT", nargs="?",
                        help="directory to browse or file to load")
    verbosity_args(parser)
    return parser
示例#48
0
def get_argparser():
    parser = argparse.ArgumentParser(description="PDQ2 controller")
    parser.add_argument("--bind",
                        default="::1",
                        help="hostname or IP address to bind to")
    parser.add_argument("-p",
                        "--port",
                        default=3252,
                        type=int,
                        help="TCP port to listen to")
    parser.add_argument("-s",
                        "--serial",
                        default=None,
                        help="device (FT245R) serial string [first]")
    parser.add_argument("-d",
                        "--debug",
                        default=False,
                        action="store_true",
                        help="debug communications")
    verbosity_args(parser)
    return parser
示例#49
0
def get_argparser():
    if os.name == "nt":
        default_db_file = os.path.expanduser("~\\artiq_browser.pyon")
    else:
        default_db_file = os.path.expanduser("~/.artiq_browser.pyon")

    parser = argparse.ArgumentParser(description="ARTIQ Browser")
    parser.add_argument("--db-file",
                        default=default_db_file,
                        help="database file for local browser settings "
                        "(default: %(default)s)")
    parser.add_argument("--browse-root",
                        default="",
                        help="root path for directory tree "
                        "(default %(default)s)")
    parser.add_argument("select",
                        metavar="SELECT",
                        nargs="?",
                        help="directory to browse or file to load")
    verbosity_args(parser)
    return parser
示例#50
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ Dashboard")
    parser.add_argument(
        "-s", "--server", default="::1",
        help="hostname or IP of the master to connect to")
    parser.add_argument(
        "--port-notify", default=3250, type=int,
        help="TCP port to connect to for notifications")
    parser.add_argument(
        "--port-control", default=3251, type=int,
        help="TCP port to connect to for control")
    parser.add_argument(
        "--port-broadcast", default=1067, type=int,
        help="TCP port to connect to for broadcasts")
    parser.add_argument(
        "--db-file", default=None,
        help="database file for local GUI settings, "
             "by default in {} and dependant on master hostname".format(
                                                        get_user_config_dir()))
    verbosity_args(parser)
    return parser
示例#51
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                                 "packet capture tool")

    verbosity_args(parser)

    parser.add_argument("-H", "--host", metavar="HOST",
                        type=str, default="lab.m-labs.hk",
                        help="SSH host where the development board is located")
    parser.add_argument("-D", "--device", metavar="DEVICE",
                        type=str, default="kc705.lab.m-labs.hk",
                        help="address or domain corresponding to the development board")
    parser.add_argument("-f", "--file", metavar="PCAP_FILE",
                        type=str, default="coredevice.pcap",
                        help="Location to retrieve the pcap file into")

    parser.add_argument("command", metavar="COMMAND",
                        type=str, default=[], nargs=argparse.REMAINDER,
                        help="command to execute while capturing")

    return parser
示例#52
0
def get_argparser():
    parser = argparse.ArgumentParser(description="""PDQ2 client.
        Evaluates times and voltages, interpolates and uploads
        them to the controller.""")
    parser.add_argument("-s", "--server", default="::1",
                        help="hostname or IP of the controller to connect to")
    parser.add_argument("--port", default=3252, type=int,
                        help="TCP port to use to connect to the controller")
    parser.add_argument("-c", "--channel", default=0, type=int,
                        help="channel: 3*board_num+dac_num [%(default)s]")
    parser.add_argument("-f", "--frame", default=0, type=int,
                        help="frame [%(default)s]")
    parser.add_argument("-t", "--times", default="np.arange(5)*1e-6",
                        help="sample times (s) [%(default)s]")
    parser.add_argument("-u", "--voltages",
                        default="(1-np.cos(t/t[-1]*2*np.pi))/2",
                        help="sample voltages (V) [%(default)s]")
    parser.add_argument("-a", "--aux", default=False, action="store_true",
                        help="axiliary digital output [%(default)%s]")
    parser.add_argument("-o", "--order", default=3, type=int,
                        help="interpolation (0: const, 1: lin, 2: quad,"
                        " 3: cubic) [%(default)s]")
    parser.add_argument("-p", "--plot", help="plot to file [%(default)s]")
    parser.add_argument("-r", "--reset", default=False,
                        action="store_true", help="do reset before")
    parser.add_argument("-m", "--dcm", default=False, action="store_true",
                        help="100MHz clock [%(default)s]")
    parser.add_argument("-n", "--disarm", default=False, action="store_true",
                        help="disarm group [%(default)s]")
    parser.add_argument("-e", "--free", default=False, action="store_true",
                        help="software trigger [%(default)s]")
    parser.add_argument("-x", "--demo", default=False, action="store_true",
                        help="demo mode: pulse and chirp, 1V*ch+0.1V*frame"
                        " [%(default)s]")
    parser.add_argument("-b", "--bit", default=False,
                        action="store_true", help="do bit test")
    verbosity_args(parser)
    return parser
示例#53
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ data to InfluxDB bridge")
    group = parser.add_argument_group("master")
    group.add_argument(
        "--server-master", default="::1",
        help="hostname or IP of the master to connect to")
    group.add_argument(
        "--port-master", default=3250, type=int,
        help="TCP port to use to connect to the master")
    group.add_argument(
        "--retry-master", default=5.0, type=float,
        help="retry timer for reconnecting to master")
    group = parser.add_argument_group("database")
    group.add_argument(
        "--baseurl-db", default="http://localhost:8086",
        help="base URL to access InfluxDB (default: %(default)s)")
    group.add_argument(
        "--user-db", default="", help="InfluxDB username")
    group.add_argument(
        "--password-db", default="", help="InfluxDB password")
    group.add_argument(
        "--database", default="db", help="database name to use")
    group.add_argument(
        "--table", default="lab", help="table name to use")
    group = parser.add_argument_group("filter")
    group.add_argument(
        "--bind", default="::1",
        help="hostname or IP address to bind to")
    group.add_argument(
        "--bind-port", default=3248, type=int,
        help="TCP port to listen to for control (default: %(default)d)")
    group.add_argument(
        "--pattern-file", default="influxdb_patterns.pyon",
        help="file to save the patterns in (default: %(default)s)")
    verbosity_args(parser)
    return parser
示例#54
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                                 "configuration tool")

    verbosity_args(parser)
    parser.add_argument("--device-db", default="device_db.pyon",
                       help="device database file (default: '%(default)s')")

    subparsers = parser.add_subparsers(dest="action")
    subparsers.required = True

    p_read = subparsers.add_parser("read",
                                   help="read key from core device config")
    p_read.add_argument("key", type=str,
                        help="key to be read from core device config")

    p_write = subparsers.add_parser("write",
                                    help="write key-value records to core "
                                         "device config")
    p_write.add_argument("-s", "--string", nargs=2, action="append",
                         default=[], metavar=("KEY", "STRING"), type=str,
                         help="key-value records to be written to core device "
                              "config")
    p_write.add_argument("-f", "--file", nargs=2, action="append",
                         type=str, default=[],
                         metavar=("KEY", "FILENAME"),
                         help="key and file whose content to be written to "
                              "core device config")

    p_delete = subparsers.add_parser("delete",
                                     help="delete key from core device config")
    p_delete.add_argument("key", nargs=argparse.REMAINDER,
                          default=[], type=str,
                          help="key to be deleted from core device config")

    subparsers.add_parser("erase", help="fully erase core device config")
    return parser
示例#55
0
def get_argparser():
    parser = argparse.ArgumentParser(description="""PDQ2 client.
        Evaluates times and voltages, interpolates and uploads
        them to the controller.""")
    parser.add_argument("-s", "--server", default="::1",
                        help="hostname or IP of the controller to connect to")
    parser.add_argument("--port", default=3252, type=int,
                        help="TCP port to use to connect to the controller")
    parser.add_argument("-c", "--channel", default=0, type=int,
                        help="channel: 3*board_num+dac_num [%(default)s]")
    parser.add_argument("-f", "--frame", default=0, type=int,
                        help="frame [%(default)s]")
    parser.add_argument("-t", "--times", default="np.arange(5)*1e-6",
                        help="sample times (s) [%(default)s]")
    parser.add_argument("-u", "--voltages",
                        default="(1-np.cos(t/t[-1]*2*np.pi))/2",
                        help="sample voltages (V) [%(default)s]")
    parser.add_argument("-o", "--order", default=3, type=int,
                        help="interpolation (0: const, 1: lin, 2: quad,"
                        " 3: cubic) [%(default)s]")
    parser.add_argument("-e", "--free", default=False, action="store_true",
                        help="software trigger [%(default)s]")
    verbosity_args(parser)
    return parser
示例#56
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ core device "
                                                 "log tool")
    verbosity_args(parser)
    parser.add_argument("--device-db", default="device_db.py",
                       help="device database file (default: '%(default)s')")

    subparsers = parser.add_subparsers(dest="action")

    p_clear = subparsers.add_parser("clear",
                                    help="clear log buffer")

    p_set_level = subparsers.add_parser("set_level",
                                        help="set minimum level for messages to be logged")
    p_set_level.add_argument("level", metavar="LEVEL", type=str,
                             help="log level (one of: OFF ERROR WARN INFO DEBUG TRACE)")

    p_set_uart_level = subparsers.add_parser("set_uart_level",
                                             help="set minimum level for messages to be logged "
                                                  "to UART")
    p_set_uart_level.add_argument("level", metavar="LEVEL", type=str,
                                  help="log level (one of: OFF ERROR WARN INFO DEBUG TRACE)")

    return parser