Motor driver for motors from Precision MicroControl Corporation.



The pmc daemon can be installed using the following package managers:



The pmc daemon is composed of the following traits:



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

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

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.

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

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

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

output_deadband (float) default: 0
Output Deadband

output_offset (float) default: 0
Output Offset

port (int)
TCP port for daemon to occupy.

position_deadband (float) default: 0
Position Deadband

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

tolerance (int) default: 20
Tolerance in motor steps

units (string) default: mm

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 (float)

hw_limits (array)

position (float)


The pmc 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)

mm_to_steps ➜ int
Convert mm travel to motor steps

mm (float)
mm of travel

reset_to_known_postion ➜ null
Reset the represented position to a known actual position

position (float)
Current actual position in mm

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

steps_to_mm ➜ float
Convert motor steps to mm travel

steps (int)
Number of motor steps

stop ➜ null
Halt motion of the motor

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