Package gda.device.panda
Class EpicsPandaController
java.lang.Object
gda.factory.ConfigurableBase
gda.device.panda.EpicsPandaController
- All Implemented Interfaces:
PandaController,Configurable
-
Nested Class Summary
Nested classes/interfaces inherited from interface gda.device.panda.PandaController
PandaController.SeqTableState, PandaController.SequenceTableColumns, PandaController.SequenceTableRow, PandaController.SequenceTableTimeUnits, PandaController.TriggerType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidCreate all the PVAccess object for controlling PandaintGet the full path the hdf fileintReturn number of points captured by the Hdf writerdoubleintintintvoidputPvValue(String pvName, Object value) Set a value on Panda PV.voidRe-initialisation of values and states.voidsetBasePvName(String basePvName) booleansetHdfCapture(int state) Set the capture state on the Hdf writer and wait for completionvoidsetMonitorTimeoutSecs(double monitorTimeoutSecs) booleansetPCapArm(int state) Set the capture state on Position capture block and wait for completionvoidsetPulseEnable(String value) voidsetPulseTrig(String value) voidsetSeqBitA(String value) Set Sequence BitA valuevoidsetSeqTablePrescale(PandaController.SequenceTableTimeUnits unit, double value) Set the sequence table time units and prescale valuesvoidsetSeqTableRows(List<PandaController.SequenceTableRow> tableRows) Setup the sequence table using the list of tableRowsvoidsetupHdfWriter(String directory, String filename) Set the filename and directory in the Hdf writerbooleanwaitForHdfNumCaptured(int expectedFrame) Wait until >= expectedFrame points have been captured by the Hdf writer.Methods inherited from class gda.factory.ConfigurableBase
isConfigureAtStartup, isConfigured, setConfiguredMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface gda.factory.Configurable
isConfigureAtStartup, isConfigured
-
Constructor Details
-
EpicsPandaController
public EpicsPandaController()
-
-
Method Details
-
configure
public void configure()Create all the PVAccess object for controlling Panda- Specified by:
configurein interfaceConfigurable- Overrides:
configurein classConfigurableBase
-
reconfigure
public void reconfigure()Description copied from interface:ConfigurableRe-initialisation of values and states.Moved from Reconfigurable which has been deleted
- Specified by:
reconfigurein interfaceConfigurable- Overrides:
reconfigurein classConfigurableBase
-
putPvValue
Description copied from interface:PandaControllerSet a value on Panda PV. This can be used to set arbitrary values that are not accessible via 'set' methods on the controller.- Specified by:
putPvValuein interfacePandaController- Parameters:
pvName- name of pv to be set (e.g. 'PCAP:ARM')value-- Throws:
DeviceException
-
setSeqTableRows
public void setSeqTableRows(List<PandaController.SequenceTableRow> tableRows) throws DeviceException Description copied from interface:PandaControllerSetup the sequence table using the list of tableRows- Specified by:
setSeqTableRowsin interfacePandaController- Parameters:
tableRows-- Throws:
DeviceException
-
setSeqTablePrescale
public void setSeqTablePrescale(PandaController.SequenceTableTimeUnits unit, double value) throws DeviceException Description copied from interface:PandaControllerSet the sequence table time units and prescale values- Specified by:
setSeqTablePrescalein interfacePandaController- Parameters:
unit-value-- Throws:
DeviceException
-
setSeqBitA
Description copied from interface:PandaControllerSet Sequence BitA value- Specified by:
setSeqBitAin interfacePandaController- Parameters:
value-- Throws:
DeviceException
-
getSeqTableLine
- Specified by:
getSeqTableLinein interfacePandaController- Returns:
- Number of the sequence table line currently being processed
- Throws:
DeviceException
-
getSeqTableLineRepeat
- Specified by:
getSeqTableLineRepeatin interfacePandaController- Returns:
- the repetition number of the sequence table line being run
- Throws:
DeviceException
-
getSeqTableState
- Specified by:
getSeqTableStatein interfacePandaController- Returns:
- state of the sequence table - one states in
PandaController.SeqTableState - Throws:
DeviceException
-
setPCapArm
Description copied from interface:PandaControllerSet the capture state on Position capture block and wait for completion- Specified by:
setPCapArmin interfacePandaController- Parameters:
state- Use 1 to arm, 0 to disarm- Returns:
- True if capture state was set successfully within timeout, False otherwise
- Throws:
DeviceException
-
getPCapArm
- Specified by:
getPCapArmin interfacePandaController- Returns:
- capture state on Position capture block (0 = disarmed, 1 = armed)
- Throws:
DeviceException
-
setPulseTrig
- Specified by:
setPulseTrigin interfacePandaController- Throws:
DeviceException
-
setPulseEnable
- Specified by:
setPulseEnablein interfacePandaController- Throws:
DeviceException
-
setupHdfWriter
Description copied from interface:PandaControllerSet the filename and directory in the Hdf writer- Specified by:
setupHdfWriterin interfacePandaController- Parameters:
directory-filename-- Throws:
DeviceException
-
setHdfCapture
Description copied from interface:PandaControllerSet the capture state on the Hdf writer and wait for completion- Specified by:
setHdfCapturein interfacePandaController- Parameters:
state- 1 to arm, 0 to disarm- Returns:
- True if capture state was set successfully within timeout, False otherwise
- Throws:
DeviceException
-
getHdfCapture
- Specified by:
getHdfCapturein interfacePandaController- Returns:
- Current capture state of the hdf writer (0 for disarmed, 1 for armed).
- Throws:
DeviceException
-
getHdfFileFullPath
Description copied from interface:PandaControllerGet the full path the hdf file- Specified by:
getHdfFileFullPathin interfacePandaController- Throws:
DeviceException
-
getHdfNumCaptured
Description copied from interface:PandaControllerReturn number of points captured by the Hdf writer- Specified by:
getHdfNumCapturedin interfacePandaController- Throws:
DeviceException
-
waitForHdfNumCaptured
Description copied from interface:PandaControllerWait until >= expectedFrame points have been captured by the Hdf writer.- Specified by:
waitForHdfNumCapturedin interfacePandaController- Parameters:
expectedFrame-- Returns:
- True if frame number was reached within timeout, False otherwise
- Throws:
DeviceException
-
getBasePvName
-
setBasePvName
-
getMonitorTimeoutSecs
public double getMonitorTimeoutSecs() -
setMonitorTimeoutSecs
public void setMonitorTimeoutSecs(double monitorTimeoutSecs)
-