コード例 #1
0
ファイル: wand_server.py プロジェクト: bnichol/wand
def get_argparser():
    parser = argparse.ArgumentParser(description="WAnD server")

    simple_network_args(parser, [
        ("notify", "notifications", 3250),
        ("control", "control", 3251),
    ])
    verbosity_args(parser)
    parser.add_argument("-n",
                        "--name",
                        default="test",
                        help="server name, used to locate configuration file")
    parser.add_argument("--simulation",
                        action='store_true',
                        help="run in simulation mode")
    parser.add_argument("--fast-mode-timeout",
                        default=1800,
                        type=int,
                        help="fast mode timeout (s) (default: '%(default)s')")
    parser.add_argument("-b",
                        "--backup-dir",
                        default="",
                        type=str,
                        help="directory containing backup copies of "
                        "configuration files")
    return parser
コード例 #2
0
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ controller manager")

    common_args.verbosity_args(parser)

    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-logging",
                        default=1066,
                        type=int,
                        help="TCP port to connect to for logging")
    parser.add_argument("--retry-master",
                        default=5.0,
                        type=float,
                        help="retry timer for reconnecting to master")
    parser.add_argument("--host-filter",
                        default=None,
                        help="IP address of controllers to launch "
                        "(local address of master connection by default)")
    common_args.simple_network_args(parser, [("control", "control", 3249)])
    return parser
コード例 #3
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ schedule InfluxDB logger bridge",
        epilog="Listens to schedule updates on the master experiment schedule "
        "and submits schedule additions and removals to the InfluxDB "
        "database. Other schedule changes, such as transitions between "
        "pipeline states (prepare, prepare_done, running, etc.) are "
        "ignored. Typical high cardinality metadata is logged as "
        "fields while low cardinality data is logged as tags. "
        "The initially obtained complete state is logged as a 'clear' "
        "entry followed by the addition of all entries.")
    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="schedule", help="table name to use")
    common_args.simple_network_args(parser, [("control", "control", 3275)])
    common_args.verbosity_args(parser)
    return parser
コード例 #4
0
ファイル: aqctl_ptb_temp.py プロジェクト: quartiq/ptb-drivers
def get_argparser():
    parser = argparse.ArgumentParser(
        description="""PTB temperature sensor controller.""")
    parser.add_argument(
        "-d", "--device", default=None,
        help="Device host name or IP address.")
    simple_network_args(parser, 3266)
    verbosity_args(parser)
    return parser
コード例 #5
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="""PTB voltage/current source controller.""")
    parser.add_argument(
        "-d", "--device", default=None,
        help="Device host name or IP address.")
    simple_network_args(parser, 3259)
    verbosity_args(parser)
    return parser
コード例 #6
0
ファイル: aqctl_oors.py プロジェクト: quartiq/oors
def get_argparser():
    parser = argparse.ArgumentParser()
    parser.add_argument("--uri", help="target host uri (default: '%(default)s')",
                        default="wss://ms1/core/")
    parser.add_argument("--user", default="guest")
    parser.add_argument("--password", default="")

    simple_network_args(parser, 3276)
    verbosity_args(parser)
    return parser
コード例 #7
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ controller for core device logs")
    common_args.verbosity_args(parser)
    common_args.simple_network_args(parser, 1068)
    parser.add_argument("--simulation", action="store_true",
                        help="Simulation - does not connect to device")
    parser.add_argument("core_addr", metavar="CORE_ADDR",
                        help="hostname or IP address of the core device")
    return parser
コード例 #8
0
ファイル: aqctl_hut2.py プロジェクト: quartiq/hut2
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.")
    common_args.simple_network_args(parser, 3271)
    common_args.verbosity_args(parser)
    return parser
コード例 #9
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ moninj proxy")
    common_args.verbosity_args(parser)
    common_args.simple_network_args(parser, [
        ("proxy", "proxying", 1383),
        ("control", "control", 1384)
    ])
    parser.add_argument("core_addr", metavar="CORE_ADDR",
                        help="hostname or IP address of the core device")
    return parser
コード例 #10
0
ファイル: aqctl_DP700.py プロジェクト: OregonIons/DP700
def get_argparser():
    parser = argparse.ArgumentParser(description="""Rigol DP700 controller.

    Use this controller to drive DP700 series power supplies.""")
    common_args.simple_network_args(parser, 3251)
    parser.add_argument(
        "-s",
        "--serialPort",
        default=None,
        help="Serial port. See documentation for how to specify port.")
    common_args.verbosity_args(parser)
    return parser
コード例 #11
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ controller for the Novatech 409B 4-channel DDS box")
    common_args.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.")
    common_args.verbosity_args(parser)
    return parser
コード例 #12
0
def get_argparser():
    parser = argparse.ArgumentParser()
    parser.add_argument("--tcp",
                        help="use TCP device, else use first "
                        "USB device")
    parser.add_argument("--simulation",
                        action="store_true",
                        help="simulation device")

    common_args.simple_network_args(parser, 3257)
    common_args.verbosity_args(parser)
    return parser
コード例 #13
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="ARTIQ data to InfluxDB bridge",
        epilog="Pattern matching works as follows. "
        "The default action on a key (dataset name) is to log it. "
        "Then the patterns are traversed in order and glob-matched "
        "with the key. "
        "Optional + and - pattern prefixes specify to either ignore or "
        "log keys matching the rest of the pattern. "
        "Default (in the absence of prefix) is to ignore. Last matched "
        "pattern takes precedence.")
    master_group = parser.add_argument_group("master")
    master_group.add_argument(
        "--server-master",
        default="::1",
        help="hostname or IP of the master to connect to")
    master_group.add_argument(
        "--port-master",
        default=3250,
        type=int,
        help="TCP port to use to connect to the master (default: %(default)s")
    master_group.add_argument("--retry-master",
                              default=5.0,
                              type=float,
                              help="retry timer for reconnecting to master")
    database_group = parser.add_argument_group("database")
    database_group.add_argument(
        "--baseurl-db",
        default="http://localhost:8086",
        help="base URL to access InfluxDB (default: %(default)s)")
    database_group.add_argument("--user-db",
                                default="",
                                help="InfluxDB username")
    database_group.add_argument("--password-db",
                                default="",
                                help="InfluxDB password")
    database_group.add_argument("--database",
                                default="db",
                                help="database name to use")
    database_group.add_argument("--table",
                                default="lab",
                                help="table name to use")
    filter_group = parser.add_argument_group("filter")
    filter_group.add_argument(
        "--pattern-file",
        default="influxdb_patterns.cfg",
        help="file to load the patterns from (default: %(default)s). "
        "If the file is not found, no patterns are loaded "
        "(everything is logged).")
    common_args.simple_network_args(parser, [("control", "control", 3248)])
    common_args.verbosity_args(parser)
    return parser
コード例 #14
0
def get_argparser():
    parser = argparse.ArgumentParser()
    parser.add_argument("-P", "--product", required=True,
                        help="type of the Thorlabs T-Cube device to control: "
                             "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.")
    common_args.simple_network_args(parser, 3255)
    common_args.verbosity_args(parser)
    return parser
コード例 #15
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="""HighFinesse Wavemeter controller""")
    parser.add_argument("-d",
                        "--device",
                        default=None,
                        help="Device host name or IP address")
    parser.add_argument("-o",
                        "--device-port",
                        default=1234,
                        help="Device TCP port number")
    common_args.simple_network_args(parser, 3273)
    common_args.verbosity_args(parser)
    return parser
コード例 #16
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.")
    common_args.simple_network_args(parser, 3272)
    common_args.verbosity_args(parser)
    return parser
コード例 #17
0
ファイル: server.py プロジェクト: QUEST-EQM/wavemeter
def get_argparser():
    parser = ArgumentParser(description="Wavemeter server")
    group = parser.add_argument_group("data readout")
    group.add_argument(
        "-c",
        "--channel",
        nargs="*",
        default=[i for i in range(1, 9)],
        help="list of channels to read out (default: 1 2 3 4 5 6 7 8)")
    group.add_argument("--nchannels",
                       default=8,
                       help="number of hardware channels (default: 8)")
    parser.set_defaults(T=False, p=False)
    group.add_argument(
        "-T",
        dest="T",
        action="store_true",
        help="enable temperature readout (available as channel \"T\")")
    group.add_argument(
        "-p",
        dest="p",
        action="store_true",
        help="enable pressure readout (available as channel \"p\")")
    group.add_argument(
        "-skip-thr",
        default=10.,
        help="values are ignored if they differ by more than this (in nm) from"
        " the previous reading of the same channel (this discards the"
        " occasional values from a wrong channel) (default: 10.0)")
    group = parser.add_argument_group("startup options")
    group.add_argument(
        "--callback",
        default=True,
        help="install the wavemeter software callback at startup"
        " (default: True)")
    group.add_argument(
        "--start-pub",
        default=True,
        help="start the publisher (for new values and status updates)"
        " at startup (default: True)")
    simple_network_args(
        parser,
        [("rpc", "RPC", 3280),
         ("pub", "publisher (for new values and status updates)", 3281)])
    verbosity_args(parser)
    return parser
コード例 #18
0
ファイル: artiq_master.py プロジェクト: lriesebos/artiq
def get_argparser():
    parser = argparse.ArgumentParser(description="ARTIQ master")
    parser.add_argument("--version",
                        action="version",
                        version="ARTIQ v{}".format(artiq_version),
                        help="print the ARTIQ version number")

    common_args.simple_network_args(parser,
                                    [("notify", "notifications", 3250),
                                     ("control", "control", 3251),
                                     ("logging", "remote logging", 1066),
                                     ("broadcast", "broadcasts", 1067)])

    group = parser.add_argument_group("databases")
    group.add_argument("--device-db",
                       default="device_db.py",
                       help="device database file (default: '%(default)s')")
    group.add_argument("--dataset-db",
                       default="dataset_db.pyon",
                       help="dataset file (default: '%(default)s')")

    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')")
    group.add_argument(
        "--experiment-subdir",
        default="",
        help=("path to the experiment folder from the repository root "
              "(default: '%(default)s')"))

    log_args(parser)

    parser.add_argument("--name",
                        help="friendly name, displayed in dashboards "
                        "to identify master instead of server address")

    return parser
コード例 #19
0
ファイル: client.py プロジェクト: QUEST-EQM/wavemeter
def wavemeter_pi_client_args(parser):
    group = parser.add_argument_group("wavemeter server")
    group.add_argument("-s",
                       "--server",
                       default="::1",
                       help="wavemeter server address")
    group.add_argument("-p",
                       "--port",
                       default=3281,
                       help="wavemeter server publisher port (default: 3281)")

    group = parser.add_argument_group("lock parameters")
    group.add_argument("--setpoint", default=0., help="lock setpoint in nm")
    group.add_argument("--cp", default=0., help="proportional gain")
    group.add_argument("--ci", default=0., help="integrator gain")
    group.add_argument("--integrator_timeout",
                       type=int,
                       default=10000.,
                       help="don't update integrator when data"
                       " is older than this value (in ms,"
                       " default: 10000)")
    group.add_argument("--integrator_cutoff",
                       default=0.,
                       help="don't update integrator when value is within this"
                       " distance of the setpoint")
    group.add_argument(
        "--output_sensitivity",
        default=0.,
        help="sensitivity to the output parameter in nm / <output"
        " unit> (default: 0., used for feed forward on"
        " setpoint changes, e.g. in scans)")
    group.add_argument("--output_offset",
                       default=0.,
                       help="offset added to the output value (default: 0.)")
    parser.set_defaults(startup_locked=False)
    group.add_argument("--startup-locked",
                       dest="startup_locked",
                       action="store_true",
                       help="enable lock immediately")

    simple_network_args(
        parser,
        [("rpc", "RPC", 3284),
         ("pub", "publisher (for wavelength and status updates)", 3282)])
コード例 #20
0
def get_argparser():
    parser = argparse.ArgumentParser(description="""Thorlabs Camera controller.

    Use this controller to drive Thorlabs Scientific Imaging cameras.""")
    common_args.simple_network_args(parser, 3252)
    parser.add_argument(
        "-d",
        "--device",
        default=None,
        help=
        "Camera serial number. Connects to first available camera if not used."
    )
    parser.add_argument(
        "-e",
        "--exposure",
        default=None,
        help="Exposure time in seconds. Defaults to minimum if not used.")
    common_args.verbosity_args(parser)
    return parser
コード例 #21
0
        def get_argparser():
            parser = argparse.ArgumentParser(
                description="Generic controller for {}".format(name))
            group = parser.add_argument_group(name)
            group.add_argument(
                "--id",
                required=True,
                type=str,
                help=
                "VISA id to connect to. This Controller will obtain an exclusive lock.",
            )
            group.add_argument(
                "--simulation",
                action="store_true",
                help=
                "Run this controller in simulation mode. ID will be ignored but is still required.",
            )
            common_args.simple_network_args(parser, default_port)
            common_args.verbosity_args(parser)

            return parser
コード例 #22
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"])
    common_args.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.")
    common_args.verbosity_args(parser)
    return parser
コード例 #23
0
def get_argparser():
    parser = argparse.ArgumentParser(
        description="Dummy controller for testing purposes")
    common_args.simple_network_args(parser, 1068)
    common_args.verbosity_args(parser)
    return parser