dragonfly.implementations.rsa_provider module

Some template vars

Members: RSAProvider Functions: Classes:

The RSAProvider is designed to inherit from EthernetProvider and provide communication with the RSA instrument. Methods contained here were carefully selected to protect the user - they combine multiple send calls which only make sense when called in concert - they ARE NOT endpoints because using the individual commands would be potentially dangerous - expect them to be implemented by RSAAcquisitionInterface via provider.cmd

The two exceptions are the methods which require multiple arguments, which are not handled simply with dragonfly set commands: - save_trace(self, trace, path) - create_new_auto_mask(self, trace, xmargin, ymargin)

Everything else should be defined as a normal endpoint in the config file. If you a send call here that you would like to see as an endpoint, try to think of how that would go wrong before implementing it blindly.

Summary

class dragonfly.implementations.rsa_provider.RSAProvider(max_nb_files=10000, set_condition_list=[10], **kwargs)

Bases: dragonfly.implementations.rsa_provider.RSAProvider

An EthernetProvider for interacting with the RSA (Tektronix 5106B)

Keyword Arguments:
 
  • Connection-related options (>) –
  • socket_timeout (float) – time in seconds for the socket to timeout
  • socket_info (tuple) – (<network_address_as_str>, <port_as_int>)
  • cmd_at_reconnect (list||None) – list of command(s) to send to the instrument following (re)connection to the instrument, still must return a reply! : if impossible, set as None to skip
  • reconnect_test (str) – expected return value from final reconnect command
  • Query-related options (>) –
  • command_terminator (str) – string to append to commands
  • response_terminator (str||None) – string to strip from responses, this MUST exist for get method to function properly!
  • bare_response_terminator (str||None) – abbreviated string to strip from responses containing only prompt : only used to handle non-standard lockin behavior
  • reply_echo_cmd (bool) – set to True if command+command_terminator or just command are present in reply
  • 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’
add_endpoint(endpoint)
cmd(target, method_name, value=[], payload={}, lockout_key=False, timeout=None, ignore_retcode=False)
end_run()
endpoint(endpoint)
endpoint_names
endpoints
get(target, timeout=None, ignore_retcode=False)
handle_request(channel, method, properties, request)
is_locked
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

schedule_status
send(commands, **kwargs)

Standard provider method to communicate with instrument. NEVER RENAME THIS METHOD!

commands (list||None): list of command(s) to send to the instrument following (re)connection to the instrument, still must return a reply!
: if impossible, set as None to skip
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(directory, filename)
trigger_status
unlock(*args, **kwargs)

End of modules condition

Data:

End of data condition