Class I11Robot

All Implemented Interfaces:
Device, Robot, Scannable, Configurable, Findable, gda.observable.IObservable, gda.observable.IObserver

public class I11Robot extends ScannableBase implements Robot, gda.observable.IObserver
I11Robot Class
  • Constructor Details

    • I11Robot

      public I11Robot()
  • Method Details

    • getDoorLatch

      public DoorLatchState getDoorLatch()
    • setDoorLatch

      public void setDoorLatch(DoorLatchState doorLatch)
    • isStopInProgress

      public boolean isStopInProgress()
    • setStopInProgress

      public void setStopInProgress(boolean stopInProgress)
    • 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
    • asynchronousMoveTo

      public void asynchronousMoveTo(Object position) throws DeviceException
      Description copied from class: ScannableBase
      Trigger a move/operation and return immediately. Implementations of this method should be non-blocking to allow concurrent motion; the isBusy method will be used to determine when the move has completed. Converts the external (user) position to an internal position and passes this to rawAsynchronousMoveTo.
      Specified by:
      asynchronousMoveTo in interface Scannable
      Overrides:
      asynchronousMoveTo in class ScannableBase
      Parameters:
      position - Position to move to should have an element for each input field.
      Throws:
      DeviceException
    • getPosition

      public Object 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
    • isBusy

      public boolean isBusy() throws DeviceException
      Description copied from interface: Scannable
      Check if the Scannable is moving/operating.
      Specified by:
      isBusy in interface Scannable
      Returns:
      true - if operation carried out by moveTo has not completed yet
      Throws:
      DeviceException
    • setBusy

      public void setBusy(boolean b)
      Parameters:
      b -
    • waitWhileBusy

      public void waitWhileBusy() throws DeviceException, InterruptedException
      Description copied from class: ScannableBase
      Returns when operation carried out by moveTo has completed If this is to be overriden, isBusy must also be valid. Although the pos and scan command currently use this method to determine if the Scannable is busy, this must not be relied upon.
      Specified by:
      waitWhileBusy in interface Scannable
      Overrides:
      waitWhileBusy in class ScannableBase
      Throws:
      DeviceException
      InterruptedException
    • atScanStart

      public void atScanStart() throws DeviceException
      Description copied from class: ScannableBase
      Called for every Scannable at the start of a group of nested scans (or a single scan if that is the case) Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.
      Specified by:
      atScanStart in interface Scannable
      Overrides:
      atScanStart in class ScannableBase
      Throws:
      DeviceException
      See Also:
    • atScanEnd

      public void atScanEnd() throws DeviceException
      Description copied from class: ScannableBase
      Called for every Scannable at the end of a group of nested scans (or a single scan if that is the case).

      Note that this is only called if the Scan finishes normally, or has been requested to finish early. This will not be called if the scan finishes due to an exception of any kind. See Scannable.atCommandFailure() Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.

      Specified by:
      atScanEnd in interface Scannable
      Overrides:
      atScanEnd in class ScannableBase
      Throws:
      DeviceException
      See Also:
    • start

      public void start() throws DeviceException
      Description copied from interface: Robot
      starts the robot control
      Specified by:
      start in interface Robot
      Throws:
      DeviceException
    • clearSample

      public void clearSample() throws DeviceException
      Description copied from interface: Robot
      clear the sample from the sample stage and put it back onto carousel.
      Specified by:
      clearSample in interface Robot
      Throws:
      DeviceException
    • getError

      public String getError() throws DeviceException
      polls error code from Robot. gets the error code for engineer
      Specified by:
      getError in interface Robot
      Returns:
      error code
      Throws:
      DeviceException
      See Also:
    • finish

      public void finish() throws DeviceException
      finish robot action and power it down. release the hold to enable "start" command again
      Specified by:
      finish in interface Robot
      Throws:
      DeviceException
      See Also:
    • getSamplePosition

      public double getSamplePosition() throws DeviceException
      polls sample position number from robot gets the actual sample position number in Robot
      Specified by:
      getSamplePosition in interface Robot
      Returns:
      the actual sample position number in Robot
      Throws:
      DeviceException
      See Also:
    • getSampleState

      public SampleState getSampleState() throws DeviceException
      polls the sample state from robot gets robot's sample state i.e. where is the sample in relation to the robot.
      Specified by:
      getSampleState in interface Robot
      Returns:
      robot's sample state ie where is the sample in relation to the robot.
      Throws:
      DeviceException
      See Also:
    • nextSample

      public void nextSample() throws DeviceException
      Description copied from interface: Robot
      fetches the next sample from the carousel and put it on sample stage.
      Specified by:
      nextSample in interface Robot
      Throws:
      DeviceException
    • nextSample

      public void nextSample(double n) throws DeviceException
      Description copied from interface: Robot
      fetches the n'th sample from the carousel and put it on sample stage.
      Specified by:
      nextSample in interface Robot
      Parameters:
      n -
      Throws:
      DeviceException
    • recover

      public void recover() throws DeviceException
      Description copied from interface: Robot
      reset robot following interruption
      Specified by:
      recover in interface Robot
      Throws:
      DeviceException
    • 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:
    • update

      public void update(Object theObserved, Object changeCode)
      Specified by:
      update in interface gda.observable.IObserver
    • toString

      public String toString()
      Overrides:
      toString in class ScannableBase
    • getRobotController

      public RobotNX100Controller getRobotController()
      return the robot controller instance.
      Returns:
      the robot controller instance
    • setRobotController

      public void setRobotController(RobotNX100Controller robotController)
      sets the robot controller instance
      Parameters:
      robotController -
    • getSampleStateController

      public RobotSampleState getSampleStateController()
      returns the sample state controller instance
      Returns:
      the sample state controller instance
    • setSampleStateController

      public void setSampleStateController(RobotSampleState sampleStateController)
      sets the sample state controller instance
      Parameters:
      sampleStateController -
    • getNextSampleNumberController

      public NextSamplePosition getNextSampleNumberController()
      returns the next sample position controller instance
      Returns:
      the next sample position controller instance
    • setNextSampleNumberController

      public void setNextSampleNumberController(NextSamplePosition nextSampleNumberController)
      sets the next sample position controller instance
      Parameters:
      nextSampleNumberController -
    • getCurrentSampleNumberController

      public CurrentSamplePosition getCurrentSampleNumberController()
      returns the current sample position controller instance
      Returns:
      the current sample position controller instance
    • setCurrentSampleNumberController

      public void setCurrentSampleNumberController(CurrentSamplePosition currentSampleNumberController)
      gets the current sample position controller instance
      Parameters:
      currentSampleNumberController -
    • getSampleNumber

      public double getSampleNumber()
    • setSampleNumber

      public void setSampleNumber(double sampleNumber)
    • getExternalChecks

      public Collection<RobotExternalStateCheck> getExternalChecks()
    • setExternalChecks

      public void setExternalChecks(Collection<RobotExternalStateCheck> checks)