bugtracker
example-configs
manufacturer
source
The pmc daemon can be installed using the following package managers:
The pmc daemon is composed of the following traits:
has-limits
has-position
is-daemon
The pmc daemon has been tested with the following hardware:
accel_gain (float)
default: 0
Acceleration Gain
acceleration (float)
default: 70000
Acceleration for the motor in steps/sec/sec
axis (int)
default: 0
Axis number for the individual motor in the controller
backlash (int)
default: 1000
Number of steps to exceed the destination when backlash correcting. Must be a positive integer as backlash correction only applies in one direction.
controller (int)
default: 0
Index of the controller in MCAPI
counts_per_mm (int)
default: 58200
Encoder counts per mm of travel
decel_gain (float)
default: 0
Deceleration Gain
delay_at_target (float)
default: 0
Delay At Target
derivative_gain (float)
default: 6000
Derivative Gain
derivative_sample (float)
default: 0.001364
Derivative Sample
enable (boolean)
default: True
Disable this daemon. The kind entry-point will not attempt to start this daemon.
from is-daemon
enable_backlash_correction (boolean)
default: False
Enable correction which sends the motor past its destination when travelling to higher mm values (lower step values)
encoder_scaling (float)
default: 0
Encoder Scaling
following_error (float)
default: 0
Following Error
gain (float)
default: 2211
Gain parameter
integral_gain (float)
default: 0
Integral Gain
integration_limit (int)
default: 0
Integration Limit
integration_option (int)
default: 0
Integration Option
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
output_deadband (float)
default: 0
Output Deadband
output_offset (float)
default: 0
Output Offset
port (int)
TCP port for daemon to occupy.
from is-daemon
position_deadband (float)
default: 0
Position Deadband
serial (['null', 'string'])
default: None
Serial number for the particular device represented by the daemon
from is-daemon
startup_behavior ({'name': 'startup', 'symbols': ['trust_driver', 'trust_state'], 'type': 'enum'})
default: trust_driver
Where to get the current position. If trust state, then it will use the position stored to state (if present)
tolerance (int)
default: 20
Tolerance in motor steps
units (string)
default: mm
Units
update_rate (int)
default: 0
Update Rate
velocity (float)
default: 11000
velocity_gain (float)
default: 0
Velocity Gain
The pmc daemon will provide the following state information:
destination (double)
from has-position
hw_limits (array)
from has-limits
position (double)
from has-position
The pmc 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_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 properties.
from has-position
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)
mm_to_steps
➜ int
Convert mm travel to motor steps
parameters:
mm (float)
mm of travel
reset_to_known_position
➜ null
Reset the represented position to a known actual position
parameters:
position (float)
Current actual position in mm
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
steps_to_mm
➜ float
Convert motor steps to mm travel
parameters:
steps (int)
Number of motor steps
stop
➜ null
Halt motion of the motor
built 2024-02-09 01:44:16 CC0: no copyright