All Implemented Interfaces:
com.tccc.kos.commons.core.service.config.ConfigAware<FCMPumpConfig>, 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.core.service.criticaldata.CriticalDataSource, com.tccc.kos.ext.dispense.PourAvailability

public class FCMPump extends AbstractFCMPump<FCMPumpConfig> implements com.tccc.kos.core.service.criticaldata.CriticalDataSource
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 int
     

    Fields inherited from class com.tccc.kos.ext.freestyle.hardware.can.subnode.pump.AbstractFCMPump

    TYPE
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    byte[]
     
    com.tccc.kos.commons.util.ready.ReadyIndicator
     
    int
    Get field calibration count
    int
    Get day of year of the in-field calibration (e.g.
    int
    Get remote calibration count
    int
    Get day of year of the remote calibration push
    int
    Get year of the remote calibration push
    Get the ASCII serial number of the pump.
    int
     
    boolean
    Return true if softStart is supported.
    boolean
    setCriticalData(byte[] bytes)
     
    void
    Set day of year of the in-field calibration (e.g.
    void
    Set year of the in-field calibration (e.g.
    void
    Set day of year of the remote calibration push
    void
    Set year of the remote calibration push
    void
    setSoftStart(boolean softStart)
    Set pump softstart flag

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

    disableSlowStartAfterPour, getType, setCarbSolenoidEnable, setSlowStart

    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.core.service.criticaldata.CriticalDataSource

    getSourceWeight, isCriticalDataReady

    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

    • CRITICAL_DATA_EEPROM_ADDR

      public static final int CRITICAL_DATA_EEPROM_ADDR
      See Also:
  • Constructor Details

    • FCMPump

      public FCMPump(CANBoard<?> board, PumpInfo info, int subNodeId, boolean tlx)
      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
      tlx - true if this is a tlx pump
  • Method Details

    • isSoftStart

      public boolean isSoftStart()
      Return true if softStart is supported.
    • setSoftStart

      public void setSoftStart(boolean softStart)
      Set pump softstart flag
    • getSerialNum

      public String getSerialNum()
      Get the ASCII serial number of the pump.
      Returns:
      the serial number in string
    • getSourceMaxLength

      public int getSourceMaxLength()
      Specified by:
      getSourceMaxLength in interface com.tccc.kos.core.service.criticaldata.CriticalDataSource
    • getCriticalData

      public byte[] getCriticalData() throws Exception
      Specified by:
      getCriticalData in interface com.tccc.kos.core.service.criticaldata.CriticalDataSource
      Throws:
      Exception
    • setCriticalData

      public boolean setCriticalData(byte[] bytes) throws Exception
      Specified by:
      setCriticalData in interface com.tccc.kos.core.service.criticaldata.CriticalDataSource
      Throws:
      Exception
    • setRemoteCalibDayOfYear

      public void setRemoteCalibDayOfYear(int doy) throws IOException
      Set day of year of the remote calibration push
      Parameters:
      doy - day number of the year (1=366)
      Throws:
      IOException
    • getRemoteCalibDayOfYear

      public int getRemoteCalibDayOfYear() throws IOException
      Get day of year of the remote calibration push
      Returns:
      doy day number of the year (1=366)
      Throws:
      IOException
    • setRemoteCalibYear

      public void setRemoteCalibYear(int year) throws IOException
      Set year of the remote calibration push
      Parameters:
      year - calibration year
      Throws:
      IOException
    • getRemoteCalibYear

      public int getRemoteCalibYear() throws IOException
      Get year of the remote calibration push
      Returns:
      calibration year
      Throws:
      IOException
    • setFieldCalibDayOfYear

      public void setFieldCalibDayOfYear(int doy) throws IOException
      Set day of year of the in-field calibration (e.g. recalibration from NCUI)
      Parameters:
      doy - day number of the year (1=366)
      Throws:
      IOException
    • getFieldCalibDayOfYear

      public int getFieldCalibDayOfYear() throws IOException
      Get day of year of the in-field calibration (e.g. recalibration from NCUI)
      Returns:
      doy day number of the year (1=366)
      Throws:
      IOException
    • setFieldCalibYear

      public void setFieldCalibYear(int year) throws IOException
      Set year of the in-field calibration (e.g. recalibration from NCUI)
      Parameters:
      year - calibration year
      Throws:
      IOException
    • getRemoteCalibCount

      public int getRemoteCalibCount() throws IOException
      Get remote calibration count
      Returns:
      total count of remote calibration
      Throws:
      IOException
    • getFieldCalibCount

      public int getFieldCalibCount() throws IOException
      Get field calibration count
      Returns:
      total count of field calibration
      Throws:
      IOException
    • getCriticalDataReady

      public com.tccc.kos.commons.util.ready.ReadyIndicator getCriticalDataReady()
      Specified by:
      getCriticalDataReady in interface com.tccc.kos.core.service.criticaldata.CriticalDataSource