Esempio n. 1
0
def main():
    p = site_config.add_arguments()
    parser = make_parser(parser=p)

    args = parser.parse_args()

    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'CapSensorAgent')

    # Automatically acquire data if requested
    if args.mode == 'acq':
        init_params = {'auto_acquire': True}
    else:
        init_params = {'auto_acquire': False}

    agent, runner = ocs_agent.init_site_agent(args)

    kwargs = {"config_file": args.config}

    cap = CapSensor_Agent(agent, **kwargs)

    agent.register_task('init_cap', cap.init_task,
                        startup=init_params)
    agent.register_task('offset', cap.offset)
    agent.register_process('acq', cap.acq, cap.stop_acq)

    runner.run(agent, auto_reconnect=True)
    
    if args.mode != 'idle':
        agent.start('init_cap')
Esempio n. 2
0
def main():
    '''Boot OCS agent'''
    txaio.start_logging(level=os.environ.get('LOGLEVEL', 'info'))

    parser = site_config.add_arguments()

    args = parser.parse_args()
    site_config.reparse_args(args, 'BLE2Agent')

    agent_inst, runner = ocs_agent.init_site_agent(args)

    ble2_agent = BLE2Agent(agent_inst)

    agent_inst.register_task('set_values', ble2_agent.set_values)

    agent_inst.register_task('start_rotation', ble2_agent.start_rotation)

    agent_inst.register_task('stop_rotation', ble2_agent.stop_rotation)

    agent_inst.register_task('init_ble2', ble2_agent.init_ble2)

    agent_inst.register_process(
        'acq',
        ble2_agent.start_acq,
        ble2_agent.stop_acq,
    )

    runner.run(agent_inst, auto_reconnect=True)
Esempio n. 3
0
def main():
    '''Boot OCS agent'''
    txaio.start_logging(level=os.environ.get('LOGLEVEL', 'info'))

    parser = site_config.add_arguments()

    args = parser.parse_args()
    site_config.reparse_args(args, 'dS378Agent')

    agent_inst, runner = ocs_agent.init_site_agent(args)

    kwargs = {}

    if args.port is not None:
        kwargs['port'] = args.port
    if args.ip is not None:
        kwargs['ip'] = args.ip

    ds_agent = dS378Agent(agent_inst, **kwargs)

    agent_inst.register_task('set_relay', ds_agent.set_relay)

    agent_inst.register_task('get_relays', ds_agent.get_relays)

    agent_inst.register_process('acq',
                                ds_agent.start_acq,
                                ds_agent.stop_acq,
                                startup=True)

    runner.run(agent_inst, auto_reconnect=True)
Esempio n. 4
0
def main():
    site_parser = site_config.add_arguments()
    parser = make_parser(site_parser)

    # Get the parser to process the command line.
    args = parser.parse_args()

    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'CryomechCPAAgent')
    print('I am in charge of device with serial number: %s' %
          args.serial_number)

    # Automatically acquire data if requested (default)
    init_params = False
    if args.mode == 'init':
        init_params = {'auto_acquire': False}
    elif args.mode == 'acq':
        init_params = {'auto_acquire': True}

    # Call launcher function (initiates connection to appropriate
    # WAMP hub and realm).

    agent, runner = ocs_agent.init_site_agent(args)

    # create agent instance and run log creation
    ptc = PTCAgent(agent,
                   args.port,
                   args.ip_address,
                   fake_errors=args.fake_errors)

    agent.register_task('init', ptc.init_ptc_task, startup=init_params)
    agent.register_process('acq', ptc.start_acq, ptc.stop_acq)

    runner.run(agent, auto_reconnect=True)
Esempio n. 5
0
def main():
    parser = site_config.add_arguments()
    parser = make_parser(parser)

    args = parser.parse_args()
    site_config.reparse_args(args, 'PysmurfArchiverAgent')

    if args.target is None:
        raise Exception("Argument --target is required")

    if type(args.target) == str:
        args.target = [args.target]
    agent, runner = ocs_agent.init_site_agent(args)

    archiver = PysmurfArchiverAgent(agent, data_dir=args.data_dir,
                                    targets=args.target,
                                    host=args.host)

    agent.register_process('run', archiver.run, archiver.stop, startup=True)

    runner.run(agent, auto_reconnect=True)
Esempio n. 6
0
                if f.type == core.G3FrameType.Housekeeping:
                    last_meta = f
                writer(f)

            if (datetime.utcnow().timestamp() - ts) > time_per_file:
                writer(core.G3Frame(core.G3FrameType.EndProcessing))
                writer = None

        if writer is not None:
            writer(core.G3Frame(core.G3FrameType.EndProcessing))

        return True, "Finished Streaming"

    def stop_stream(self, session, params=None):
        self.is_streaming = False
        return True, "Stopping Streaming"


if __name__ == '__main__':
    parser = site_config.add_arguments()
    args = parser.parse_args()
    site_config.reparse_args(args, 'G3StreamListener')

    agent, runner = ocs_agent.init_site_agent(args)
    listener = G3StreamListener(agent, port=int(args.port))

    agent.register_process('stream', listener.start_stream, listener.stop_stream)

    runner.run(agent, auto_reconnect=True)

Esempio n. 7
0
        return True, 'Initialized PSU.'


if __name__ == '__main__':
    parser = site_config.add_arguments()

    # Add options specific to this agent.
    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--ip-address')
    pgroup.add_argument('--gpib-slot')

    # Parse comand line.
    args = parser.parse_args()
    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'Keithley2230G-PSU')

    agent, runner = ocs_agent.init_site_agent(args)

    p = Keithley2230GAgent(agent, args.ip_address, int(args.gpib_slot))

    agent.register_task('init', p.init_psu)
    agent.register_task('set_voltage', p.set_voltage)
    agent.register_task('set_current', p.set_current)
    agent.register_task('set_output', p.set_output)

    agent.register_process('monitor_output', p.monitor_output,
                           p.stop_monitoring)

    runner.run(agent, auto_reconnect=True)
Esempio n. 8
0
    def stop_acq(self, session, params=None):
        """
        End pressure data acquisition
        """
        if self.take_data:
            self.take_data = False
            self.gauge.close()
            return True, 'requested to stop taking data.'
        else:
            return False, 'acq is not currently running'


if __name__ == '__main__':
    parser = site_config.add_arguments()

    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--ip_address')
    pgroup.add_argument('--port')

    args = parser.parse_args()

    site_config.reparse_args(args, 'PfeifferAgent')
    agent, runner = ocs_agent.init_site_agent(args)
    pfeiffer_agent = PfeifferAgent(agent, args.ip_address, args.port)
    agent.register_process('acq',
                           pfeiffer_agent.start_acq,
                           pfeiffer_agent.stop_acq,
                           startup=True)
    agent.register_task('close', pfeiffer_agent.stop_acq)
    runner.run(agent, auto_reconnect=True)
Esempio n. 9
0
        """
        Stops the data acquisiton.
        """
        if self.take_data:
            self.take_data = False
            return True, 'requested to stop taking data.'
        else:
            return False, 'acq is not currently running.'


if __name__ == '__main__':
    parser = site_config.add_arguments()

    pgroup = parser.add_argument_group('Agent Options')

    args = parser.parse_args()

    site_config.reparse_args(args, 'HWPSimulatorAgent')

    agent, runner = ocs_agent.init_site_agent(args)

    arduino_agent = ArduinoAgent(agent)

    agent.register_task('init_arduino', arduino_agent.init_arduino)
    agent.register_process('acq',
                           arduino_agent.start_acq,
                           arduino_agent.stop_acq,
                           startup=True)

    runner.run(agent, auto_reconnect=True)
Esempio n. 10
0
    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--ip-address')
    pgroup.add_argument('--gpib-slot')

    return parser


if __name__ == '__main__':
    site_parser = site_config.add_arguments()
    parser = make_parser(site_parser)

    # Get the parser to process the command line.
    args = parser.parse_args()

    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'ScpiPsuAgent')

    agent, runner = ocs_agent.init_site_agent(args)

    p = ScpiPsuAgent(agent, args.ip_address, int(args.gpib_slot))

    agent.register_task('init', p.init_psu)
    agent.register_task('set_voltage', p.set_voltage)
    agent.register_task('set_current', p.set_current)
    agent.register_task('set_output', p.set_output)

    agent.register_process('monitor_output', p.monitor_output,
                           p.stop_monitoring)

    runner.run(agent, auto_reconnect=True)
Esempio n. 11
0
    pgroup.add_argument("--stream-id",
                        default="stream_sim",
                        help="Stream ID for the simulator.")

    return parser


if __name__ == '__main__':
    # Start logging
    txaio.start_logging(level=environ.get("LOGLEVEL", "info"))

    site_parser = site_config.add_arguments()
    parser = make_parser(site_parser)

    args = parser.parse_args()
    site_config.reparse_args(args, 'SmurfStreamSimulator')

    agent, runner = ocs_agent.init_site_agent(args)
    sim = SmurfStreamSimulator(agent,
                               target_host=args.target_host,
                               port=int(args.port),
                               num_chans=int(args.num_chans),
                               stream_id=args.stream_id)

    agent.register_process('stream',
                           sim.start_background_streamer,
                           sim.stop_background_streamer,
                           startup=bool(args.auto_start))
    agent.register_task('start', sim.set_stream_on)
    agent.register_task('stop', sim.set_stream_off)
Esempio n. 12
0
            return False, "Script has been killed"

    def abort_script(self, session, params=None):
        """
        Aborts the currently running script
        """
        self.prot.transport.signalProcess('KILL')
        return True, "Aborting process"


if __name__ == '__main__':
    parser = site_config.add_arguments()

    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--udp-port')
    pgroup.add_argument('--udp-ip')

    args = parser.parse_args()

    site_config.reparse_args(args, 'PysmurfController')

    agent, runner = ocs_agent.init_site_agent(args)
    controller = PysmurfController(agent, args.udp_ip, int(args.udp_port))

    agent.register_task('run', controller.run_script)
    agent.register_task('abort', controller.abort_script)

    reactor.listenUDP(int(args.udp_port), controller)

    runner.run(agent, auto_reconnect=True)
Esempio n. 13
0
    # Add options specific to this agent.
    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--ip-address')
    pgroup.add_argument('--username')
    pgroup.add_argument('--password')
    return parser


if __name__ == '__main__':
    site_parser = site_config.add_arguments()
    parser = make_parser(site_parser)

    # Get the parser to process the command line.
    args = parser.parse_args()

    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'SynAccAgent')

    agent, runner = ocs_agent.init_site_agent(args)

    p = SynaccessAgent(agent,
                       ip_address=args.ip_address,
                       username=args.username,
                       password=args.password)
    agent.register_task('get_status', p.get_status, startup={})
    agent.register_task('reboot', p.reboot)
    agent.register_task('set_outlet', p.set_outlet)
    agent.register_task('set_all', p.set_all)

    runner.run(agent, auto_reconnect=True)
Esempio n. 14
0
    return parser


if __name__ == "__main__":
    # Start logging
    txaio.start_logging(level=environ.get("LOGLEVEL", "info"))

    # Get the default ocs agrument parser
    site_parser = site_config.add_arguments()
    parser = make_parser(site_parser)

    # Parse commandline
    args = parser.parse_args()

    site_config.reparse_args(args, "SmurfRecorder")

    agent, runner = ocs_agent.init_site_agent(args)
    listener = SmurfRecorder(agent,
                             int(args.time_per_file),
                             args.data_dir,
                             address=args.address,
                             port=int(args.port))

    agent.register_process("record",
                           listener.start_record,
                           listener.stop_record,
                           startup=bool(args.auto_start))

    runner.run(agent, auto_reconnect=True)
Esempio n. 15
0
def main():
    # Start logging
    txaio.start_logging(level=os.environ.get("LOGLEVEL", "info"))

    p = site_config.add_arguments()
    parser = make_parser(parser=p)

    #Not used anymore, but we don't it to break the agent if these args are passed
    parser.add_argument('--fake-data', help=argparse.SUPPRESS)
    parser.add_argument('--num-channels', help=argparse.SUPPRESS)

    args = parser.parse_args()

    if args.fake_data is not None:
        warnings.warn(
            "WARNING: the --fake-data parameter is deprecated, please "
            "remove from your site-config file", DeprecationWarning)

    if args.num_channels is not None:
        warnings.warn(
            "WARNING: the --num-channels parameter is deprecated, please "
            "remove from your site-config file", DeprecationWarning)

    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'Lakeshore240Agent')

    # Automatically acquire data if requested (default)
    init_params = False
    if args.mode == 'init':
        init_params = {'auto_acquire': False}
    elif args.mode == 'acq':
        init_params = {'auto_acquire': True}

    device_port = None
    if args.port is not None:
        device_port = args.port
    else:  # Tries to find correct USB port automatically

        # This exists if udev rules are setup properly for the 240s
        if os.path.exists('/dev/{}'.format(args.serial_number)):
            device_port = "/dev/{}".format(args.serial_number)

        elif os.path.exists('/dev/serial/by-id'):
            ports = os.listdir('/dev/serial/by-id')
            for port in ports:
                if args.serial_number in port:
                    device_port = "/dev/serial/by-id/{}".format(port)
                    print("Found port {}".format(device_port))
                    break

    if device_port is None:
        print("Could not find device port for {}".format(args.serial_number))
        return

    agent, runner = ocs_agent.init_site_agent(args)

    kwargs = {'port': device_port}

    if args.sampling_frequency is not None:
        kwargs['f_sample'] = float(args.sampling_frequency)

    therm = LS240_Agent(agent, **kwargs)

    agent.register_task('init_lakeshore',
                        therm.init_lakeshore_task,
                        startup=init_params)
    agent.register_task('set_values', therm.set_values)
    agent.register_task('upload_cal_curve', therm.upload_cal_curve)
    agent.register_process('acq', therm.start_acq, therm.stop_acq)

    runner.run(agent, auto_reconnect=True)
Esempio n. 16
0
        self.agent.feeds['HWPEncoder'].flush_buffer()
        return True, 'Acquisition exited cleanly.'

    def stop_acq(self, session, params=None):
        """
        Stops the data acquisiton.
        """
        if self.take_data:
            self.take_data = False
            return True, 'requested to stop taking data.'

        return False, 'acq is not currently running.'


# Portion of the code that runs
if __name__ == '__main__':
    parser = site_config.add_arguments()
    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--port', default=8080)
    args = parser.parse_args()

    site_config.reparse_args(args, 'HWPBBBAgent')
    agent, runner = ocs_agent.init_site_agent(args)
    hwp_bbb_agent = HWPBBBAgent(agent, port=args.port)
    agent.register_process('acq',
                           hwp_bbb_agent.start_acq,
                           hwp_bbb_agent.stop_acq,
                           startup=True)

    runner.run(agent, auto_reconnect=True)
Esempio n. 17
0
    pgroup.add_argument('--function-file', default='None')
    pgroup.add_argument('--sampling-frequency', default='2.5')

    return parser


if __name__ == '__main__':
    # Start logging
    txaio.start_logging(level=os.environ.get("LOGLEVEL", "info"))

    site_parser = site_config.add_arguments()
    parser = make_parser(site_parser)

    args = parser.parse_args()

    site_config.reparse_args(args, 'LabJackAgent')

    init_params = False
    if args.mode == 'acq':
        init_params = {'auto_acquire': True}

    ip_address = str(args.ip_address)
    active_channels = args.active_channels
    function_file = str(args.function_file)
    sampling_frequency = float(args.sampling_frequency)

    agent, runner = ocs_agent.init_site_agent(args)

    sensors = LabJackAgent(agent,
                           ip_address=ip_address,
                           active_channels=active_channels,
Esempio n. 18
0
    pgroup.add_argument("--port", default=161, help="Port to listen on.")

    return parser


if __name__ == "__main__":
    # Start logging
    txaio.start_logging(level=environ.get("LOGLEVEL", "info"))

    # Get the default ocs agrument parser
    site_parser = site_config.add_arguments()
    parser = make_parser(site_parser)

    # Parse commandline
    args = parser.parse_args()

    site_config.reparse_args(args, "MeinbergM1000Agent")

    agent, runner = ocs_agent.init_site_agent(args)
    listener = MeinbergM1000Agent(agent,
                                  address=args.address,
                                  port=int(args.port))

    agent.register_process("acq",
                           listener.start_acq,
                           listener.stop_acq,
                           startup=bool(args.auto_start),
                           blocking=False)

    runner.run(agent, auto_reconnect=True)
Esempio n. 19
0
        parser = argparse.ArgumentParser()

    pgroup = parser.add_argument_group('Agent Config')
    pgroup.add_argument('--udp-port', type=int, help="Port for upd-publisher")
    pgroup.add_argument('--create-table',
                        type=bool,
                        help="Specifies whether agent should create or update "
                        "pysmurf_files table if non exists.",
                        default=True)

    return parser


if __name__ == '__main__':
    parser = site_config.add_arguments()

    parser = make_parser(parser)

    args = parser.parse_args()

    site_config.reparse_args(args, 'PysmurfMonitor')

    agent, runner = ocs_agent.init_site_agent(args)
    monitor = PysmurfMonitor(agent, args)

    agent.register_task('init', monitor.init, startup=True)

    reactor.listenUDP(args.udp_port, monitor)

    runner.run(agent, auto_reconnect=True)
Esempio n. 20
0
            True: 'Requested process stop.',
            False: 'Failed to request process stop.'
        }[ok])


if __name__ == '__main__':
    # Get the default ocs argument parser.
    parser = site_config.add_arguments()

    # Add options specific to this agent.
    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--log-directory')

    # Parse comand line.
    args = parser.parse_args()

    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'BlueforsAgent')
    print('I am following logs located at : %s' % args.log_directory)

    agent, runner = ocs_agent.init_site_agent(args)

    bluefors_agent = BlueforsAgent(agent, args.log_directory)

    agent.register_process('acq',
                           bluefors_agent.start_acq,
                           bluefors_agent.stop_acq,
                           startup=True)

    runner.run(agent, auto_reconnect=True)
Esempio n. 21
0
    # Add options specific to this agent.
    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--ip-address')
    pgroup.add_argument('--serial-number')
    pgroup.add_argument('--mode')
    pgroup.add_argument('--fake-data',
                        type=int,
                        default=0,
                        help='Set non-zero to fake data, without hardware.')

    # Parse comand line.
    args = parser.parse_args()

    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'Lakeshore372Agent')
    print('I am in charge of device with serial number: %s' %
          args.serial_number)

    agent, runner = ocs_agent.init_site_agent(args)

    lake_agent = LS372_Agent(agent,
                             args.serial_number,
                             args.ip_address,
                             fake_data=False)

    agent.register_task('init_lakeshore', lake_agent.init_lakeshore_task)
    agent.register_task('set_heater_range', lake_agent.set_heater_range)
    agent.register_task('set_excitation_mode', lake_agent.set_excitation_mode)
    agent.register_task('set_excitation', lake_agent.set_excitation)
    agent.register_task('set_pid', lake_agent.set_pid)
Esempio n. 22
0
            else:
                return False, "Could not acquire lock"

        return True, 'Initialized AWG.'


if __name__ == '__main__':
    parser = site_config.add_arguments()

    # Add options specific to this agent.
    pgroup = parser.add_argument_group('Agent Options')
    pgroup.add_argument('--ip-address')
    pgroup.add_argument('--gpib-slot')

    # Parse comand line.
    args = parser.parse_args()
    # Interpret options in the context of site_config.
    site_config.reparse_args(args, 'Tektronix AWG')

    agent, runner = ocs_agent.init_site_agent(args)

    p = TektronixAWGAgent(agent, args.ip_address, int(args.gpib_slot))

    agent.register_task('init', p.init_awg)
    agent.register_task('set_frequency', p.set_frequency)
    agent.register_task('set_amplitude', p.set_amplitude)
    agent.register_task('set_output', p.set_output)

    runner.run(agent, auto_reconnect=True)