stella.omc
Interface Positioning

All Superinterfaces:
Driver, MultiAxes
All Known Subinterfaces:
Shutter
All Known Implementing Classes:
FilterWheel, MiniWheel, RelativeWheel, WifsipWheel, WindmillShutter

public interface Positioning
extends MultiAxes

A spinning driver allows to attain a numbered position. This position can be set and queried with the supplied methods. Additionally, it is able to attain a zero position, which is not necessariliy the position 0, but indicates some reset-marker. This interface is a convenience extension to multiaxis for drivers that control a single axis only.


Field Summary
 
Fields inherited from interface stella.omc.MultiAxes
KEY_INITZERO
 
Method Summary
 int getMaxPosition()
          Returns the maximum available position for the given axis.
 int getPosition()
          Returns the current position of the spinning driver.
 boolean offset(int steps)
          Offsets the filter wheel for the specified number of steps.
 boolean setPosition(int nr)
          Sets a position on the driver.
 boolean setZeroPosition()
          Calling this method should ensure that the driver is in a well-defined state.
 
Methods inherited from interface stella.omc.MultiAxes
getAxesNames, getMaxPosition, getMaxStep, getPosition, getStep, isContinuous, offset, setPosition, setZeroPosition
 
Methods inherited from interface io.Driver
close, getDriverName, isOpen, open
 

Method Detail

setZeroPosition

boolean setZeroPosition()
                        throws IOException
Calling this method should ensure that the driver is in a well-defined state. It allows the controller to define its position in a second way then, e.g. counting steps.
After a call to this method, it is often so, but not required, that the position of the driver is zero.

Returns:
True on success
Throws:
IOException - If driver communication failed.

getMaxPosition

int getMaxPosition()
                   throws IOException
Returns the maximum available position for the given axis.

Parameters:
axis - String representing the selected axis.
Throws:
IOException

getPosition

int getPosition()
                throws IOException
Returns the current position of the spinning driver. It is implementation dependant, if this method queries the driver or returns a cached value.

Returns:
A integer denoting one of the attainable positions.
Throws:
IOException - If driver communication failed.

setPosition

boolean setPosition(int nr)
                    throws IOException
Sets a position on the driver. The number of positions must be an acheivable one, otherwise an IllegalArgumentException might be thrown.

Returns:
True on success
Throws:
IOException - If driver communication failed.

offset

boolean offset(int steps)
               throws IOException
Offsets the filter wheel for the specified number of steps. The unit of the step is implementation dependant.

Throws:
IOException