Interface PandaController

All Superinterfaces:
Configurable
All Known Implementing Classes:
DummyPandaController, EpicsPandaController

public interface PandaController extends Configurable
  • Method Details

    • setupHdfWriter

      void setupHdfWriter(String directory, String filename) throws DeviceException
      Set the filename and directory in the Hdf writer
      Parameters:
      directory -
      filename -
      Throws:
      DeviceException
    • setHdfCapture

      boolean setHdfCapture(int state) throws DeviceException
      Set the capture state on the Hdf writer and wait for completion
      Parameters:
      state - 1 to arm, 0 to disarm
      Returns:
      True if capture state was set successfully within timeout, False otherwise
      Throws:
      DeviceException
    • getHdfCapture

      int getHdfCapture() throws DeviceException
      Returns:
      Current capture state of the hdf writer (0 for disarmed, 1 for armed).
      Throws:
      DeviceException
    • getHdfFileFullPath

      String getHdfFileFullPath() throws DeviceException
      Get the full path the hdf file
      Throws:
      DeviceException
    • getHdfNumCaptured

      int getHdfNumCaptured() throws DeviceException
      Return number of points captured by the Hdf writer
      Throws:
      DeviceException
    • waitForHdfNumCaptured

      boolean waitForHdfNumCaptured(int expectedFrame) throws DeviceException
      Wait until >= expectedFrame points have been captured by the Hdf writer.
      Parameters:
      expectedFrame -
      Returns:
      True if frame number was reached within timeout, False otherwise
      Throws:
      DeviceException
    • setSeqTableRows

      void setSeqTableRows(List<PandaController.SequenceTableRow> tableRows) throws DeviceException
      Setup the sequence table using the list of tableRows
      Parameters:
      tableRows -
      Throws:
      DeviceException
    • setSeqTablePrescale

      void setSeqTablePrescale(PandaController.SequenceTableTimeUnits unit, double value) throws DeviceException
      Set the sequence table time units and prescale values
      Parameters:
      unit -
      value -
      Throws:
      DeviceException
    • setSeqBitA

      void setSeqBitA(String value) throws DeviceException
      Set Sequence BitA value
      Parameters:
      value -
      Throws:
      DeviceException
    • getSeqTableLine

      int getSeqTableLine() throws DeviceException
      Returns:
      Number of the sequence table line currently being processed
      Throws:
      DeviceException
    • getSeqTableLineRepeat

      int getSeqTableLineRepeat() throws DeviceException
      Returns:
      the repetition number of the sequence table line being run
      Throws:
      DeviceException
    • getSeqTableState

      Returns:
      state of the sequence table - one states in PandaController.SeqTableState
      Throws:
      DeviceException
    • setPCapArm

      boolean setPCapArm(int state) throws DeviceException
      Set the capture state on Position capture block and wait for completion
      Parameters:
      state - Use 1 to arm, 0 to disarm
      Returns:
      True if capture state was set successfully within timeout, False otherwise
      Throws:
      DeviceException
    • getPCapArm

      int getPCapArm() throws DeviceException
      Returns:
      capture state on Position capture block (0 = disarmed, 1 = armed)
      Throws:
      DeviceException
    • readData

      double[] readData(int frameIndex) throws DeviceException
      Return data from Panda (e.g. scaler counts, adc values) for the given frame number
      Parameters:
      frameIndex -
      Returns:
      array of data values
      Throws:
      DeviceException
    • readData

      double[][] readData(int startFrame, int endFrame) throws DeviceException
      Return several frames of data from Panda (e.g. scaler counts, adc values) for the given frame number
      Parameters:
      startFrame -
      endFrame -
      Returns:
      arrays of data values
      Throws:
      DeviceException
    • getOutputFormat

      String[] getOutputFormat()
      Formats to use when printing data returned by readData(int). (used in Jython console, Ascii output files).
      Returns:
      array of format strings
    • getOutputNames

      String[] getOutputNames()
      Returns:
      Names of the data returned by call to readData(int).
    • putPvValue

      void putPvValue(String pvName, Object value) throws DeviceException
      Set a value on Panda PV. This can be used to set arbitrary values that are not accessible via 'set' methods on the controller.
      Parameters:
      pvName - name of pv to be set (e.g. 'PCAP:ARM')
      value -
      Throws:
      DeviceException