org.lsst.ccs.subsystems.fcs.common
Interface Carousel

All Known Implementing Classes:
CarouselModule, SftCarouselModule

public interface Carousel

This interface is a model for a carousel. The Filter carousel holds 5 filters. The filters are held in 5 sockets around the carousel.

Author:
virieux

Method Summary
 void engageClampsContact()
          After a rotation, when the carousel is stopped the power contact can be engaged again.
 double getPosition()
          The carousel position measures the rotation angle of the carousel within the fixed part of the camera.
 CarouselSocket getSocketAtStandby()
          This methods returns the socket at standby position or null if there is no socket at standby position.
 boolean isAbleToMove()
          The carousel can be locked by a break or prevented to move by the autochanger fliprail.
 String lock()
          Lock the carousel (or engage the break).
 String releaseClamps()
          This is a command that can be sent to the carousel.
 void releaseClampsContact()
          Before rotating the carousel we have to release the power contact between the moving part and the fixed part.
 String rotate(double angle)
          This method is a command that can be sent to the carousel.
 String stop()
          Stop the carousel if it is rotating.
 String unlock()
          Unlock the carousel (or disengage the break)
 String unlockClamps(Filter filter)
           
 

Method Detail

getPosition

double getPosition()
The carousel position measures the rotation angle of the carousel within the fixed part of the camera.

Returns:
The position of the carousel in degrees. Its values is greater or equal to 0 and less than 360.

isAbleToMove

boolean isAbleToMove()
The carousel can be locked by a break or prevented to move by the autochanger fliprail. The carousel is able to move if no piece of hardware (nor simulated hardware) prevents the carousel to move.

Returns:
true if the carousel is able to move, false if not.

rotate

String rotate(double angle)
              throws IllegalArgumentException,
                     org.lsst.ccs.bus.BadCommandException
This method is a command that can be sent to the carousel. It make the carousel rotating for a given angle.

Parameters:
angle - : given in degree available values for an angle : [-360,+360]
Returns:
Throws:
IllegalArgumentException - if the angle given as parameter is not in the ranges of available values.
org.lsst.ccs.bus.BadCommandException - if the carousel is already rotating or is unable to move.

stop

String stop()
Stop the carousel if it is rotating.

Returns:

lock

String lock()
Lock the carousel (or engage the break).

Returns:

unlock

String unlock()
Unlock the carousel (or disengage the break)

Returns:

getSocketAtStandby

CarouselSocket getSocketAtStandby()
This methods returns the socket at standby position or null if there is no socket at standby position. If the carousel is rotating, it returns null.

Returns:
the socket which is at standby position or null if there is no socket at standby position.

releaseClamps

String releaseClamps()
                     throws org.lsst.ccs.bus.BadCommandException,
                            org.lsst.ccs.bus.ErrorInCommandExecutionException,
                            HardwareError
This is a command that can be sent to the carousel. It releases (unlock it) the clamps at standby position. (when a clamp is released, it can be locked automaticaly when a filter comes in the socket)

Returns:
Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareError

unlockClamps

String unlockClamps(Filter filter)
                    throws org.lsst.ccs.bus.BadCommandException,
                           org.lsst.ccs.bus.ErrorInCommandExecutionException,
                           HardwareError
Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareError

releaseClampsContact

void releaseClampsContact()
Before rotating the carousel we have to release the power contact between the moving part and the fixed part.


engageClampsContact

void engageClampsContact()
After a rotation, when the carousel is stopped the power contact can be engaged again.



Copyright © 2013 LSST. All Rights Reserved.