Class IngredientNozzlePipeline
java.lang.Object
com.tccc.kos.ext.dispense.service.nozzle.NozzlePipeline
com.tccc.kos.ext.dispense.pipeline.ingredient.IngredientNozzlePipeline
- All Implemented Interfaces:
com.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
,com.tccc.kos.commons.core.service.handle.HandleAware
public class IngredientNozzlePipeline
extends NozzlePipeline
implements com.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
Nozzle pipeline that supports pump operations via pump intents. This is used
for ingredient pouring which covers most admin ui related pour functionality.
Intents are sequences of PumpOp
beans which are run as a group.
When pouring concentrated ingredients, a PumpOp
can be configured to
require dilution. For this to work, the pump that pours the dilution (typically
water) must be set using setDilutionPump()
. When dilution is needed,
the pump will be run with an intent of type dilution
. This must be
defined for the dilution pump for dilution to work and it typically a max
duration pour as it will be cancelled when no longer required. Any grants
used in the dilution intent will be ignored to prevent dilution from being
blocked.
- Since:
- 1.0
- Version:
- 2023-01-23
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionPump<?>
Return the pump configured for dilution.Return theIngredientPipelineService
used to pour intents for individual pumps.Return thePumpOpGrantService
for the pipeline.void
onConfigChanged
(com.tccc.kos.commons.core.service.config.BeanChanges changes) void
void
setDilutionPump
(Pump<?> pump) Set the pump to use for dilution.void
setPumpOpGrantService
(PumpOpGrantService service) Replace thePumpOpGrantService
for this pipeline.Methods inherited from class com.tccc.kos.ext.dispense.service.nozzle.NozzlePipeline
getCtx, getHandle, getNozzle, getPumpEventService, getTopicPrefix, isInstalled, send, send, send, start, stop
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.tccc.kos.commons.core.service.config.ConfigAware
onConfigSet
Methods inherited from interface com.tccc.kos.commons.core.service.handle.HandleAware
addHandleChild, getHandle, getName, getPath
-
Constructor Details
-
IngredientNozzlePipeline
-
-
Method Details
-
onConfigChanged
public void onConfigChanged(com.tccc.kos.commons.core.service.config.BeanChanges changes) - Specified by:
onConfigChanged
in interfacecom.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
-
getIngredientPipelineService
Return theIngredientPipelineService
used to pour intents for individual pumps. -
getPumpOpGrantService
Return thePumpOpGrantService
for the pipeline. This can be used to add additionalPumpOpGrantManager
instances to the service. -
setPumpOpGrantService
Replace thePumpOpGrantService
for this pipeline. This can be used to share a single service across multiple nozzles. -
getDilutionPump
Return the pump configured for dilution. -
setDilutionPump
Set the pump to use for dilution. This is only required when using dilution in PumpOps which is generally only required for highly concentrated ingredients such as those used in micro-dosing. If set, this pump must also have an intent named dilution which will be used for the dilution process. -
getConfig
- Specified by:
getConfig
in interfacecom.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
-
setConfig
- Specified by:
setConfig
in interfacecom.tccc.kos.commons.core.service.config.ConfigAware<IngredientNozzlePipelineConfig>
-