yaq/daemons/newport-smc100


Daemon for the Newport smc100-[CC|PP] controllers

bugtracker
manufacturer
source

installation

The newport-smc100 daemon can be installed using the following package managers:

PyPI
conda-forge

traits

The newport-smc100 daemon is composed of the following traits:

has-limits
is-daemon
uses-serial
is-homeable
uses-uart
has-position

hardware

The newport-smc100 daemon has been tested with the following hardware:

newport/mfa-cc
newport/smc100cc
newport/smc100pp

configuration

axis (int) default: 1
Allows for daisy chained controllers

baud_rate (int) default: 57600
from uses-uart

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

make (['null', 'string']) default: newport
from is-daemon

model (['null', 'string']) default: SMC100
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

serial_port (string)
from uses-uart

units (string) default: mm
Units for the motor attatched to the controller

state

The newport-smc100 daemon will provide the following state information:

destination (double)
from has-position

error_code (string)
Four digit code describing error conditions in the Tell Status (TS) command.

hw_limits (array)
from has-limits

position (double)
from has-position

status (string)
Device status, translated into text from the Tell Status (TS) command.

messages

The newport-smc100 daemon will expose the following public messages:

busy ➜ boolean
Returns true if daemon is currently busy.
from is-daemon

direct_serial_write ➜ null
Expose direct access to the serial port to clients. This should not be encouraged for normal use, but may be very important for debugging. If a device is expected to return data, it should be logged at the INFO level, not returned to the client. This is done to allow long tasks to be run asynchronously, and to explicitly discourage use of this method except when debugging. Setting `busy` to true is encouraged, but individual daemon writers should consider their own use case.
from uses-serial
parameters:

message (bytes)

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_destination ➜ double
Get current daemon destination.
from has-position

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_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 fields.
from has-position

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_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)

shutdown ➜ null
Cleanly shutdown (or restart) daemon.
from is-daemon
parameters:

restart (boolean) default: False


built 2021-05-13 22:14:57                                      CC0: no copyright