Package org.openpnp.spi
Interface Head
-
- All Superinterfaces:
Identifiable
,Named
,PropertySheetHolder
,Solutions.Subject
,WizardConfigurable
- All Known Implementing Classes:
AbstractHead
,ReferenceHead
public interface Head extends Identifiable, Named, WizardConfigurable, PropertySheetHolder, Solutions.Subject
A Head is a movable group of components attached to a Machine. Components which can be attached consist of Nozzles, Actuators and Cameras. A Head itself is not directly movable, but can be moved by moving any one of it's components. When any attached component is moved in (at least) X or Y, it is expected that all components attached to the Head also move in the same axes.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.openpnp.spi.PropertySheetHolder
PropertySheetHolder.PropertySheet
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
actuatePumpRequest(Nozzle nozzle, boolean on)
Request a pump actuation.void
addActuator(Actuator actuator)
void
addCamera(Camera camera)
void
addNozzle(Nozzle nozzle)
Actuator
getActuator(java.lang.String id)
Get the Actuator attached to this Head that has the specified id.Actuator
getActuatorByName(java.lang.String name)
Get the Actuator attached to this Head that has the specified name.java.util.List<Actuator>
getActuators()
Get a list of Actuators that are attached to this Head.Camera
getCamera(java.lang.String id)
Get the Camera attached to this Head that has the specified id.java.util.List<Camera>
getCameras()
Get a list of Cameras that are attached to this Head.Camera
getDefaultCamera()
HeadMountable
getDefaultHeadMountable()
Nozzle
getDefaultNozzle()
java.util.List<HeadMountable>
getHeadMountables()
Get a list of all the HeadMountables attached to this Head.Machine
getMachine()
double
getMaxPartSpeed()
Returns the maximum speed percentage allowed by any parts being carried by the Nozzles on the Head.Nozzle
getNozzle(java.lang.String id)
Get the Nozzle attached to this Head that has the specified id.Nozzle
getNozzleByName(java.lang.String name)
java.util.List<Nozzle>
getNozzles()
Get a list of Nozzles that are attached to this head.Location
getParkLocation()
Actuator
getPumpActuator()
Actuator
getzProbeActuator()
void
home()
Directs the Head to move to it's home position and to move any attached devices to their home positions.boolean
isCarryingPart()
Returns true if any nozzle on the Head is currently carrying a part.void
moveTo(HeadMountable hm, Location location, double speed, Motion.MotionOption... options)
All HeadMountable motion must go through the head to map to the right drivers.void
moveToSafeZ()
void
moveToSafeZ(double speed)
void
permutateActuator(Actuator actuator, int direction)
void
permutateCamera(Camera camera, int direction)
void
permutateNozzle(Nozzle nozzle, int direction)
void
removeActuator(Actuator actuator)
void
removeCamera(Camera camera)
void
removeNozzle(Nozzle nozzle)
void
setMachine(Machine machine)
-
Methods inherited from interface org.openpnp.model.Identifiable
getId
-
Methods inherited from interface org.openpnp.spi.PropertySheetHolder
getChildPropertySheetHolders, getPropertySheetHolderActions, getPropertySheetHolderIcon, getPropertySheetHolderTitle, getPropertySheets
-
Methods inherited from interface org.openpnp.model.Solutions.Subject
findIssues, getSubjectIcon, getSubjectText
-
Methods inherited from interface org.openpnp.spi.WizardConfigurable
getConfigurationWizard
-
-
-
-
Method Detail
-
getNozzles
java.util.List<Nozzle> getNozzles()
Get a list of Nozzles that are attached to this head.- Returns:
-
getNozzle
Nozzle getNozzle(java.lang.String id)
Get the Nozzle attached to this Head that has the specified id.- Parameters:
id
-- Returns:
-
getNozzleByName
Nozzle getNozzleByName(java.lang.String name)
-
getActuators
java.util.List<Actuator> getActuators()
Get a list of Actuators that are attached to this Head.- Returns:
-
getActuator
Actuator getActuator(java.lang.String id)
Get the Actuator attached to this Head that has the specified id.- Parameters:
id
-- Returns:
-
getActuatorByName
Actuator getActuatorByName(java.lang.String name)
Get the Actuator attached to this Head that has the specified name. Returns null if the name is null or empty.- Parameters:
id
-- Returns:
-
getCameras
java.util.List<Camera> getCameras()
Get a list of Cameras that are attached to this Head.- Returns:
-
getCamera
Camera getCamera(java.lang.String id)
Get the Camera attached to this Head that has the specified id.- Parameters:
id
-- Returns:
-
getHeadMountables
java.util.List<HeadMountable> getHeadMountables()
Get a list of all the HeadMountables attached to this Head.- Returns:
-
home
void home() throws java.lang.Exception
Directs the Head to move to it's home position and to move any attached devices to their home positions.- Throws:
java.lang.Exception
-
addCamera
void addCamera(Camera camera) throws java.lang.Exception
- Throws:
java.lang.Exception
-
removeCamera
void removeCamera(Camera camera)
-
permutateCamera
void permutateCamera(Camera camera, int direction)
-
addNozzle
void addNozzle(Nozzle nozzle) throws java.lang.Exception
- Throws:
java.lang.Exception
-
permutateNozzle
void permutateNozzle(Nozzle nozzle, int direction)
-
removeNozzle
void removeNozzle(Nozzle nozzle)
-
addActuator
void addActuator(Actuator actuator) throws java.lang.Exception
- Throws:
java.lang.Exception
-
removeActuator
void removeActuator(Actuator actuator)
-
permutateActuator
void permutateActuator(Actuator actuator, int direction)
-
moveToSafeZ
void moveToSafeZ(double speed) throws java.lang.Exception
- Throws:
java.lang.Exception
-
moveToSafeZ
void moveToSafeZ() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getDefaultCamera
Camera getDefaultCamera() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getDefaultNozzle
Nozzle getDefaultNozzle() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getDefaultHeadMountable
HeadMountable getDefaultHeadMountable() throws java.lang.Exception
- Returns:
- The default HeadMountable on a Head. A Camera takes precedence, but if none is present, the first HeadMountable will do.
- Throws:
java.lang.Exception
-
setMachine
void setMachine(Machine machine)
-
getMachine
Machine getMachine()
-
getParkLocation
Location getParkLocation()
-
moveTo
void moveTo(HeadMountable hm, Location location, double speed, Motion.MotionOption... options) throws java.lang.Exception
All HeadMountable motion must go through the head to map to the right drivers.- Parameters:
hm
-location
-speed
-- Throws:
java.lang.Exception
-
isCarryingPart
boolean isCarryingPart()
Returns true if any nozzle on the Head is currently carrying a part.- Returns:
-
getMaxPartSpeed
double getMaxPartSpeed()
Returns the maximum speed percentage allowed by any parts being carried by the Nozzles on the Head. The slowest part will dictate the max.- Returns:
-
getzProbeActuator
Actuator getzProbeActuator()
-
getPumpActuator
Actuator getPumpActuator()
-
actuatePumpRequest
void actuatePumpRequest(Nozzle nozzle, boolean on) throws java.lang.Exception
Request a pump actuation. It will be subject to pump control method, the presence of parts on other nozzles etc., whether the pump will actually be actuated.- Parameters:
nozzle
-on
-- Throws:
java.lang.Exception
-
-