dragonfly.implementations.daq_run_interface module

Some template vars

Members: DAQProvider Functions: Classes:

A service for uniform interfacing with the DAQ (in general)

Summary

class dragonfly.implementations.daq_run_interface.DAQProvider(daq_name=None, run_table_endpoint=None, directory_path=None, data_directory_path=None, meta_data_directory_path=None, filename_prefix='', snapshot_state_target='', metadata_state_target='', metadata_target='', set_condition_list=[10], **kwargs)

Bases: dragonfly.implementations.daq_run_interface.DAQProvider

Base class for providing a uniform interface to different DAQ systems

Keyword Arguments:
 
  • daq_name (str) – name of the DAQ (used with the run table and in metadata)
  • run_table_endpoint (str) – name of the endpoint providing an interface to the run table
  • directory_path (str) – absolute path to “hot” storage (as seen from the DAQ software, not a network path)
  • meta_data_directory_path (str) – path where the metadata file should be written
  • filename_prefix (str) – prefix for unique filenames
  • snapshot_state_target (str) – target to request snapshot from
  • metadata_state_target (str) – multiget endpoint to Get() for system state
  • metadata_target (str) – target to send metadata to
  • name (str) – unique identifier across all dripline services (used to determine routing key)
  • calibration (str||dict) – string use to process raw get result (with .format(raw)) or a dict to use for the same purpose where raw must be a key
  • get_on_set (bool) – flag to toggle running ‘on_get’ after each ‘on_set’

daq_name (str): name of the DAQ (used with the run table and in metadata) run_table_endpoint (str): name of the endpoint providing an interface to the run table directory_path (str): absolute path to “hot” storage (as seen from the DAQ software, not a network path) meta_data_directory_path (str): path where the metadata file should be written filename_prefix (str): prefix for unique filenames snapshot_state_target (str): target to request snapshot from metadata_state_target (str): multiget endpoint to Get() for system state metadata_target (str): target to send metadata to

add_endpoint(endpoint)
cmd(target, method_name, value=[], payload={}, lockout_key=False, timeout=None, ignore_retcode=False)
determine_RF_ROI()
end_run()

Send command to the DAQ provider to stop data taking, do the post-run snapshot, and announce the end of the run.

endpoint(endpoint)
endpoint_names
endpoints
get(target, timeout=None, ignore_retcode=False)
handle_request(channel, method, properties, request)
is_locked
is_running
list_endpoints()
lock(*args, **kwargs)
lockout_key
logging_status
on_cmd(*args, **kwargs)

WARNING! if you override this method, you must ensure you deal with lockout properly

on_config(attribute, value=None)

configure a property again

WARNING! if you override this method, you must ensure you deal with lockout properly

on_send(*commands)
on_set(*args, **kwargs)
ping(*args, **kwargs)

ignore all details and respond with an empty message

run_name
schedule_status
set(target, value, lockout_key=False, timeout=None, ignore_retcode=False)
set_condition(*args, **kwargs)

To actually do something inside a class, the set_condition should be implemented in the class itself.

start_run(run_name)

Do the prerun_gets and send the metadata to the recording associated computer

run_name (str): name of acquisition run

start_timed_run(run_name, run_time)

Starts timed acquisition run run_name (str): name of acquisition run run_time (int): length of run in seconds

unlock(*args, **kwargs)

End of modules condition

Data:

End of data condition