Ejemplo n.º 1
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)
Ejemplo n.º 2
0
def main():
    '''Boot OCS agent'''
    txaio.start_logging(level=os.environ.get('LOGLEVEL', 'info'))

    parser = site_config.add_arguments()

    args = site_config.parse_args('stmACAgent')
    agent_inst, runner = ocs_agent.init_site_agent(args)
    stm_ac_agent = stmACAgent(agent_inst)

    # agent_inst.register_task(
    #     'init_pcr',
    #     stm_ac_agent.init_pcr500
    # )

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

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

    agent_inst.register_task('get_values', stm_ac_agent.get_values)

    agent_inst.register_task('getACstatus', stm_ac_agent.getACstatus)

    agent_inst.register_task('rampVoltage', stm_ac_agent.rampVoltage)

    agent_inst.register_task('forceZero', stm_ac_agent.forceZero)

    runner.run(agent_inst, auto_reconnect=True)
Ejemplo n.º 3
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)
Ejemplo n.º 4
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)
Ejemplo n.º 5
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')
Ejemplo n.º 6
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)
Ejemplo n.º 7
0
            'timestamp': time.time(),
            'block_name': '{}_heater_out'.format(heater),
            'data': {
                '{}_heater_out'.format(heater): output
            }
        }
        session.app.publish_to_feed('temperatures', data)

        self.set_job_done()
        return True, "Set {} display to {}, output to {}".format(
            heater, display, output)


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('--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.
Ejemplo n.º 8
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)