Expose a single light conversion motor as a yaq daemon.



The lightcon-topas4-motor daemon can be installed using the following package managers:



The lightcon-topas4-motor daemon is composed of the following traits:



limits (array) default: [-inf, inf]
Configuration limits are strictly optional.

make (['null', 'string']) default: None

model (['null', 'string']) default: None

motor_index (int) default: 1
Index of the motor within the topas4 device

out_of_limits (enum) default: closest
Control behavior of daemon when set_position is given a value outside of limits.

port (int)
TCP port for daemon to occupy.

serial (['null', 'string']) default: None
Serial number for the particular device represented by the daemon

addendum by lightcon-topas4-motor:
Topas4 motor daemons MUST specify the serial number

topas4_host (string) default:
Host/IP of the wintopas4 server

topas4_port (int) default: 8000
IP port of the wintopas4 server


The lightcon-topas4-motor daemon will provide the following state information:

destination (float)

hw_limits (array)

position (float)


The lightcon-topas4-motor daemon will expose the following public messages:

busy ➜ boolean
Returns true if daemon is currently busy.

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.

get_config_filepath ➜ string
String representing the absolute filepath of the configuration file on the host machine.

get_destination ➜ float
Get current daemon destination.

get_limits ➜ {'items': 'float', 'type': 'array'}
Get daemon limits.Limits will be the intersection of config limits and driver limits (when appliciable).

get_position ➜ float
Get current daemon position.

get_state ➜ string
Get version of the running daemon

get_units ➜ ['null', 'string']
Get units of daemon. These units apply to the position and destination fields.

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.

id ➜ {'type': 'map', 'values': ['null', 'string']}
JSON object with information to identify the daemon, including name, kind, make, model, serial.

in_limits ➜ boolean
Check if a given position is within daemon limits.

position (float)

set_position ➜ null
Give the daemon a new destination, and begin motion towards that destination.

position (float)

set_relative ➜ float
Give the daemon a new destination relative to its current position. Daemon will immediately begin motion towards new destination. Returns new destination.

distance (float)

shutdown ➜ null
Cleanly shutdown (or restart) daemon.

restart (boolean) default: False

built 2020-10-27 13:47:08                                      CC0: no copyright