Exemplo n.º 1
0
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()
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
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)
Exemplo n.º 7
0
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)

    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()
Exemplo n.º 9
0
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()
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
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)
Exemplo n.º 12
0
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()
Exemplo n.º 13
0
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)
Exemplo n.º 15
0
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)
Exemplo n.º 16
0
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)
Exemplo n.º 17
0
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()
Exemplo n.º 18
0
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()
Exemplo n.º 19
0
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()
Exemplo n.º 20
0
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()
Exemplo n.º 21
0
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()
Exemplo n.º 22
0
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.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)
Exemplo n.º 24
0
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)
Exemplo n.º 25
0
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()
Exemplo n.º 26
0
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)
Exemplo n.º 27
0
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()
Exemplo n.º 28
0
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()
Exemplo n.º 29
0
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="")
Exemplo n.º 30
0
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()
Exemplo n.º 31
0
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()
Exemplo n.º 32
0
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()
Exemplo n.º 33
0
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()
Exemplo n.º 34
0
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()
Exemplo n.º 35
0
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()
Exemplo n.º 36
0
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()
Exemplo n.º 38
0
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()
Exemplo n.º 40
0
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()
Exemplo n.º 41
0
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()
Exemplo n.º 42
0
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()