Class MicroCalibrationService

java.lang.Object
com.tccc.kos.commons.util.ready.ReadyBean
com.tccc.kos.commons.core.service.AbstractService
com.tccc.kos.ext.freestyle.service.micro.calibration.MicroCalibrationService
All Implemented Interfaces:
CtxEventListener, ContextHandleAware, HandleAware, Ready, ReadyAndReadyListener, ReadyListener

public class MicroCalibrationService extends AbstractService
Service for managing micro pump calibration data.
Version:
2024-10-09
  • Field Details

  • Method Details

    • setStorageMgr

      public void setStorageMgr(MicroCalibrationStorageMgr storageMgr)
      By default the service uses CriticalData to store calibration data so that it survives across board swaps. However, if critical data is not available, the storage manager can be replaced to use some other form of persistence for micro pump calibration data. This must be called from the system app before the assembly is installed to ensure that the previous storage manager isn't used when hardware first links.
    • setPumpCalWithCode

      public void setPumpCalWithCode(MicroPump pump, String code) throws IOException
      Set the calibration value for the specified pump using the code on the pump. This will set both the baseline and running calibration value for the pump.
      Parameters:
      pump - the pump to set
      code - the calibration code from the pump sticker
      Throws:
      IOException
    • setPumpCalBaseline

      public void setPumpCalBaseline(MicroPump pump, double val, String src) throws IOException
      Set the baseline calibration value for the pump. This will update storage and the pump.
      Parameters:
      pump - the pump to update
      val - the new baseline value
      src - the source of the new calibration value
      Throws:
      IOException
    • setPumpCalRunning

      public void setPumpCalRunning(MicroPump pump, double val, String src) throws IOException
      Set the running calibration value for he pump. This will update storage and the pump.
      Parameters:
      pump - the pump to update
      val - the new running value
      src - the source of the new calibration value
      Throws:
      IOException
    • roundCalValue

      public double roundCalValue(MicroPump pump, double val)
      Given a calibration value, return the rounded value that will actually be stored in the associated storage system. In some cases the storage system may be space constrained and return a range-limited or less granular value.
      Parameters:
      pump - the pump the cal value is for
      val - the calibration value to round
    • getStorageCal

      public MicroCalibration getStorageCal(MicroPump pump)
      Return micro calibration for the specified pump from storage.
      Parameters:
      pump - the pump to return calibration data for
    • setTmpPumpCalRunning

      public void setTmpPumpCalRunning(MicroPump pump, double val) throws IOException
      Writes the running value directly to the pump, marking it as temporary so that it will be reset on the next reboot if not reset via api.
      Parameters:
      pump - the pump to update
      val - the new running value
      Throws:
      IOException
    • resetTmpPumpCalRunning

      public void resetTmpPumpCalRunning(MicroPump pump) throws IOException
      Reset the running value from storage if the current value in the pump is a temporary value.
      Parameters:
      pump - the pump to reset
      Throws:
      IOException
    • setPumpBothCal

      public void setPumpBothCal(MicroPump pump, double val, String src) throws IOException
      Set both the running and baseline calibration values for the pump.
      Parameters:
      pump - the pump being updated
      val - the new running/baseline value
      src - the source of the new cal values
      Throws:
      IOException
    • getBoardReport

      public MicroCalibrationReport getBoardReport(Board board)
      Return calibration report for a board.
    • getPumpReport

      public MicroCalibrationReport.PumpReport getPumpReport(MicroPump pump)
      Return calibration report for the specified pump.
    • getHistory

      public List<MicroCalibrationHistory> getHistory(MicroPump pump)
      Return calibration history for the specified pump.