Package gda.device

Interface IScannableMotor

All Superinterfaces:
Configurable, ControllerRecord, Device, Findable, gda.observable.IObservable, Scannable, ScannableMotion, ScannableMotionUnits
All Known Subinterfaces:
IScannableMotorObservable, ITweakableScannableMotor
All Known Implementing Classes:
AirBearingScannableMotor, B18EnergyScannable, ControllerScannable, Crystal1PitchScannable, DummyScannableMotor, IdealBaseX, QexafsScannable, ScannableAttenuatorWedge, ScannableMotor, SmarGonScannableMotor, TrajectoryScannableMotor, TurboXasScannable, TweakableScannableMotor, ZebraQexafsScannable, ZebraScannableMotor, ZebraScannableMotorForQexafs

public interface IScannableMotor extends ScannableMotionUnits, ControllerRecord
  • Field Details

    • WAS_ALREADY_BUSY_SO_COULD_NOT_BE_MOVED

      static final String WAS_ALREADY_BUSY_SO_COULD_NOT_BE_MOVED
      Couples (at present) ScannableMotor.rawAsynchronousMoveTo and RotationViewer.moveMotor
      See Also:
  • Method Details

    • setMotor

      void setMotor(Motor motor)
      Sets the motor used by this scannable motor.
      Parameters:
      motor - the motor
    • getMotor

      Motor getMotor()
      Method required by scripts which need to access the real motor at times.
      Before the script could get the motor name but now that the motor may be set by spring, scripts cannot get the underlying motor.
      Returns:
      Motor
    • setMotorName

      void setMotorName(String motorName)
      Parameters:
      motorName - The motorName to set.
    • getMotorName

      String getMotorName()
      Returns:
      Returns the motorName.
    • getSpeed

      double getSpeed() throws DeviceException
      Returns:
      speed of the motor
      Throws:
      DeviceException
    • getMotorResolution

      double getMotorResolution() throws DeviceException
      Returns:
      the resolution of the motor
      Throws:
      DeviceException
    • getDemandPositionTolerance

      double getDemandPositionTolerance()
      Returns:
      the deadband retry of an EPICS motor for eg.
    • getUserOffset

      double getUserOffset() throws DeviceException
      Returns:
      the user offset on the motor
      Throws:
      DeviceException
    • getTimeToVelocity

      double getTimeToVelocity() throws DeviceException
      Returns this motor's time to velocity.
      Throws:
      DeviceException
    • setTimeToVelocity

      void setTimeToVelocity(double timeToVelocity) throws DeviceException
      Sets this motor's time to velocity.
      Throws:
      DeviceException
    • setSpeed

      void setSpeed(double requiredSpeed) throws DeviceException
      Set the speed of the underlying motor
      Parameters:
      requiredSpeed - in the motor's units
      Throws:
      DeviceException
    • setPosition

      void setPosition(Object position) throws DeviceException
      Set the position
      Throws:
      DeviceException
    • getLowerMotorLimit

      Double getLowerMotorLimit() throws DeviceException
      Returns the lower motor limit in its external representation. Null if there is no lower Motor limit.
      Returns:
      limit in external representation
      Throws:
      DeviceException
    • getUpperMotorLimit

      Double getUpperMotorLimit() throws DeviceException
      Returns the upper motor limit in its external representation. Null if there is no upper Motor limit.
      Returns:
      limit in external representation
      Throws:
      DeviceException
    • getLowerInnerLimit

      Double getLowerInnerLimit() throws DeviceException
      Returns the innermost (i.e. the most limiting) of the lower Scannable and Motor limits.
      Returns:
      the highest minimum limit, or null if neither are set.
      Throws:
      DeviceException
    • getUpperInnerLimit

      Double getUpperInnerLimit() throws DeviceException
      Returns the innermost (i.e. the most limiting) of the upper Scannable and Motor limits.
      Returns:
      the lowest maximum limit, or null if neither are set.
      Throws:
      DeviceException