|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.Observable
org.lsst.ccs.framework.Module
org.lsst.ccs.subsystems.fcs.CarouselModule
public class CarouselModule
This is a representation of the hardware of the carousel. It receives commands from the FCSMAinModule and send back an anknowledge. It publishes data on the status bus. In engineering mode it can receive commands from the engineering console. It has a latch, an engine which are connected to real or simulated hardware.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.lsst.ccs.framework.Module |
|---|
org.lsst.ccs.framework.Module.ValueUpdate |
| Field Summary | |
|---|---|
protected int |
nbSockets
|
static java.lang.String |
publishedByCarouselOutputName
|
| Fields inherited from class org.lsst.ccs.framework.Module |
|---|
log, name, nObserverThreads, registry, tickMillis |
| Constructor Summary | |
|---|---|
CarouselModule()
|
|
| Method Summary | |
|---|---|
static double |
addAngle(double angle1,
double angle2)
Add 2 angles : an angle is a double which value is between -360 and +360 |
Motor |
getCarouselMotor()
|
Actuator |
getClampsActuator()
|
Filter |
getFilterAtStandby()
|
java.lang.String |
getFilterInStandbyName()
|
double |
getFilterPosition(Filter filter)
|
Latch |
getLatch()
|
int |
getNbSockets()
|
double |
getPosition()
|
CarouselSocket |
getSocketAtStandby()
|
int |
getSocketNumber(Filter filter)
|
CarouselSocket[] |
getSockets()
|
double |
getStandbyPositionForFilter(Filter filter)
|
ModuleState |
getState()
|
StatusDataPublishedByCarousel |
getStatusData()
|
java.lang.String |
grabbeFilterAtStandby(Filter filter)
|
java.lang.String |
grabbeFilterAtStandby(java.lang.Object filterName)
|
void |
initModule()
|
void |
initPublishedData()
|
boolean |
isAbleToMove()
|
boolean |
isLocked()
|
boolean |
isOnStandby(Filter filter)
|
boolean |
isReadyToGrabbeAFilterAtStandby()
This method let us know if the carousel is ready to receive a filter at standby position : - the carousel must not rotate - an empty socket is at standby position. |
boolean |
isRotating()
|
java.lang.String |
lock()
|
protected java.lang.String |
moveFilterToStandby(Filter filter)
This method rotates the carousel to put the given filter in front of the autochanger (standby position). |
void |
printSockets()
Print for every socket on carousel, the name of the filter it contains. |
void |
processUpdate(java.util.Observable source,
org.lsst.ccs.framework.Module.ValueUpdate v)
What to do when the Modules we observe send there new values : we notify our own observers |
java.lang.String |
releaseClamps()
|
void |
removeFilterFromCarousel(Filter filter)
|
java.lang.String |
rotate(double angle)
Rotates carousel for an angle given as a parameter. |
void |
setCarouselMotor(Motor engine)
|
void |
setClampsActuator(Actuator clampsActuator)
|
void |
setLatch(Latch latch)
|
void |
setNbSockets(int nbSockets)
|
void |
setSockets(CarouselSocket[] sockets)
|
void |
setState(ModuleState state)
|
java.lang.String |
stop()
|
void |
tick()
What has to be done for each tick of the timer. |
java.lang.String |
toString()
|
void |
ungrabbeFilterAtStandby(Filter filter)
|
java.lang.String |
unlock()
|
java.lang.String |
unlockClamps()
|
| 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, start, 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 |
| Field Detail |
|---|
protected int nbSockets
public static java.lang.String publishedByCarouselOutputName
| Constructor Detail |
|---|
public CarouselModule()
| Method Detail |
|---|
public void initModule()
initModule in class org.lsst.ccs.framework.Modulepublic void initPublishedData()
public StatusDataPublishedByCarousel getStatusData()
public java.lang.String toString()
toString in class java.lang.Object
public void processUpdate(java.util.Observable source,
org.lsst.ccs.framework.Module.ValueUpdate v)
processUpdate in class org.lsst.ccs.framework.Modulepublic double getPosition()
getPosition in interface Carouselpublic CarouselSocket getSocketAtStandby()
getSocketAtStandby in interface Carouselpublic Filter getFilterAtStandby()
public java.lang.String getFilterInStandbyName()
public boolean isReadyToGrabbeAFilterAtStandby()
throws HardwareErrorDetectedException
HardwareErrorDetectedExceptionpublic boolean isRotating()
public boolean isAbleToMove()
isAbleToMove in interface Carouselpublic boolean isLocked()
public java.lang.String stop()
stop in interface Carouselpublic java.lang.String lock()
lock in interface Carouselpublic java.lang.String unlock()
unlock in interface Carousel
public java.lang.String rotate(double angle)
throws java.lang.IllegalArgumentException,
org.lsst.ccs.bus.BadCommandException
rotate in interface CarouselangleEntered - : rotation angle
The rotation angle can be positive or negative.
It must be a double and have a value between -360.0 and 360.0
IllegalArgumentException, - BadCommandException
java.lang.IllegalArgumentException
org.lsst.ccs.bus.BadCommandExceptionpublic void tick()
tick in class org.lsst.ccs.framework.Module
public void removeFilterFromCarousel(Filter filter)
throws org.lsst.ccs.bus.BadCommandException,
HardwareErrorDetectedException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
org.lsst.ccs.bus.BadCommandException
HardwareErrorDetectedException
org.lsst.ccs.bus.ErrorInCommandExecutionExceptionpublic double getFilterPosition(Filter filter)
public double getStandbyPositionForFilter(Filter filter)
public int getSocketNumber(Filter filter)
filter -
protected java.lang.String moveFilterToStandby(Filter filter)
throws java.lang.InterruptedException,
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.BadCommandException
java.lang.InterruptedExceptionpublic void printSockets()
public java.lang.String grabbeFilterAtStandby(java.lang.Object filterName)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException,
HardwareErrorDetectedException
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareErrorDetectedException
public java.lang.String grabbeFilterAtStandby(Filter filter)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException,
HardwareErrorDetectedException
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareErrorDetectedException
public void ungrabbeFilterAtStandby(Filter filter)
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException,
HardwareErrorDetectedException
org.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareErrorDetectedException
public java.lang.String releaseClamps()
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
releaseClamps in interface Carouselorg.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionException
public java.lang.String unlockClamps()
throws org.lsst.ccs.bus.BadCommandException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
unlockClamps in interface Carouselorg.lsst.ccs.bus.BadCommandException
org.lsst.ccs.bus.ErrorInCommandExecutionExceptionpublic boolean isOnStandby(Filter filter)
public static double addAngle(double angle1,
double angle2)
angle1 - angle2 -
public CarouselSocket[] getSockets()
public void setSockets(CarouselSocket[] sockets)
public Motor getCarouselMotor()
public void setCarouselMotor(Motor engine)
public Latch getLatch()
public void setLatch(Latch latch)
public ModuleState getState()
public void setState(ModuleState state)
public int getNbSockets()
public void setNbSockets(int nbSockets)
nbSockets - the nbSockets to setpublic Actuator getClampsActuator()
public void setClampsActuator(Actuator clampsActuator)
clampsActuator - the clampsActuator to set
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||