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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)])
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
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
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
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