public interface Machine extends WizardConfigurable, PropertySheetHolder, java.io.Closeable, Solutions.Subject
PropertySheetHolder.PropertySheet
Modifier and Type | Field and Description |
---|---|
static long |
DEFAULT_TASK_BUSY_TIMEOUT_MS |
Modifier and Type | Method and Description |
---|---|
void |
addActuator(Actuator actuator) |
void |
addAxis(Axis axis) |
void |
addCamera(Camera camera) |
void |
addDriver(Driver driver) |
void |
addFeeder(Feeder feeder) |
void |
addListener(MachineListener listener) |
void |
addNozzleTip(NozzleTip nozzleTip) |
void |
addSignaler(Signaler signaler) |
default <T> T |
execute(java.util.concurrent.Callable<T> callable)
Calls
execute(Callable, boolean, long, long) with default busy timeout. |
default <T> T |
execute(java.util.concurrent.Callable<T> callable,
boolean onlyIfEnabled,
long busyTimeout)
Calls
execute(Callable, boolean, long, long) with default busy timeout. |
<T> T |
execute(java.util.concurrent.Callable<T> callable,
boolean onlyIfEnabled,
long busyTimeout,
long executeTimeout)
Execute a task to be run with access to the Machine.
|
default <T> T |
executeIfEnabled(java.util.concurrent.Callable<T> callable)
Same as
execute(Callable, boolean, long, long) but the task is only executed
if the Machine is enabled. |
Actuator |
getActuator(java.lang.String id)
Get the Actuator attached to this Machine and not to a Head that has the specified id.
|
Actuator |
getActuatorByName(java.lang.String name) |
java.util.List<Actuator> |
getActuators()
Get a list of Actuators that are attached to this Machine and not to a Head.
|
java.util.List<Actuator> |
getAllActuators()
Gets a list of all Actuator attached to the Machine and to all the Heads.
|
java.util.List<Camera> |
getAllCameras()
Gets a list of all Cameras attached to the Machine and to all the Heads.
|
java.util.List<Axis> |
getAxes()
Gets a List of Axes attached to the Machine.
|
Axis |
getAxis(java.lang.String id) |
Camera |
getCamera(java.lang.String id) |
java.util.List<Camera> |
getCameras()
Gets a List of Cameras attached to the Machine that are not attached to Heads.
|
java.util.List<java.lang.Class<? extends Actuator>> |
getCompatibleActuatorClasses() |
java.util.List<java.lang.Class<? extends Axis>> |
getCompatibleAxisClasses() |
java.util.List<java.lang.Class<? extends Camera>> |
getCompatibleCameraClasses() |
java.util.List<java.lang.Class<? extends Driver>> |
getCompatibleDriverClasses() |
java.util.List<java.lang.Class<? extends Feeder>> |
getCompatibleFeederClasses() |
java.util.List<java.lang.Class<? extends MotionPlanner>> |
getCompatibleMotionPlannerClasses() |
java.util.List<java.lang.Class<? extends Nozzle>> |
getCompatibleNozzleClasses() |
java.util.List<java.lang.Class<? extends Signaler>> |
getCompatibleSignalerClasses() |
Head |
getDefaultHead() |
Location |
getDiscardLocation() |
Driver |
getDriver(java.lang.String id) |
java.util.List<Driver> |
getDrivers()
Gets a List of Drivers attached to the Machine.
|
Feeder |
getFeeder(java.lang.String id) |
Feeder |
getFeederByName(java.lang.String name) |
java.util.List<Feeder> |
getFeeders()
Gets a List of Feeders attached to the Machine.
|
FiducialLocator |
getFiducialLocator() |
Head |
getHead(java.lang.String id) |
Head |
getHeadByName(java.lang.String name) |
java.util.List<Head> |
getHeads()
Gets all active heads on the machine.
|
boolean |
getHomeAfterEnabled() |
MotionPlanner |
getMotionPlanner() |
NozzleTip |
getNozzleTip(java.lang.String id) |
NozzleTip |
getNozzleTipByName(java.lang.String name) |
java.util.List<NozzleTip> |
getNozzleTips()
Get a list of the NozzleTips currently attached to the Nozzle.
|
java.util.List<PartAlignment> |
getPartAlignments() |
PnpJobProcessor |
getPnpJobProcessor() |
java.lang.Object |
getProperty(java.lang.String name) |
Signaler |
getSignaler(java.lang.String id) |
Signaler |
getSignalerByName(java.lang.String name) |
java.util.List<Signaler> |
getSignalers()
Gets a List of Signalers attached to the Machine.
|
double |
getSpeed() |
Length |
getUnsafeZRoamingDistance()
Virtual Z axes (typically on cameras) are invisible, therefore it can easily be overlooked
by users that it is at unsafe Z.
|
void |
home()
Commands all Heads to perform visual homing if available.
|
boolean |
isAutoToolSelect() |
boolean |
isBusy() |
boolean |
isEnabled()
Returns whether the Machine is currently ready for commands.
|
boolean |
isHomed()
Returns whether the Machine is homed
|
boolean |
isParkAfterHomed() |
boolean |
isPoolScriptingEngines() |
boolean |
isSafeZPark() |
boolean |
isTask(java.lang.Thread thread)
Determines whether the given thread is a task thread currently executed by the machine.
|
void |
permutateActuator(Actuator actuator,
int direction) |
void |
permutateAxis(Axis axis,
int direction) |
void |
permutateCamera(Camera driver,
int direction) |
void |
permutateDriver(Driver driver,
int direction) |
void |
removeActuator(Actuator actuator) |
void |
removeAxis(Axis axis) |
void |
removeCamera(Camera camera) |
void |
removeDriver(Driver driver) |
void |
removeFeeder(Feeder feeder) |
void |
removeListener(MachineListener listener) |
void |
removeNozzleTip(NozzleTip nozzleTip) |
void |
removeSignaler(Signaler signaler) |
void |
setEnabled(boolean enabled)
Attempts to bring the Machine to a ready state or attempts to immediately stop it depending
on the value of enabled.
|
void |
setHomed(boolean homed) |
void |
setProperty(java.lang.String name,
java.lang.Object value) |
void |
setSpeed(double speed) |
<T> java.util.concurrent.Future<T> |
submit(java.util.concurrent.Callable<T> callable) |
<T> java.util.concurrent.Future<T> |
submit(java.util.concurrent.Callable<T> callable,
<any> callback) |
<T> java.util.concurrent.Future<T> |
submit(java.util.concurrent.Callable<T> callable,
<any> callback,
boolean ignoreEnabled)
Submit a task to be run with access to the Machine.
|
java.util.concurrent.Future<java.lang.Object> |
submit(java.lang.Runnable runnable) |
getConfigurationWizard
getChildPropertySheetHolders, getPropertySheetHolderActions, getPropertySheetHolderIcon, getPropertySheetHolderTitle, getPropertySheets
findIssues, getSubjectIcon, getSubjectText
static final long DEFAULT_TASK_BUSY_TIMEOUT_MS
java.util.List<Axis> getAxes()
Axis getAxis(java.lang.String id)
java.util.List<Head> getHeads()
Head getHead(java.lang.String id)
Head getHeadByName(java.lang.String name)
java.util.List<Signaler> getSignalers()
Signaler getSignaler(java.lang.String id)
Signaler getSignalerByName(java.lang.String name)
java.util.List<Feeder> getFeeders()
Feeder getFeeder(java.lang.String id)
Feeder getFeederByName(java.lang.String name)
java.util.List<Camera> getCameras()
java.util.List<Camera> getAllCameras()
Camera getCamera(java.lang.String id)
java.util.List<Actuator> getActuators()
java.util.List<Actuator> getAllActuators()
Actuator getActuator(java.lang.String id)
id
- Actuator getActuatorByName(java.lang.String name)
java.util.List<Driver> getDrivers()
Driver getDriver(java.lang.String id)
MotionPlanner getMotionPlanner()
void home() throws java.lang.Exception
java.lang.Exception
boolean isEnabled()
boolean isHomed()
void setEnabled(boolean enabled) throws java.lang.Exception
java.lang.Exception
void setHomed(boolean homed)
void addListener(MachineListener listener)
void removeListener(MachineListener listener)
java.util.List<java.lang.Class<? extends Axis>> getCompatibleAxisClasses()
java.util.List<java.lang.Class<? extends Feeder>> getCompatibleFeederClasses()
java.util.List<java.lang.Class<? extends Camera>> getCompatibleCameraClasses()
java.util.List<java.lang.Class<? extends Nozzle>> getCompatibleNozzleClasses()
java.util.List<java.lang.Class<? extends Actuator>> getCompatibleActuatorClasses()
java.util.List<java.lang.Class<? extends Signaler>> getCompatibleSignalerClasses()
java.util.List<java.lang.Class<? extends Driver>> getCompatibleDriverClasses()
java.util.List<java.lang.Class<? extends MotionPlanner>> getCompatibleMotionPlannerClasses()
void addAxis(Axis axis) throws java.lang.Exception
java.lang.Exception
void removeAxis(Axis axis)
void permutateAxis(Axis axis, int direction)
void addDriver(Driver driver) throws java.lang.Exception
java.lang.Exception
void removeDriver(Driver driver)
void permutateDriver(Driver driver, int direction)
void addFeeder(Feeder feeder) throws java.lang.Exception
java.lang.Exception
void removeFeeder(Feeder feeder)
void addSignaler(Signaler signaler) throws java.lang.Exception
java.lang.Exception
void removeSignaler(Signaler signaler)
void addCamera(Camera camera) throws java.lang.Exception
java.lang.Exception
void removeCamera(Camera camera)
void permutateCamera(Camera driver, int direction)
void addActuator(Actuator actuator) throws java.lang.Exception
java.lang.Exception
void removeActuator(Actuator actuator)
void permutateActuator(Actuator actuator, int direction)
PnpJobProcessor getPnpJobProcessor()
java.util.concurrent.Future<java.lang.Object> submit(java.lang.Runnable runnable)
<T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> callable)
<T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> callable, <any> callback)
boolean getHomeAfterEnabled()
<T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> callable, <any> callback, boolean ignoreEnabled)
callable
- callback
- ignoreEnabled
- True if the task should execute even if the machine is not enabled. This
is specifically for enabling the machine and should not typically be used elsewhere.<T> T execute(java.util.concurrent.Callable<T> callable, boolean onlyIfEnabled, long busyTimeout, long executeTimeout) throws java.lang.Exception
T
- callable
- onlyIfEnabled
- True if the task must only be executed if the machine is enabled.busyTimeout
- If the machine is busy executing other submitted task, the execution
will be rejected when the timeout (in milliseconds) expires, throwing a TimeoutException.
This will typically happen, when a long-running operation like a Job is pending.executeTimeout
- If the execution takes longer than this time (in milliseconds) the
method throws a TimeoutException. Note the callable will still continue after that.java.lang.Exception
default <T> T execute(java.util.concurrent.Callable<T> callable, boolean onlyIfEnabled, long busyTimeout) throws java.lang.Exception
execute(Callable, boolean, long, long)
with default busy timeout.java.lang.Exception
default <T> T execute(java.util.concurrent.Callable<T> callable) throws java.lang.Exception
execute(Callable, boolean, long, long)
with default busy timeout.T
- callable
- java.lang.Exception
default <T> T executeIfEnabled(java.util.concurrent.Callable<T> callable) throws java.lang.Exception
execute(Callable, boolean, long, long)
but the task is only executed
if the Machine is enabled.T
- callable
- java.lang.Exception
boolean isTask(java.lang.Thread thread)
thread
- boolean isBusy()
Head getDefaultHead() throws java.lang.Exception
java.lang.Exception
java.util.List<PartAlignment> getPartAlignments()
FiducialLocator getFiducialLocator()
Location getDiscardLocation()
void setSpeed(double speed)
double getSpeed()
java.lang.Object getProperty(java.lang.String name)
void setProperty(java.lang.String name, java.lang.Object value)
java.util.List<NozzleTip> getNozzleTips()
void addNozzleTip(NozzleTip nozzleTip) throws java.lang.Exception
java.lang.Exception
void removeNozzleTip(NozzleTip nozzleTip)
NozzleTip getNozzleTip(java.lang.String id)
NozzleTip getNozzleTipByName(java.lang.String name)
boolean isAutoToolSelect()
boolean isSafeZPark()
boolean isParkAfterHomed()
Length getUnsafeZRoamingDistance()
boolean isPoolScriptingEngines()