public class LoaderModule extends org.lsst.ccs.framework.Module implements org.lsst.ccs.framework.HardwareController, FilterHolder
| Constructor and Description |
|---|
LoaderModule(LoaderCarrierModule carrier,
LoaderClampModule clamp,
String plutoGatewayName,
NumericSensor filterPresenceSensor0,
NumericSensor filterPresenceSensor1,
NumericSensor loaderOnCameraSensor0,
NumericSensor loaderOnCameraSensor1)
Build a LoaderModule with a carrier, a clamp and sensors.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
checkConditionsForCarrierMotion()
Check if the loader carrier can move.
|
boolean |
checkConditionsForOpeningHooks()
Check if the clamp can be opened.
|
org.lsst.ccs.framework.TreeWalkerDiag |
checkHardware() |
boolean |
checkPreConditionsForClosingHooks()
Check if the clamp can be closed.
|
void |
checkStarted()
CheckStarted is executed by completeInitialization when a first start has
failed.
|
void |
checkStopped()
This method is executed during a shutdown of the subystem to prevent a
shutdown when some hardware is moving.
|
String |
clampHooks()
This method closes the clamps strongly.
|
String |
closeHooks()
This method closes the clamps.
|
StatusDataPublishedByLoader |
createStatusDataPublishedByLoader()
Creates an Object to be published on the STATUS bus.
|
LoaderCarrierModule |
getCarrier() |
EPOSController |
getCarrierController() |
LoaderClampModule |
getClamp() |
NumericSensor |
getFilterPresenceSensor0() |
NumericSensor |
getFilterPresenceSensor1() |
EPOSController |
getHooksController() |
NumericSensor |
getLoaderOnCameraSensor0() |
NumericSensor |
getLoaderOnCameraSensor1() |
StatusDataPublishedByLoader |
getStatusData() |
String |
goToHandoff()
Moves the loader carrier to the handoff position.
|
String |
goToStorage()
Moves the loader carrier to the storage position.
|
void |
initializeHardware()
This command has to be executed after the initialization phase and after
the checkHardware command.
|
void |
initModule() |
boolean |
isAtHandoff()
This method returns true if the autochanger trucks are at HANDOFF position, false otherwise.
|
boolean |
isAtStandby()
This method returns true if the autochanger trucks are at STANDBY position, false otherwise.
|
boolean |
isAutochangerHoldingFilter()
Return true if the autochanger is holding the filter.
|
boolean |
isCANDevicesInitialized() |
boolean |
isCANDevicesReady()
Return true if CAN open devices (controllers and plutoGateway) are booted, identified and initialized.
|
boolean |
isCarrierAtStoragePosition() |
boolean |
isConnectedOnCamera()
Returns the boolean field atHandoff.
|
boolean |
isEmpty()
Returns the boolean field empty.
|
boolean |
isEmptyToPublish()
To publish data we don't want to read again the sensors.
|
boolean |
isFilterPresenceSensorsInError() |
boolean |
isHardwareReady()
Return true if loader clamp and carrier hardware is ready to be controlled.
|
boolean |
isHoldingFilter()
Return true if a filter is present and it is held by the loader clamp.
|
boolean |
isInitialized() |
boolean |
isLoaderOnCameraSensorsInError() |
boolean |
isMoving() |
boolean |
isOnCameraToPublish()
To publish data we don't want to read again the sensors.
|
String |
listHooks() |
String |
listSensorsValues() |
String |
loadFilterInCamera()
This command can be launched when a filter is in the loader and we want
to put in inside the camera.
|
String |
openHooks()
This command opens the clamp.
|
String |
printHardwareState()
Print list of hardware with initialization information.
|
void |
publishData()
Publish Data on status bus for trending data base and GUIs.
|
void |
tick() |
String |
unloadFilterFromCamera()
This command can be launched when the loader is empty and we want to take
a filter from the camera.
|
void |
updateFCSState()
Check that Loader hardware is ready to be operated and moved.
|
void |
updateStateWithSensors()
This methods updates the carrier and clamp state in reading all the
sensors.
|
getNObserverThreads, getObservables, getTickMillis, init, listens, processUpdate, sendSignal, sendSignalWithTimeLimit, setNObserverThreads, setObservables, setTickMillis, shutdownNow, signal, startTicking, updateaddObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChangedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitchange, dropSubmittedChanges, getChildren, getComponentByName, getEnvironment, getParent, getParentObject, getSubmittedChanges, isParameterConfigurable, postStart, printConfigurableParameters, setBulkParameter, start, submitChange, submitChanges, validateBulkChangepublic LoaderModule(LoaderCarrierModule carrier, LoaderClampModule clamp, String plutoGatewayName, NumericSensor filterPresenceSensor0, NumericSensor filterPresenceSensor1, NumericSensor loaderOnCameraSensor0, NumericSensor loaderOnCameraSensor1)
carrier - clamp - plutoGatewayName - filterPresenceSensor0 - filterPresenceSensor1 - loaderOnCameraSensor0 - loaderOnCameraSensor1 - public NumericSensor getFilterPresenceSensor0()
public NumericSensor getFilterPresenceSensor1()
public NumericSensor getLoaderOnCameraSensor0()
public NumericSensor getLoaderOnCameraSensor1()
public boolean isFilterPresenceSensorsInError()
public boolean isLoaderOnCameraSensorsInError()
public boolean isEmptyToPublish()
public boolean isOnCameraToPublish()
public EPOSController getHooksController()
public EPOSController getCarrierController()
public void initModule()
initModule in class org.lsst.ccs.framework.Module@Command(type=QUERY,
level=0,
description="Return true if loader clamp and carrier hardware is ready to be controlled.That means that controllers and plutoGateway are booted, identified and initialized and homing of the controllers have been done.")
public boolean isHardwareReady()
@Command(type=QUERY,
level=0,
description="Return true if CAN open devices (controllers and plutoGateway) are booted, identified and initialized.")
public boolean isCANDevicesReady()
@Command(type=QUERY,
level=0,
description="Return true if hardware (controllers and plutoGateway) is correctly initializedand homing of the controllers is done.")
public boolean isInitialized()
@Command(type=QUERY,
level=0,
description="Return true if hardware (controllers and plutoGateway) is correctly initialized.")
public boolean isCANDevicesInitialized()
@Command(type=QUERY,
level=0,
description="Return true if there is no filter in the loader. This command doesn\'t read again the sensors.")
public boolean isEmpty()
@Command(type=QUERY,
level=0,
description="Return true if the loader is connected on the camera. This command doesn\'t read again the sensors.")
public boolean isConnectedOnCamera()
@Command(type=QUERY,
level=0,
description="Return true if the autochanger is holding the filter. This command doesn\'t read again the sensors.")
public boolean isAutochangerHoldingFilter()
FcsHardwareException@Command(type=QUERY,
level=0,
description="Return true if a filter is present and it is held by the loader clamp.")
public boolean isHoldingFilter()
isHoldingFilter in interface FilterHolderFcsHardwareException@Command(type=QUERY,
level=0,
description="Return true if the clamp or the carrier are in action.")
public boolean isMoving()
public LoaderClampModule getClamp()
public LoaderCarrierModule getCarrier()
public boolean isCarrierAtStoragePosition()
@Command(type=ACTION,
level=1,
description="Attention ! this commands does the homing of the controllers and might move hardware. Initialize loader hardware.",
alias="homing")
public void initializeHardware()
throws org.lsst.ccs.HardwareException
org.lsst.ccs.HardwareExceptionpublic org.lsst.ccs.framework.TreeWalkerDiag checkHardware()
throws org.lsst.ccs.HardwareException
checkHardware in interface org.lsst.ccs.framework.HardwareControllerorg.lsst.ccs.HardwareExceptionpublic void checkStarted()
throws org.lsst.ccs.HardwareException
checkStarted in interface org.lsst.ccs.framework.HardwareControllerorg.lsst.ccs.HardwareExceptionpublic void checkStopped()
throws org.lsst.ccs.HardwareException
checkStopped in interface org.lsst.ccs.framework.HardwareControllerorg.lsst.ccs.HardwareExceptionpublic void tick()
tick in class org.lsst.ccs.framework.Module@Command(type=QUERY,
level=1,
description="Check if the carrier can move.")
public boolean checkConditionsForCarrierMotion()
FcsHardwareExceptionFailedCommandException@Command(type=QUERY,
level=1,
description="Check if the clamp can be opened.")
public boolean checkConditionsForOpeningHooks()
FcsHardwareException@Command(type=QUERY,
level=1,
description="Check if the clamp can be closed.")
public boolean checkPreConditionsForClosingHooks()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Close hooks.")
public String closeHooks()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Clamp hooks.")
public String clampHooks()
FcsHardwareException@Command(level=1,
type=ACTION,
description="Open the hooks")
public String openHooks()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Move the loader carrier to HANDOFF position")
public String goToHandoff()
FcsHardwareExceptionSDORequestException@Command(type=ACTION,
level=1,
description="Move the loader carrier to STORAGE position")
public String goToStorage()
FcsHardwareExceptionSDORequestException@Command(type=ACTION,
level=1,
description="Update clamp state in reading sensors.")
public void updateStateWithSensors()
updateStateWithSensors in interface FilterHolderFcsHardwareException@Command(type=ACTION,
level=1,
description="Update FCS state and FCS readyness state and publishes on the status bus.")
public void updateFCSState()
@Command(type=ACTION,
level=1,
description="Load a filter from the loader into the camera.")
public String loadFilterInCamera()
RejectedCommandExceptionFcsHardwareExceptionFailedCommandException@Command(type=ACTION,
level=1,
description="Unload a filter from the camera into the loader.")
public String unloadFilterFromCamera()
@Command(type=QUERY,
level=0,
description="List and display info on the hooks.")
public String listHooks()
@Command(type=QUERY,
level=1,
description="List and display hooks sensors values.")
public String listSensorsValues()
public StatusDataPublishedByLoader getStatusData()
public StatusDataPublishedByLoader createStatusDataPublishedByLoader()
public void publishData()
public boolean isAtHandoff()
FilterHolderisAtHandoff in interface FilterHolderpublic boolean isAtStandby()
FilterHolderisAtStandby in interface FilterHolder@Command(type=QUERY,
level=1,
description="Print list of hardware with initialization information.")
public String printHardwareState()
Copyright © 2016 LSST. All rights reserved.