def main(): args = get_argparser().parse_args() init_logger(args) port = None if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) if args.simulation: port = open(args.dump, "wb") dev = Pdq2(url=args.device, dev=port, num_boards=args.boards) try: if args.reset: dev.write(b"\x00\x00") # flush any escape dev.cmd("RESET", True) dev.flush() time.sleep(.1) dev.cmd("ARM", True) dev.park() simple_server_loop({"pdq2": dev}, bind_address_from_args(args), args.port, description="device=" + str(args.device)) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) incoherent_channels = [False]*4 if args.disable_coherence: for arg in args.disable_coherence: ch = int(arg) if ch < 0 or ch > 3: raise ValueError("channel must be in 0-3") incoherent_channels[ch] = True if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) if args.simulation: dev = CoherentDdsSim() else: dev = CoherentDds(addr=args.device, clockFreq=args.clockfreq, internal_clock=args.internal_clock, incoherent_channels=incoherent_channels) simple_server_loop({"coherentDds": dev}, args.bind, args.port)
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) product = args.product.lower() if args.simulation: if product == "tdc001": dev = TdcSim() elif product == "tpz001": dev = TpzSim() else: print("Invalid product string (-P/--product), " "choose from tdc001 or tpz001") sys.exit(1) else: if product == "tdc001": dev = Tdc(args.device) elif product == "tpz001": dev = Tpz(args.device) else: print("Invalid product string (-P/--product), " "choose from tdc001 or tpz001") sys.exit(1) try: simple_server_loop({product: dev}, bind_address_from_args(args), args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) port = None if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) if args.simulation: port = open(args.dump, "wb") dev = PDQ(url=args.device, dev=port, num_boards=args.boards) try: if args.reset: dev.write(b"") # flush etx dev.set_config(reset=True) time.sleep(.1) dev.set_crc(0) dev.checksum = 0 simple_server_loop({"pdq": dev}, bind_address_from_args(args), args.port, description="device=" + str(args.device)) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) dev = Ddr05Driver(serial=args.serial) simple_server_loop({"ddr05": dev}, args.bind, args.port)
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) if not args.simulation: dev = PiezoController(args.device) else: dev = SimulationPiezoController() # Q: Why not use try/finally for port closure? # A: We don't want to try to close the serial if sys.exit() is called, # and sys.exit() isn't caught by Exception try: simple_server_loop({"piezoController": dev}, args.bind, args.port) except Exception: dev.close() else: dev.close() finally: dev.save_setpoints()
def main(): args = get_argparser().parse_args() init_logger(args) if args.device == "sim": lda = Ldasim() else: lda = Lda(args.serial, args.device) simple_server_loop({"lda": lda}, args.bind, args.port)
def simple_rexec_server_loop(target_name, target, host, port, description=None): initial_namespace = {"controller_driver": target} initial_namespace["controller_initial_namespace"] = initial_namespace targets = { target_name: target, target_name + "_rexec": lambda: RemoteExecServer(initial_namespace) } simple_server_loop(targets, host, port, description)
def main(): args = get_argparser().parse_args() init_logger(args) if args.simulation: lda = Ldasim() else: lda = Lda(args.device, args.product) try: simple_server_loop({"lda": lda}, args.bind, args.port) finally: lda.close()
def run_server(dev, args): if args.broadcast_images: socket = create_zmq_server(args.zmq_bind, args.zmq_port) dev.register_callback(lambda im: socket.send_pyobj(im)) sn = dev.get_serial_no() try: simple_server_loop({"thorcam sn:{}".format(sn): dev}, args.bind, args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) delay_gen = None if not args.simulation: delay_gen = Driver().init_single_pci_card() delay_gen.set_clock_source(ClockSource.external_80_mhz) timing = PulsePickerTiming(delay_gen, args.allow_long_pulses) simple_server_loop({"timing": timing}, args.bind, args.port)
def main(): args = get_argparser().parse_args() init_logger(args) if args.trapDacDevice is None or args.trapRFDevice is None: print("You need to specify --trapDacDevice and --trapRFDevice" "arguments. Use --help for more information.") sys.exit(1) dev = TrapDac(addr_dc_iface=args.trapDacDevice, addr_rf_iface=args.trapRFDevice) simple_server_loop({"trapDac": dev}, args.bind, args.port)
def simple_rexec_server_loop(target_name, target, host, port, description=None): """Runs a server with remote execution support, until an exception is raised (e.g. the user hits Ctrl-C) or termination is requested by a client. """ initial_namespace = {"controller_driver": target} initial_namespace["controller_initial_namespace"] = initial_namespace targets = { target_name: target, target_name + "_rexec": lambda: RemoteExecServer(initial_namespace) } simple_server_loop(targets, host, port, description)
def main(): args = get_argparser().parse_args() init_logger(args) if args.simulation: lda = Ldasim() else: lda = Lda(args.device, args.product) try: simple_server_loop({"lda": lda}, bind_address_from_args(args), args.port) finally: lda.close()
def main(): args = get_argparser().parse_args() init_logger(args) dev = Pdq2(serial=args.serial) try: simple_server_loop({"pdq2": dev}, args.bind, args.port, id_parameters="serial=" + str(args.serial)) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) dev = Novatech409B(args.device if not args.simulation else None) try: simple_server_loop({"novatech409b": dev}, bind_address_from_args(args), args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) dev = Novatech409B(args.device if not args.simulation else None) try: simple_server_loop({"novatech409b": dev}, args.bind, args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() if args.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.WARNING) dev = Pdq2(serial=args.serial) try: simple_server_loop({"pdq2": dev}, args.bind, args.port, id_parameters="serial=" + str(args.serial)) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) if args.simulation: dev = CoherentDdsSim() else: dev = CoherentDds(addr=args.device, clockFreq=args.clockfreq) simple_server_loop({"coherentDds": dev}, args.bind, args.port)
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and (args.trapDacDevice is None or args.trapRFDevice is None): print("You need to specify either --simulation or --trapDacDevice and --trapRFDevice" "arguments. Use --help for more information.") sys.exit(1) if args.simulation: dev = TrapDacSim() else: dev = TrapDac(addrDCInterface=args.trapDacDevice, addrRFInterface=args.trapRFDevice) simple_server_loop({"trapDac": dev}, args.bind, args.port)
def main(): args = get_argparser().parse_args() init_logger(args) if args.ipaddr is None: print("You need to specify a device IP address (-i/--ipaddr) " "argument. Use --help for more information.") sys.exit(1) dev = N8241A(addr=args.ipaddr) try: simple_server_loop({"N8241A": dev}, args.bind, args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if args.ipaddr is None: print("You need to specify -i/--ipaddr" "Use --help for more information.") sys.exit(1) dev = ScpiSynth(addr=args.ipaddr) try: simple_server_loop({"scpi_synth": dev}, args.bind, args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) dev = Novatech409B(args.device if not args.simulation else None) asyncio.get_event_loop().run_until_complete(dev.setup()) try: simple_server_loop({"novatech409b": dev}, bind_address_from_args(args), args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) with pi.Library() as lib: cam = CameraCtrl() if args.simulation: cam.open( cam.connect_demo(pi.PicamModel_ProEMHS512BExcelon, "12345678")) else: cam.open_first() with cam: logger.info("Camera open, serving") simple_server_loop({"cam": cam}, bind_address_from_args(args), args.port, description="")
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.channels is None: print("You need to specify either --simulation or -C/--channels " "argument. Use --help for more information.") sys.exit(1) if args.simulation: daq = DAQmxSim() else: daq = DAQmx(args.channels, args.clock) try: simple_server_loop({"pxi6733": daq}, args.bind, args.port) finally: daq.close()
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.ipaddr is None: print("You need to specify either --simulation or -i/--ipaddr " "argument. Use --help for more information.") sys.exit(1) if args.simulation: dev = RohdeSynthSim() else: dev = RohdeSynth(addr=args.ipaddr) try: simple_server_loop({"rohdeSynth": dev}, args.bind, args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) port = None if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) if args.simulation: port = open(args.dump, "wb") dev = Pdq2(url=args.device, dev=port) try: simple_server_loop({"pdq2": dev}, args.bind, args.port, description="device=" + str(args.device)) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if os.name == "nt": asyncio.set_event_loop(asyncio.ProactorEventLoop()) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) dev = KoradKA3005P(args.device if not args.simulation else None) asyncio.get_event_loop().run_until_complete(dev.setup()) try: simple_server_loop({"korad_ka3005p": dev}, bind_address_from_args(args), args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if os.name == "nt": asyncio.set_event_loop(asyncio.ProactorEventLoop()) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) dev = Novatech409B(args.device if not args.simulation else None) asyncio.get_event_loop().run_until_complete(dev.setup()) try: simple_server_loop( {"novatech409b": dev}, bind_address_from_args(args), args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.channels is None: print("You need to specify either --simulation or -C/--channels " "argument. Use --help for more information.") sys.exit(1) if args.simulation: daq = DAQmxSim() else: daq = DAQmx(args.channels, args.clock) try: simple_server_loop({"pxi6733": daq}, bind_address_from_args(args), args.port) finally: daq.close()
def main(): args = get_argparser().parse_args() init_logger(args) if args.device is None: print("You need to specify a -d/--device " "argument. Use --help for more information.") sys.exit(1) dev = QL355(args.device) # Q: Why not use try/finally for port closure? # A: We don't want to try to close the serial if sys.exit() is called, # and sys.exit() isn't caught by Exception try: simple_server_loop({"ql355": dev}, bind_address_from_args(args), args.port) except Exception: dev.close() else: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) dev = PiezoController(args.device if not args.simulation else None) # Q: Why not use try/finally for port closure? # A: We don't want to try to close the serial if sys.exit() is called, # and sys.exit() isn't caught by Exception try: simple_server_loop({"piezoController": dev}, args.bind, args.port) except Exception: dev.close() else: dev.close() finally: dev.save_setpoints()
def main(): args = get_argparser().parse_args() init_logger(args) if os.name == "nt": asyncio.set_event_loop(asyncio.ProactorEventLoop()) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) product = args.product.lower() if args.simulation: if product == "tdc001": dev = TdcSim() elif product == "tpz001": dev = TpzSim() else: print("Invalid product string (-P/--product), " "choose from tdc001 or tpz001") sys.exit(1) else: if product == "tdc001": dev = Tdc(args.device) elif product == "tpz001": dev = Tpz(args.device) loop = asyncio.get_event_loop() loop.run_until_complete(dev.get_tpz_io_settings()) else: print("Invalid product string (-P/--product), " "choose from tdc001 or tpz001") sys.exit(1) try: simple_server_loop({product: dev}, bind_address_from_args(args), args.port) finally: dev.close()
def main(): args = get_argparser().parse_args() init_logger(args) if not args.simulation and args.device is None: print("You need to specify either --simulation or -d/--device " "argument. Use --help for more information.") sys.exit(1) if args.simulation: if args.product == "TDC001": dev = TdcSim() elif args.product == "TPZ001": dev = TpzSim() else: if args.product == "TDC001": dev = Tdc(args.device) elif args.product == "TPZ001": dev = Tpz(args.device) try: simple_server_loop({args.product.lower(): dev}, args.bind, args.port) finally: dev.close()