All Implemented Interfaces:
ConfigAware<FCMPumpConfig>, HandleAware, Abortable, Cancelable, Terminable, CriticalDataSource, PourAvailability

public class FCMPump extends AbstractFCMPump<FCMPumpConfig> implements CriticalDataSource
Represents an FCM pump.
Version:
Jun-29-17
  • 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

    • pumpInfoWater

      public static PumpInfo pumpInfoWater()
      Return default pump info for water.
    • pumpInfoCarb

      public static PumpInfo pumpInfoCarb()
      Return default pump info for carb.
    • 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 CriticalDataSource
    • getCriticalData

      public byte[] getCriticalData() throws Exception
      Specified by:
      getCriticalData in interface CriticalDataSource
      Throws:
      Exception
    • setCriticalData

      public boolean setCriticalData(byte[] bytes) throws Exception
      Specified by:
      setCriticalData in interface 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 ReadyIndicator getCriticalDataReady()
      Specified by:
      getCriticalDataReady in interface CriticalDataSource