public interface Driver extends Identifiable, Named, java.io.Closeable, WizardConfigurable, PropertySheetHolder, Solutions.Subject
Modifier and Type | Interface and Description |
---|---|
static class |
Driver.MotionControlType
The MotionControlType determines how the OpenPnP MotionPlanner will do its planning and how it will talk
to the controller.
|
PropertySheetHolder.PropertySheet
Modifier and Type | Method and Description |
---|---|
void |
actuate(Actuator actuator,
boolean on)
Actuates a machine defined object with a boolean state.
|
void |
actuate(Actuator actuator,
double value)
Actuates a machine defined object with a double value.
|
default void |
actuate(Actuator actuator,
java.lang.String value)
Actuates a machine defined object with a String value.
|
default java.lang.String |
actuatorRead(Actuator actuator)
Read a String value from the given Actuator.
|
default java.lang.String |
actuatorRead(Actuator actuator,
java.lang.Object parameter)
Read a given String value from the given Actuator.
|
Length |
getFeedRatePerSecond() |
default java.lang.Integer |
getInterpolationJerkSteps() |
default java.lang.Integer |
getInterpolationMaxSteps() |
default java.lang.Integer |
getInterpolationMinStep() |
default java.lang.Double |
getInterpolationTimeStep() |
default Length |
getJunctionDeviation() |
Length |
getMinimumRate(int order) |
Driver.MotionControlType |
getMotionControlType() |
AxesLocation |
getReportedLocation(long timeout)
Get the momentary real-time location from the controller.
|
LengthUnit |
getUnits() |
void |
home(Machine machine)
Perform the hardware homing operation.
|
boolean |
isMotionPending() |
boolean |
isSupportingPreMove() |
boolean |
isSyncInitialLocation() |
boolean |
isUsingLetterVariables() |
void |
moveTo(HeadMountable hm,
Motion.MoveToCommand moveToCommand)
Executes the given Motion.
|
void |
setEnabled(boolean enabled)
Attempts to enable the Driver, turning on all outputs.
|
void |
setGlobalOffsets(Machine machine,
AxesLocation axesLocation)
Set the current physical axis positions to be reinterpreted as the specified coordinates.
|
void |
waitForCompletion(HeadMountable hm,
MotionPlanner.CompletionType completionType)
Perform a coordinated wait for completion.
|
getId
getConfigurationWizard
getChildPropertySheetHolders, getPropertySheetHolderActions, getPropertySheetHolderIcon, getPropertySheetHolderTitle, getPropertySheets
findIssues, getSubjectIcon, getSubjectText
LengthUnit getUnits()
void home(Machine machine) throws java.lang.Exception
machine
- java.lang.Exception
void setGlobalOffsets(Machine machine, AxesLocation axesLocation) throws java.lang.Exception
machine
- axesLocation
- java.lang.Exception
http://www.linuxcnc.org/docs/html/gcode/coordinates.html#_the_g92_commands
,
http://smoothieware.org/g92-cnc
,
https://github.com/synthetos/TinyG/wiki/Coordinate-Systems#offsets-to-the-offsets-g92
void moveTo(HeadMountable hm, Motion.MoveToCommand moveToCommand) throws java.lang.Exception
hm
- The HeadMountable having triggered the move. This is mostly for proprietary machine driver support
and might only be a stand-in in some motion blending scenarios.moveToCommand
- The moveTo Motion to execute, including target location and limits for feedrate,
acceleration etc. as shaped by the MotionPlannerjava.lang.Exception
AxesLocation getReportedLocation(long timeout) throws java.lang.Exception
timeout
- TODOjava.lang.Exception
boolean isSyncInitialLocation()
boolean isMotionPending()
void waitForCompletion(HeadMountable hm, MotionPlanner.CompletionType completionType) throws java.lang.Exception
hm
- The HeadMountable to wait for. If null, wait for all the axes on the driver. Most drivers/controllers will probably
not be able to wait for just a sub-set of axes, so the'll wait for all the axes anyway.completionType
- The kind of completion wanted.java.lang.Exception
void actuate(Actuator actuator, boolean on) throws java.lang.Exception
actuator
- on
- java.lang.Exception
void actuate(Actuator actuator, double value) throws java.lang.Exception
actuator
- value
- java.lang.Exception
default void actuate(Actuator actuator, java.lang.String value) throws java.lang.Exception
actuator
- value
- java.lang.Exception
default java.lang.String actuatorRead(Actuator actuator) throws java.lang.Exception
actuator
- java.lang.Exception
default java.lang.String actuatorRead(Actuator actuator, java.lang.Object parameter) throws java.lang.Exception
actuator
- parameter
- java.lang.Exception
void setEnabled(boolean enabled) throws java.lang.Exception
enabled
- java.lang.Exception
boolean isSupportingPreMove()
boolean isUsingLetterVariables()
Driver.MotionControlType getMotionControlType()
Length getFeedRatePerSecond()
default java.lang.Integer getInterpolationMaxSteps()
default java.lang.Integer getInterpolationJerkSteps()
default java.lang.Double getInterpolationTimeStep()
default java.lang.Integer getInterpolationMinStep()
default Length getJunctionDeviation()
Length getMinimumRate(int order)
order
- Derivative order, velocity (1), acceleration (2), jerk (3)