public class FcsMain extends MainModule
bridge, dataProviderDictionaryService, haltRequired, name, stopRequired, subsalertSeparator| Constructor and Description |
|---|
FcsMain(BridgeToHardware bridge,
BridgeToHardware bridgeToLoader)
Build a FcsMainModule
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
autochangerNotInTravel() |
boolean |
carouselHoldingFilterOrReadyToGrab() |
boolean |
carouselReadyToClampAtStandby() |
void |
changeState(String state)
just for mcm testing
|
void |
checkControllers() |
void |
checkFilterName(String aName)
Check if a filter name given by an end user at the console is a valid Filter
Name.
|
void |
connectLoaderCANbus()
Connect the loader hardware.
|
void |
disconnectLoaderCANbus()
Disconnect the loader hardware.
|
void |
disengageFilterFromCarousel() |
boolean |
filterAtOnlineMustBeLocked() |
boolean |
filterAtStandbyMustBeHeld() |
void |
forceFilterReadinessStateToReady() |
Filter |
getFilterByName(String filterName)
This methods returns the filter which has for name the String given as
argument.
|
String |
getOnlineFilterName()
Return the name of the filter which is at ONLINE.
|
void |
init() |
void |
initializeHardware()
initialize hardware after initialization.
|
boolean |
isChangerConnected()
Return true if the changer is connected.
|
boolean |
isChangerReady()
Return true if the hardware of the changer is ready.
|
boolean |
isFilterInCamera(int filterID) |
boolean |
isLoaderConnected()
Return true if the loader is connected.
|
boolean |
isLoaderReady()
Return true if the hardware of the loader is ready.
|
boolean |
latchesOpenOrClosed() |
List<String> |
listLoaderHardwareNames()
For Whole FCS GUI.
|
void |
loadFilter()
Load a filter from the loader to the camera.
|
boolean |
onlineClampsOpenOrLocked() |
void |
postShutdown() |
void |
postStart() |
String |
printFilterONLINEName()
For end user.
|
void |
publishData()
for GUI
|
void |
setFilter(int filterID)
move filter to online.
|
void |
setFilterWithSafety(int filterID)
move filter to online.
|
void |
storeFilterOnCarousel() |
void |
unloadFilter()
Unload a filter from the camera to the loader.
|
void |
updateFCSStateToReady()
Updates the FCS state and FCS readyness state and publishes on the status bus.
|
void |
updateStateWithSensors()
Update state in reading sensors for all components of Filter Changer :
carousel, autochanger and loader.
|
allDevicesBooted, build, getAlertService, getFilterNames, getFilterReadinessState, getName, getSubsystem, isHaltRequired, isInState, isStopRequired, listHardwareNames, signal, updateAgentState, updateAgentState, updateGuiclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclearAlarm, getAlertSeparator, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarmOnlyIfNew, raiseAlertOnlyEveryTenMinutes, raiseAlertOnlyEveryTenMinutes, raiseAlertOnlyIfNew, raiseWarning, raiseWarning, raiseWarningOnlyEveryTenMinutes, raiseWarningOnlyIfNewpublic FcsMain(BridgeToHardware bridge, BridgeToHardware bridgeToLoader)
bridge - bridgeToLoader - public void init()
public void updateFCSStateToReady()
MainModuleupdateFCSStateToReady in class MainModule@Command(type=ACTION,
level=3,
description="Sets the filters state to READY even if some sensors are still missing in autochanger.")
public void forceFilterReadinessStateToReady()
public String getOnlineFilterName()
@Command(type=QUERY,
level=0,
description="Returns the name of the filter which is at ONLINE.")
public String printFilterONLINEName()
@Command(type=QUERY,
level=0,
description="returns the filter which has for name the String given as argument.")
public Filter getFilterByName(String filterName)
filterName - @Command(type=QUERY,
level=0,
description="Return true if the changer is connected.")
public boolean isChangerConnected()
@Command(type=QUERY,
level=0,
description="Return true if the loader is connected.")
public boolean isLoaderConnected()
@Command(type=QUERY,
level=0,
description="Return true if the hardware of the changer is ready.")
public boolean isChangerReady()
@Command(type=QUERY,
level=0,
description="Return true if the hardware of the loader is ready.")
public boolean isLoaderReady()
@Command(type=ACTION,
level=1,
description="Disconnect the loader hardware.")
public void disconnectLoaderCANbus()
@Command(type=ACTION,
level=1,
description="Connect the loader hardware.")
public void connectLoaderCANbus()
public void checkFilterName(String aName)
aName - @Command(type=QUERY,
level=1,
description="Return the list of LOADER CANopen hardware that this subsystem manages.")
public List<String> listLoaderHardwareNames()
listLoaderHardwareNames in class MainModulepublic boolean isFilterInCamera(int filterID)
@Command(type=ACTION,
level=1,
description="Store the filter in the carousel and move the empty autochanger to HANDOFF position. Initial State for AC: a filter at HANDOFF or ONLINE. Final State for AC : empty at HANDOFF.",
autoAck=false,
timeout=60000)
public void storeFilterOnCarousel()
@Command(type=ACTION,
level=1,
autoAck=false,
description="Unclamp filter from carousel, move autochanger to approachStandby position and release the carousel clamps",
timeout=15000)
public void disengageFilterFromCarousel()
public boolean autochangerNotInTravel()
public boolean latchesOpenOrClosed()
public boolean onlineClampsOpenOrLocked()
public boolean filterAtOnlineMustBeLocked()
public boolean filterAtStandbyMustBeHeld()
public boolean carouselHoldingFilterOrReadyToGrab()
public boolean carouselReadyToClampAtStandby()
@Command(type=ACTION,
level=0,
description="Move filter to ONLINE position.",
timeout=180000,
autoAck=false)
public void setFilter(int filterID)
filterID - of the filter to move@Command(type=ACTION,
level=0,
description="Select filter and move to HANDOFF position without going to ONLINE.",
timeout=180000,
autoAck=false)
public void setFilterWithSafety(int filterID)
filterID - of the filter to move@Command(type=ACTION,
level=3,
description="change subsystem state.")
public void changeState(String state)
state - @Command(type=ACTION,
level=0,
description="Load a filter from the loader to the camera. The loader must hold a filter at STORAGE position.The autochanger must be empty at HANDOFF, latches open. At the end of this command thefilter is held by autochanger at Handoff position, and the loader carrier is empty at STORAGE.")
public void loadFilter()
FcsHardwareException@Command(type=ACTION,
level=0,
description="Unload a filter from the camera to the loader. The camera has to be at horizontal position. The filter has to be on Autochanger at HANDOFF. Loader carrier must be empty at STORAGE. \nAt the end of this command, autochanger is empty at HANDOFF, latches are open, and loader carrier is holding the filter at STORAGE (hooks are clamped)")
public void unloadFilter()
@Command(type=QUERY,
level=0,
description="check if controllers are in fault")
public void checkControllers()
public void updateStateWithSensors()
updateStateWithSensors in class MainModuleFcsHardwareExceptionpublic void initializeHardware()
MainModuleinitializeHardware in class MainModulepublic void publishData()
MainModulepublishData in class MainModulepublic void postStart()
public void postShutdown()
postShutdown in interface org.lsst.ccs.framework.HasLifecyclepostShutdown in class MainModuleCopyright © 2021 LSST. All rights reserved.