public class CarouselSocket extends Object implements org.lsst.ccs.framework.HasLifecycle, AlertRaiser
| Modifier and Type | Field and Description |
|---|---|
protected FilterHolder |
autochanger |
protected Carousel |
carousel |
protected org.lsst.ccs.services.DataProviderDictionaryService |
dataProviderDictionaryService |
int |
filterID |
protected SensorPluggedOnTTC580 |
ioModuleSensor |
protected FcsEnumerations.IOModuleStatus |
ioModuleStatus |
protected String |
name |
protected String |
path |
alertSeparator| Constructor and Description |
|---|
CarouselSocket(int id,
CarouselClamp clampXminus,
CarouselClamp clampXplus)
Build a new CarouselSocket with a tickMillis of 5000.
|
| Modifier and Type | Method and Description |
|---|---|
void |
build() |
void |
checkAndUpdateOffset1(long sdo)
check and update lock sensor offset1 for the 2 clamps
|
void |
checkAndUpdateOffset2(long sdo)
check and update presence sensor offset2 for the 2 clamps
|
StatusDataPublishedByCarouselSocket |
createStatusDataPublishedByCarouselSocket()
Create an object to be published on the STATUS bus by a CarouselSocket.
|
String |
getActionDurationPath(String actionName)
return the publication path for an action duration to be used to register and publish data.
|
org.lsst.ccs.services.alert.AlertService |
getAlertService()
return alertService
|
FcsEnumerations.FilterClampState |
getClampsState()
Returns the state of the clamps.
|
CarouselClamp |
getClampXminus() |
CarouselClamp |
getClampXplus() |
int |
getDeltaAutochangerStandbyPosition() |
int |
getDeltaPosition() |
int |
getFilterID() |
String |
getFilterName() |
int |
getId() |
FcsEnumerations.IOModuleStatus |
getIOModuleStatus() |
String |
getName() |
int |
getStandbyPosition() |
org.lsst.ccs.Subsystem |
getSubsystem() |
void |
init()
*** lifecycle methods *************************************************
|
boolean |
isAtStandby()
Return true if this socket is at STANDBY position.
|
boolean |
isAvailable() |
boolean |
isAwake() |
boolean |
isClampedOnFilter() |
boolean |
isEmpty() |
boolean |
isReadyToClamp() |
boolean |
isUnclampedEmpty() |
boolean |
isUnclampedOnFilter() |
boolean |
myDevicesReady() |
void |
publishData() |
void |
registerAction(FcsEnumerations.MobileItemAction action) |
void |
releaseClamps()
Releases the 2 clamps of the socket.
|
void |
setAvailable(boolean available) |
void |
setClampXminus(CarouselClamp clampXminus) |
void |
setClampXplus(CarouselClamp clampXplus) |
void |
setFilterID(int filterID) |
String |
toString() |
void |
unlockClamps() |
void |
updateDeltaPosition() |
void |
updateFilterID()
update field filterID to be used only with whole FCS.
|
void |
updateState()
update state from sensors values.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpostBuild, postInit, postShutdown, postStart, shutdown, startclearAlarm, getAlertSeparator, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarmOnlyIfNew, raiseAlertOnlyEveryTenMinutes, raiseAlertOnlyEveryTenMinutes, raiseAlertOnlyIfNew, raiseWarning, raiseWarning, raiseWarning, raiseWarning, raiseWarningOnlyEveryTenMinutes, raiseWarningOnlyIfNew@LookupName protected String name
@LookupPath protected String path
@LookupField(strategy=TREE) protected Carousel carousel
@LookupField(strategy=CHILDREN) protected SensorPluggedOnTTC580 ioModuleSensor
protected FcsEnumerations.IOModuleStatus ioModuleStatus
@LookupField(strategy=TREE,
pathFilter="autochanger")
protected FilterHolder autochanger
@LookupField(strategy=TREE) protected org.lsst.ccs.services.DataProviderDictionaryService dataProviderDictionaryService
@Persist public volatile int filterID
public CarouselSocket(int id,
CarouselClamp clampXminus,
CarouselClamp clampXplus)
id - clampXminus - clampXplus - public void build()
build in interface org.lsst.ccs.framework.HasLifecyclepublic void registerAction(FcsEnumerations.MobileItemAction action)
public String getActionDurationPath(String actionName)
actionName - public int getId()
public String getName()
public CarouselClamp getClampXminus()
public void setClampXminus(CarouselClamp clampXminus)
public CarouselClamp getClampXplus()
public void setClampXplus(CarouselClamp clampXplus)
@Command(type=QUERY,
level=1,
description="Returns filterID if a filter is in the socket.")
public int getFilterID()
public String getFilterName()
public void setFilterID(int filterID)
public int getStandbyPosition()
public int getDeltaPosition()
public int getDeltaAutochangerStandbyPosition()
public FcsEnumerations.IOModuleStatus getIOModuleStatus()
public org.lsst.ccs.Subsystem getSubsystem()
getSubsystem in interface AlertRaiserpublic org.lsst.ccs.services.alert.AlertService getAlertService()
AlertRaisergetAlertService in interface AlertRaiser@Command(type=QUERY,
level=1,
description="Returns true if this socket is at STANDBY position on the carousel.")
public boolean isAtStandby()
@Command(type=QUERY,
level=1,
description="Return true if socket is ready to use or false if not.")
public boolean isAvailable()
@Command(type=QUERY,
level=1,
description="Set boolean available to true if socket is ready to use or false if not.")
public void setAvailable(boolean available)
@Command(type=QUERY,
level=1,
description="return true if socket is available and awake (ioModuleStatus different from NOT_POWERED_ON)")
public boolean isAwake()
public void init()
init in interface org.lsst.ccs.framework.HasLifecycle@Command(type=QUERY,
level=1,
description="Returns true if hardware is connected and ready.")
public boolean myDevicesReady()
@Command(type=QUERY,
level=0,
description="Return clamps state - doesn\'t read again sensors.")
public FcsEnumerations.FilterClampState getClampsState()
public void updateState()
public void updateDeltaPosition()
public void updateFilterID()
public void checkAndUpdateOffset1(long sdo)
sdo - public void checkAndUpdateOffset2(long sdo)
sdo - @Command(type=QUERY,
level=0,
description="Returns true if there is no filter in the socket.")
public boolean isEmpty()
@Command(type=QUERY,
level=0,
description="Returns true if there is a filter in the socket and the clampsare LOCKED.")
public boolean isClampedOnFilter()
@Command(type=QUERY,
level=0,
description="Returns true if there is a filter in the socket and the clampsare UNLOCKED.")
public boolean isUnclampedOnFilter()
@Command(type=QUERY,
level=0,
description="Returns true if there is NO filter in the socket and the clampsare UNLOCKED.")
public boolean isUnclampedEmpty()
@Command(type=QUERY,
level=0,
description="Returns true if this socket is ready to clamp a filter.")
public boolean isReadyToClamp()
@Command(type=ACTION,
level=1,
description="Release the 2 clamps of this socket if the socket is at STANDBY position.")
public void releaseClamps()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Unlock the 2 clamps of this socket if the socket is at STANDBY position.")
public void unlockClamps()
@Command(type=QUERY,
level=1,
description="Returns a String representation of a CarouselSocket.")
public String toString()
public void publishData()
public StatusDataPublishedByCarouselSocket createStatusDataPublishedByCarouselSocket()
Copyright © 2024 LSST. All rights reserved.