Class EpicsEnumPositioner

All Implemented Interfaces:
ControllerRecord, Device, EnumPositioner, Scannable, Configurable, Findable, gda.observable.IObservable, gov.aps.jca.event.ConnectionListener, gov.aps.jca.event.MonitorListener, EventListener
Direct Known Subclasses:
CamZoomPositioner

@ServiceInterface(EnumPositioner.class) public class EpicsEnumPositioner extends EnumPositionerBase implements gov.aps.jca.event.MonitorListener, gov.aps.jca.event.ConnectionListener, ControllerRecord
Driver class for Epics Positioners
  • Constructor Details

    • EpicsEnumPositioner

      public EpicsEnumPositioner()
      Constructor.
  • Method Details

    • configure

      public void configure() throws FactoryException
      Description copied from class: ConfigurableBase
      Default implementation for classes that do not have to do any specific configuration.
      Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.
      Specified by:
      configure in interface Configurable
      Overrides:
      configure in class ConfigurableBase
      Throws:
      FactoryException - if there is an error in configuration e.g. required variable not set or cannot connect to device
    • rawAsynchronousMoveTo

      public void rawAsynchronousMoveTo(Object position) throws DeviceException
      Description copied from class: ScannableBase
      [Consider abstract] Trigger a move/operation to an internal/hardware position and return immediately.
      Overrides:
      rawAsynchronousMoveTo in class ScannableBase
      Parameters:
      position - Position in its internal/hardware representation. e.g. with units and offsets removed
      Throws:
      DeviceException
      See Also:
    • monitorChanged

      public void monitorChanged(gov.aps.jca.event.MonitorEvent arg0)
      Specified by:
      monitorChanged in interface gov.aps.jca.event.MonitorListener
    • getStatus

      public EnumPositionerStatus getStatus() throws DeviceException
      Description copied from interface: EnumPositioner
      Returns the current status
      Specified by:
      getStatus in interface EnumPositioner
      Overrides:
      getStatus in class EnumPositionerBase
      Returns:
      the status
      Throws:
      DeviceException
    • logStatusOnError

      protected void logStatusOnError()
    • stop

      public void stop() throws DeviceException
      Description copied from class: ScannableBase
      Stop the current move/operation. Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.
      Specified by:
      stop in interface Scannable
      Overrides:
      stop in class ScannableBase
      Throws:
      DeviceException
      See Also:
    • getPosition

      public String getPosition() throws DeviceException
      Description copied from class: ScannableBase
      Returns the current position of the Scannable. Called by ConcurentScan at the end of the point. Reads an internal (hardware) position from rawGetPosition, converts this to an external (user) position and returns it.
      Specified by:
      getPosition in interface Scannable
      Overrides:
      getPosition in class ScannableBase
      Returns:
      Current position with an element for each input and extra field. null if their are no fields.
      Throws:
      DeviceException
    • connectionChanged

      public void connectionChanged(gov.aps.jca.event.ConnectionEvent ev)
      Specified by:
      connectionChanged in interface gov.aps.jca.event.ConnectionListener
    • getPvBase

      public String getPvBase()
    • setPvBase

      public void setPvBase(String pvBase)
    • getControllerRecordName

      public String getControllerRecordName()
      Description copied from interface: ControllerRecord
      Gets the name of the controller record, e.g. EPICS process variable name. For example, in NeXus this value can be written as the value of the controller_record field for the NXpositioner for the scannable.
      Specified by:
      getControllerRecordName in interface ControllerRecord
      Returns:
      controller record name
      See Also:
    • getController

      protected EpicsController getController()
    • getDoneMovingChnl

      protected gov.aps.jca.Channel getDoneMovingChnl()
    • getStatusChnl

      protected gov.aps.jca.Channel getStatusChnl()