Class AbstractFCMPump<T extends FCMPumpConfig>

java.lang.Object
com.tccc.kos.ext.dispense.Pump<T>
com.tccc.kos.ext.freestyle.FreestylePump<T>
com.tccc.kos.ext.freestyle.hardware.can.subnode.pump.AbstractCANPump<T>
com.tccc.kos.ext.freestyle.hardware.can.subnode.pump.AbstractFCMPump<T>
All Implemented Interfaces:
com.tccc.kos.commons.core.service.config.ConfigAware<T>, com.tccc.kos.commons.core.service.handle.HandleAware, com.tccc.kos.commons.util.Abortable, com.tccc.kos.commons.util.Cancelable, com.tccc.kos.commons.util.Terminable, com.tccc.kos.ext.dispense.PourAvailability
Direct Known Subclasses:
FCMPump, FFMPump, FixedRatePump

public abstract class AbstractFCMPump<T extends FCMPumpConfig> extends AbstractCANPump<T>
Represents an FCM pump.
Version:
Jun-29-17
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.tccc.kos.ext.dispense.PourAvailability

    com.tccc.kos.ext.dispense.PourAvailability.Type
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractFCMPump(CANBoard<?> board, PumpInfo info, int subNodeId)
    Create a pump with the specified CANOpen subNodeId.
    AbstractFCMPump(CANBoard<?> board, PumpInfo info, int subNodeId, boolean fixedRate)
    Create a pump with the specified CANOpen subNodeId.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
     
    void
    setCarbSolenoidEnable(boolean enable)
    Set the carb solenoid enable flag for the carb fcm.
    void
    setSlowStart(boolean slowStart)
    Set the slow start flag for the fcm.

    Methods inherited from class com.tccc.kos.ext.freestyle.hardware.can.subnode.pump.AbstractCANPump

    isAborted, toString, tpour, vpour

    Methods inherited from class com.tccc.kos.ext.freestyle.FreestylePump

    isFixedRatePump, setFixedRatePump

    Methods inherited from class com.tccc.kos.ext.dispense.Pump

    abort, cancel, getBeverageAvailabilityLock, getBeverageLocks, getBoard, getCategory, getConfig, getEffectiveIngredientId, getHandle, getHolder, getIngredientAvailabilityLock, getIngredientId, getIngredientLocks, getIntent, getLastChangedTime, getLastStartTime, getNominalRate, getNozzle, getPour, getPrevIngredientId, getUnavailableReasons, isBeveragePour, isIngredientPour, isInserted, postStop, pour, preStart, record, recordRate, setConfig, setLastStartTime, setPour, setPrevIngredientId, setUnavailableReasons, sinceLastStarted

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.tccc.kos.commons.core.service.config.ConfigAware

    onConfigChanged, onConfigSet

    Methods inherited from interface com.tccc.kos.commons.core.service.handle.HandleAware

    addHandleChild, getName, getPath

    Methods inherited from interface com.tccc.kos.ext.dispense.PourAvailability

    getAvailbilityLock
  • Field Details

  • Constructor Details

    • AbstractFCMPump

      public AbstractFCMPump(CANBoard<?> board, PumpInfo info, int subNodeId)
      Create a pump with the specified CANOpen subNodeId.
      Parameters:
      board - the board the sub-node is associated with
      info - info about the pump
      subNodeId - the CAN bus sub-node for this pump
    • AbstractFCMPump

      public AbstractFCMPump(CANBoard<?> board, PumpInfo info, int subNodeId, boolean fixedRate)
      Create a pump with the specified CANOpen subNodeId.
      Parameters:
      board - the board the sub-node is associated with
      info - info about the pump
      subNodeId - the CAN bus sub-node for this pump
      fixedRate - if true, the pump is fixed rate
  • Method Details

    • getType

      public String getType()
      Specified by:
      getType in class com.tccc.kos.ext.dispense.Pump<T extends FCMPumpConfig>
    • setSlowStart

      public void setSlowStart(boolean slowStart) throws IOException
      Set the slow start flag for the fcm. Once set, all subsequent pours will ramp up to prevent uncontrolled gas out from the pump. This is primarily used on the carb fcm while purging the carb tank to prevent damage to the flow meter. This must be disabled once it is no longer needed.
      Parameters:
      slowStart - true for slow start, false for normal mode
      Throws:
      IOException - if there is an error
    • disableSlowStartAfterPour

      public boolean disableSlowStartAfterPour()
    • setCarbSolenoidEnable

      public void setCarbSolenoidEnable(boolean enable) throws IOException
      Set the carb solenoid enable flag for the carb fcm. Once set, every time before carb water can be dispensed, the solenoid valve must open first. Then after carb water dispensing finishes, the solenoid valve must close.
      Parameters:
      enable - true for enable solenoid, false for disable
      Throws:
      IOException - if there is an error