The attune-delay daemon can be installed using the following package managers:
The attune-delay daemon is composed of the following traits:
has-limits
has-position
is-daemon
is-homeable
enable (boolean)
default: True
Disable this daemon. The kind entry-point will not attempt to start this daemon.
from is-daemon
factor (int)
default: 2
multiplier of the speed of light, use negative value to invert motion relative to the zero position
limits (array)
default: [-inf, inf]
Configuration limits are strictly optional.
from has-limits
log_level ({'name': 'level', 'symbols': ['debug', 'info', 'notice', 'warning', 'error', 'critical', 'alert', 'emergency'], 'type': 'enum'})
default: info
Set daemon log-level.
from is-daemon
log_to_file (boolean)
default: False
Optionally force logging to a file.
from is-daemon
make (['null', 'string'])
default: None
from is-daemon
model (['null', 'string'])
default: None
from is-daemon
out_of_limits (enum)
default: closest
Control behavior of daemon when set_position is given a value outside of limits.
from has-limits
port (int)
TCP port for daemon to occupy.
from is-daemon
serial (['null', 'string'])
default: None
Serial number for the particular device represented by the daemon
from is-daemon
wrapped_daemon (['int', 'string'])
port or host:port string of the wrapped delay stage
The attune-delay daemon will provide the following state information:
control_active (map)
Weather or not a particular control is active
control_position (map)
Cached position of the control hardware
control_tunes (map)
Cached tune of the control hardware
destination (double)
from has-position
hw_limits (array)
from has-limits
offset (double)
Currently applied offset due to cosetting
position (double)
from has-position
zero_position (double)
Position in underlying stage units that represents the zero position
The attune-delay daemon will expose the following public messages:
busy
➜ boolean
Returns true if daemon is currently busy.
from is-daemon
get_config
➜ string
Full configuration for the individual daemon as defined in the TOML file.
This includes defaults and shared settings not directly specified in the daemon-specific TOML table.
from is-daemon
get_config_filepath
➜ string
String representing the absolute filepath of the configuration file on the host machine.
from is-daemon
get_control_active
➜ {'type': 'map', 'values': 'boolean'}
Get map of control hardware to enabled state
get_control_positions
➜ {'type': 'map', 'values': 'double'}
Get underlying control positions, provides a mapping of names to positions, in native units.
get_control_tunes
➜ {'type': 'map', 'values': ['null', 'string']}
Get cached control tunes, provides a mapping of names to tunes, in native units.
get_dependent_hardware
➜ {'type': 'map', 'values': 'string'}
Get mapping of name to host:port string. 'localhost' should be replaced on the client side with the host for this daemon.
get_destination
➜ double
Get current daemon destination.
from has-position
get_instrument
➜ Instrument
Get the currently in use instrument object
get_limits
➜ {'items': 'double', 'type': 'array'}
Get daemon limits.Limits will be the intersection of config limits and driver limits (when appliciable).
from has-limits
get_offset
➜ double
Get the applied offset in ps
get_position
➜ double
Get current daemon position.
from has-position
get_state
➜ string
Get version of the running daemon
from is-daemon
get_units
➜ ['null', 'string']
Get units of daemon. These units apply to the position and destination properties.
from has-position
get_zero_position
➜ double
Get the zero position in underlying daemon units
get_zero_position_limits
➜ {'items': 'double', 'type': 'array'}
Get the zero position underlying daemon limits
get_zero_position_units
➜ string
Get the zero position underlying daemon units
home
➜ null
Initiates the homing procedure.
The daemon will report as busy during the homing procedure.
After the homing procedure is complete, the daemon will return to the current destination.
from is-homeable
id
➜ {'type': 'map', 'values': ['null', 'string']}
JSON object with information to identify the daemon, including name, kind, make, model, serial.
from is-daemon
in_limits
➜ boolean
Check if a given position is within daemon limits.
from has-limits
parameters:
position (double)
set_control_active
➜ null
Set the cached value of the control hardware, causes delay to recompute its offset and adjust appropriately
parameters:
control (string)
active (boolean)
set_control_position
➜ null
Set the cached value of the control hardware, causes delay to recompute its offset and adjust appropriately
parameters:
control (string)
position (double)
set_control_tune
➜ null
Set the cached value of the control hardware tune, causes delay to recompute its offset and adjust appropriately
parameters:
control (string)
tune (['null', 'string'])
set_instrument
➜ null
Set the currently in use instrument object. Also triggers a restart
parameters:
instrument (Instrument)
set_position
➜ null
Give the daemon a new destination, and begin motion towards that destination.
from has-position
parameters:
position (double)
set_relative
➜ double
Give the daemon a new destination relative to its current position. Daemon will immediately begin motion towards new destination. Returns new destination.
from has-position
parameters:
distance (double)
set_zero_position
➜ null
Set the zero position in underlying daemon units
parameters:
position (double)
shutdown
➜ null
Cleanly shutdown (or restart) daemon.
from is-daemon
parameters:
restart (boolean)
default: False
The attune-delay daemon uses the following avro types:
Transition (record)
fields:
type (string)
Setable (record)
fields:
name (string)
Tune (record)
fields:
independent ({'items': 'double', 'type': 'array'})
dependent ({'items': 'double', 'type': 'array'})
DiscreteTune (record)
fields:
ranges ({'type': 'map', 'values': {'items': 'double', 'type': 'array'}})
default (['null', 'string'])
Arrangement (record)
fields:
name (string)
tunes ({'type': 'map', 'values': ['Tune', 'DiscreteTune']})
Instrument (record)
fields:
name (string)
arrangements ({'type': 'map', 'values': 'Arrangement'})
setables ({'type': 'map', 'values': 'Setable'})
transition (Transition)
built 2024-02-09 01:44:16 CC0: no copyright