java.lang.Object
com.tccc.kos.commons.util.ready.ReadyBean
com.tccc.kos.ext.freestyle.service.cartridgeagitation.CartridgeAgitator
All Implemented Interfaces:
com.tccc.kos.commons.core.service.config.ConfigAware<CartridgeAgitatorConfig>, com.tccc.kos.commons.core.service.handle.HandleAware, com.tccc.kos.commons.core.service.state.StateAware<CartridgeAgitatorState>, com.tccc.kos.commons.util.ready.Ready, com.tccc.kos.commons.util.ready.ReadyAndReadyListener, com.tccc.kos.commons.util.ready.ReadyListener, com.tccc.kos.ext.dispense.service.insertion.InsertionHolderListener, com.tccc.kos.ext.dispense.service.insertion.InsertionListener, com.tccc.kos.ext.dispense.service.pumpevent.PumpListener, com.tccc.kos.ext.dispense.service.pumpevent.PumpLockListener

@ApiController(base="@path", title="Cartridge agitator", desc="Services for a particular cartridge agitator.") public class CartridgeAgitator extends com.tccc.kos.commons.util.ready.ReadyBean implements com.tccc.kos.commons.core.service.config.ConfigAware<CartridgeAgitatorConfig>, com.tccc.kos.commons.core.service.state.StateAware<CartridgeAgitatorState>, com.tccc.kos.ext.dispense.service.pumpevent.PumpLockListener, com.tccc.kos.ext.dispense.service.insertion.InsertionHolderListener
Agitator for a cartridge shelf or tower.
Version:
2024-09-30
  • Constructor Summary

    Constructors
    Constructor
    Description
    CartridgeAgitator(String name, CartridgeAgitatorAware board, boolean homeSensor)
    Create an agitator for the specified board
  • Method Summary

    Modifier and Type
    Method
    Description
     
    com.tccc.kos.commons.core.service.handle.Handle
     
    com.tccc.kos.commons.util.ListenerList<CartridgeAgitatorListener>
     
     
    boolean
    Return true if the agitator is properly homed.
    boolean
     
    void
    onConfigChanged(com.tccc.kos.commons.core.service.config.BeanChanges changes)
     
    void
    onContainerInsertStart(com.tccc.kos.ext.dispense.Container container, com.tccc.kos.ext.dispense.Holder[] holders)
     
    void
    onContainerRemove(com.tccc.kos.ext.dispense.Container container, com.tccc.kos.ext.dispense.Holder[] holders)
     
    void
    onPumpLock(com.tccc.kos.ext.dispense.service.nozzle.NozzlePipeline pipeline, com.tccc.kos.ext.dispense.Pump<?> pump)
     
    void
    onPumpUnlock(com.tccc.kos.ext.dispense.service.nozzle.NozzlePipeline pipeline, com.tccc.kos.ext.dispense.Pump<?> pump)
     
    void
    pause(Object reason, boolean home)
    Pause the agitator for the specified reason.
    void
    resume(Object reason)
    Resume the agitator by removing the pause reason.
    void
     
    com.tccc.kos.commons.util.concurrent.future.FutureWork
    Perform a test agitation.

    Methods inherited from class com.tccc.kos.commons.util.ready.ReadyBean

    getReady

    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, getName, getPath

    Methods inherited from interface com.tccc.kos.commons.util.ready.Ready

    isReady, setReady

    Methods inherited from interface com.tccc.kos.commons.util.ready.ReadyAndReadyListener

    onBeanReady, onDependenciesReady

    Methods inherited from interface com.tccc.kos.commons.util.ready.ReadyListener

    onDependenciesGroupReady
  • Constructor Details

    • CartridgeAgitator

      public CartridgeAgitator(String name, CartridgeAgitatorAware board, boolean homeSensor)
      Create an agitator for the specified board
      Parameters:
      name - the name of the agitator
      board - the board with the associated hardware
      homeSensor - true if the hardware has a home sensor
  • Method Details

    • pause

      public void pause(Object reason, boolean home)
      Pause the agitator for the specified reason.
      Parameters:
      reason - the pause reason
      home - if true, home when pausing
    • resume

      public void resume(Object reason)
      Resume the agitator by removing the pause reason. The callback will be used to actually trigger the start.
    • isHomed

      public boolean isHomed()
      Return true if the agitator is properly homed.
      Returns:
      true if properly homed
    • testAgitation

      @ApiEndpoint(POST="/test", desc="Run an agitation test.") public com.tccc.kos.commons.util.concurrent.future.FutureWork testAgitation()
      Perform a test agitation.
    • onConfigChanged

      public void onConfigChanged(com.tccc.kos.commons.core.service.config.BeanChanges changes)
      Specified by:
      onConfigChanged in interface com.tccc.kos.commons.core.service.config.ConfigAware<CartridgeAgitatorConfig>
    • getState

      public CartridgeAgitatorState getState()
      Specified by:
      getState in interface com.tccc.kos.commons.core.service.state.StateAware<CartridgeAgitatorState>
    • onPumpLock

      public void onPumpLock(com.tccc.kos.ext.dispense.service.nozzle.NozzlePipeline pipeline, com.tccc.kos.ext.dispense.Pump<?> pump)
      Specified by:
      onPumpLock in interface com.tccc.kos.ext.dispense.service.pumpevent.PumpLockListener
    • onPumpUnlock

      public void onPumpUnlock(com.tccc.kos.ext.dispense.service.nozzle.NozzlePipeline pipeline, com.tccc.kos.ext.dispense.Pump<?> pump)
      Specified by:
      onPumpUnlock in interface com.tccc.kos.ext.dispense.service.pumpevent.PumpLockListener
    • onContainerInsertStart

      public void onContainerInsertStart(com.tccc.kos.ext.dispense.Container container, com.tccc.kos.ext.dispense.Holder[] holders)
      Specified by:
      onContainerInsertStart in interface com.tccc.kos.ext.dispense.service.insertion.InsertionHolderListener
    • onContainerRemove

      public void onContainerRemove(com.tccc.kos.ext.dispense.Container container, com.tccc.kos.ext.dispense.Holder[] holders)
      Specified by:
      onContainerRemove in interface com.tccc.kos.ext.dispense.service.insertion.InsertionHolderListener
    • getConfig

      public CartridgeAgitatorConfig getConfig()
      Specified by:
      getConfig in interface com.tccc.kos.commons.core.service.config.ConfigAware<CartridgeAgitatorConfig>
    • setConfig

      public void setConfig(CartridgeAgitatorConfig config)
      Specified by:
      setConfig in interface com.tccc.kos.commons.core.service.config.ConfigAware<CartridgeAgitatorConfig>
    • getHandle

      public com.tccc.kos.commons.core.service.handle.Handle getHandle()
      Specified by:
      getHandle in interface com.tccc.kos.commons.core.service.handle.HandleAware
    • getListeners

      public com.tccc.kos.commons.util.ListenerList<CartridgeAgitatorListener> getListeners()
    • isHomeSensor

      public boolean isHomeSensor()