org.lsst.ccs.subsystems.fcs
Class AutoChangerModule

java.lang.Object
  extended by java.util.Observable
      extended by org.lsst.ccs.framework.Module
          extended by org.lsst.ccs.subsystems.fcs.BasicAutoChangerModule
              extended by org.lsst.ccs.subsystems.fcs.AutoChangerModule
All Implemented Interfaces:
java.io.Serializable, java.util.Observer, AutoChanger

public class AutoChangerModule
extends BasicAutoChangerModule

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.lsst.ccs.framework.Module
org.lsst.ccs.framework.Module.ValueUpdate
 
Field Summary
 
Fields inherited from class org.lsst.ccs.subsystems.fcs.BasicAutoChangerModule
publishedByAutoChangerOutputName, state
 
Fields inherited from class org.lsst.ccs.framework.Module
log, name, nObserverThreads, registry, tickMillis
 
Constructor Summary
AutoChangerModule()
           
 
Method Summary
 java.lang.String closeFliprail()
           
 java.lang.String closeOnlineClamp()
          when a filter is at online position it is locked by a clamp.
 Filter getFilterOnline()
           
 java.lang.String getFilterOnlineName()
           
 FlipRailModule getFliprail()
           
 FlipRailState getFlipRailState()
           
 Motor getMotor()
           
 Latch getOnlineClamp()
           
 StatusDataPublishedByAutoChanger getStatusData()
           
 double getTrucksPosition()
           
 double getTrucksPositionAtStandby()
           
 double getTrucksPositionOnline()
           
 double getTrucksPositionSwapout()
           
 java.lang.String goToPosition(double requiredPosition)
          This method moves the autochanger trucks to a position given as a parameter.
 java.lang.String goToStandby()
           
 void initModule()
           
 void initPublishedData()
           
 boolean isMoving()
           
 void locateTrucks()
          This method has to be executed at the FCS startup.
 java.lang.String moveFilterToOnline(Filter aFilter)
           
 java.lang.String moveFilterToStandback(Filter aFilter)
           
 java.lang.String moveFilterToStandby()
           
 java.lang.String moveFilterToStandby(Filter aFilter)
           
 java.lang.String openFliprail()
           
 java.lang.String openOnlineClamp()
          when a filter is at online position it is locked by a clamp.
 void setFliprail(FlipRailModule fliprail)
           
 void setMotor(Motor motor)
           
 void setOnlineClamp(Latch onlineClamp)
           
 void setTrucksPositionAtStandby(double trucksPositionAtStandby)
           
 void setTrucksPositionOnline(double trucksPositionOnline)
           
 void setTrucksPositionSwapout(double trucksPositionSwapout)
           
 java.lang.String stop()
           
 void updatePublishedDataAndNotifyObservers()
           
 
Methods inherited from class org.lsst.ccs.subsystems.fcs.BasicAutoChangerModule
getFilterOnTrucks, getFilterOnTrucksName, getState, goToStandback, grabbeFilterAtStandby, isEmpty, lockLatchesAtStandby, processUpdate, setEmpty, setFilterOnTrucks, setState, toString, unGrabbeFilterAtStandby, unlockLatchesAtStandby
 
Methods inherited from class org.lsst.ccs.framework.Module
getContext, getModule, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, publishData, publishData, publishData, publishData, sendToReply, sendToStatus, setBeanName, setContext, setName, setNObserverThreads, setObservables, setStateModularSubsystem, setStateModularSubsystem, setTickMillis, shutdownNow, start, tick, update
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AutoChangerModule

public AutoChangerModule()
Method Detail

initModule

public void initModule()
Overrides:
initModule in class BasicAutoChangerModule

getStatusData

public StatusDataPublishedByAutoChanger getStatusData()
Overrides:
getStatusData in class BasicAutoChangerModule

initPublishedData

public void initPublishedData()
Specified by:
initPublishedData in interface AutoChanger
Overrides:
initPublishedData in class BasicAutoChangerModule

closeOnlineClamp

public java.lang.String closeOnlineClamp()
                                  throws org.lsst.ccs.bus.ErrorInCommandExecutionException
when a filter is at online position it is locked by a clamp. when the clamp is closed, the filter is hold at online position.

Throws:
org.lsst.ccs.bus.ErrorInCommandExecutionException

openOnlineClamp

public java.lang.String openOnlineClamp()
                                 throws org.lsst.ccs.bus.ErrorInCommandExecutionException
when a filter is at online position it is locked by a clamp. when the clamp is open, the filter is not hold at online position, so the autochanger can move the filter back to standby position.

Throws:
org.lsst.ccs.bus.ErrorInCommandExecutionException

openFliprail

public java.lang.String openFliprail()
                              throws org.lsst.ccs.bus.ErrorInCommandExecutionException,
                                     org.lsst.ccs.bus.BadCommandException
Throws:
org.lsst.ccs.bus.ErrorInCommandExecutionException
org.lsst.ccs.bus.BadCommandException

closeFliprail

public java.lang.String closeFliprail()
                               throws org.lsst.ccs.bus.ErrorInCommandExecutionException
Throws:
org.lsst.ccs.bus.ErrorInCommandExecutionException

getOnlineClamp

public Latch getOnlineClamp()

setOnlineClamp

public void setOnlineClamp(Latch onlineClamp)

getFliprail

public FlipRailModule getFliprail()

getFlipRailState

public FlipRailState getFlipRailState()

setFliprail

public void setFliprail(FlipRailModule fliprail)
Parameters:
fliprail - the fliprail to set

updatePublishedDataAndNotifyObservers

public void updatePublishedDataAndNotifyObservers()
Overrides:
updatePublishedDataAndNotifyObservers in class BasicAutoChangerModule

goToPosition

public java.lang.String goToPosition(double requiredPosition)
                              throws java.lang.IllegalArgumentException,
                                     org.lsst.ccs.bus.BadCommandException
This method moves the autochanger trucks to a position given as a parameter.

Specified by:
goToPosition in interface AutoChanger
Specified by:
goToPosition in class BasicAutoChangerModule
Parameters:
requiredPosition - the position the trucks will have at the end of the execution this method if every thing works fine. It implies the autochanger motor.
Returns:
Throws:
java.lang.IllegalArgumentException
org.lsst.ccs.bus.BadCommandException

stop

public java.lang.String stop()

moveFilterToOnline

public java.lang.String moveFilterToOnline(Filter aFilter)
                                    throws org.lsst.ccs.bus.BadCommandException,
                                           org.lsst.ccs.bus.ErrorInCommandExecutionException
Specified by:
moveFilterToOnline in interface AutoChanger
Specified by:
moveFilterToOnline in class BasicAutoChangerModule
Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException

moveFilterToStandby

public java.lang.String moveFilterToStandby(Filter aFilter)
                                     throws org.lsst.ccs.bus.BadCommandException,
                                            org.lsst.ccs.bus.ErrorInCommandExecutionException
Specified by:
moveFilterToStandby in interface AutoChanger
Specified by:
moveFilterToStandby in class BasicAutoChangerModule
Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException

goToStandby

public java.lang.String goToStandby()
Specified by:
goToStandby in class BasicAutoChangerModule

moveFilterToStandback

public java.lang.String moveFilterToStandback(Filter aFilter)
                                       throws org.lsst.ccs.bus.BadCommandException,
                                              org.lsst.ccs.bus.ErrorInCommandExecutionException
Specified by:
moveFilterToStandback in class BasicAutoChangerModule
Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException

moveFilterToStandby

public java.lang.String moveFilterToStandby()
                                     throws org.lsst.ccs.bus.BadCommandException,
                                            org.lsst.ccs.bus.ErrorInCommandExecutionException
Throws:
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException

getFilterOnline

public Filter getFilterOnline()

getFilterOnlineName

public java.lang.String getFilterOnlineName()

getTrucksPosition

public double getTrucksPosition()

getTrucksPositionAtStandby

public double getTrucksPositionAtStandby()

getTrucksPositionOnline

public double getTrucksPositionOnline()

getTrucksPositionSwapout

public double getTrucksPositionSwapout()

locateTrucks

public void locateTrucks()
This method has to be executed at the FCS startup. It checks the hardware trucks and set the trucks position.


setTrucksPositionAtStandby

public void setTrucksPositionAtStandby(double trucksPositionAtStandby)

setTrucksPositionOnline

public void setTrucksPositionOnline(double trucksPositionOnline)

setTrucksPositionSwapout

public void setTrucksPositionSwapout(double trucksPositionSwapout)

getMotor

public Motor getMotor()

setMotor

public void setMotor(Motor motor)

isMoving

public boolean isMoving()
Specified by:
isMoving in class BasicAutoChangerModule


Copyright © 2012 LSST. All Rights Reserved.