public class REBDevice
extends org.lsst.ccs.monitor.Device
implements org.lsst.ccs.ConfigurationListener, org.lsst.ccs.config.ConfigurationBulkChangeHandler
| Modifier and Type | Class and Description |
|---|---|
static class |
REBDevice.AdcData |
| Modifier and Type | Field and Description |
|---|---|
static int |
CHAN_HTR_POWER |
static int |
CHAN_HTR_VOLTS |
static int |
CHAN_RTD_INT_TEMP |
static int |
CHAN_RTD_INT_VOLT |
static int |
CHAN_TOTAL_POWER |
protected int |
configCcdMask |
protected int |
hdwTypeI |
protected int |
hwVersion |
static int |
NUM_HTR_CHANS |
static int |
NUM_RTD_CHANS |
static String |
RAFTS |
static String |
RAFTS_LIMITS |
static String |
RAFTS_POWER |
protected int |
realCcdMask |
static int |
TYPE_ASP_TEMP |
static int |
TYPE_BD_POWER |
static int |
TYPE_BD_TEMP |
static int |
TYPE_BIAS_VOLT |
static int |
TYPE_CCD_CURR |
static int |
TYPE_CR_VOLT |
static int |
TYPE_HEATER |
static int |
TYPE_HV_SWITCH |
static int |
TYPE_RTD |
| Constructor and Description |
|---|
REBDevice(int id)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
int |
checkAspics()
Checks loaded ASPIC configuration data.
|
protected int[] |
checkChannel(org.lsst.ccs.monitor.Channel ch)
Checks a channel's parameters for validity.
|
String |
checkDacsCalibration()
Get voltage differences between setpoint and readback for Bias and Clock
rails to assist with calibration of setpoint to raw ADC conversion
|
void |
clearUpdateCCDsPowerState() |
protected void |
close()
Closes the connection.
|
void |
configurationChanged(org.lsst.ccs.bus.data.ConfigurationInfo newConfigurationInfo,
org.lsst.ccs.bus.data.ConfigurationInfo oldConfigurationInfo,
org.lsst.ccs.ConfigurationListener.ConfigurationOperation configOperation)
Triggers activities when configuration is changed
1st use is to update CCDsPowerState if relevant parameters changed
|
void |
disableBackBias(boolean disable,
String reason)
Disable/Enable the back bias switch.
|
static String |
getAdcName(int adc)
Gets the name of of a slow ADC.
|
int |
getCcdMask()
Gets the mask of CCDs being used.
|
String |
getCCDsPowerState()
measure power state of ccds, user version
turns off CCDs on error
|
org.lsst.ccs.utilities.ccd.CCDType |
getCcdType()
Gets the CCD type.
|
protected String |
getGroupForChannel(org.lsst.ccs.monitor.Channel ch) |
int |
getHdwType()
Gets the hardware type.
|
org.lsst.ccs.utilities.ccd.CCDType |
getHwCcdType()
Gets the hardware CCD type.
|
int |
getHwVersion()
Gets the hardware version.
|
int |
getId()
Gets the REB ID.
|
String |
getIfcName()
Gets the network interface name.
|
double |
getMaxDelta()
Get config param maxDelta
|
double |
getMaxStep()
Get config param maxStep
|
double |
getMinTol()
Get config param minTol
|
String |
getMonitorTasks() |
int |
getRaftNumber()
Gets the raft number.
|
REB |
getREBConfig()
Gets the REB configuration data.
|
org.lsst.ccs.utilities.ccd.Reb |
getRebGeometry() |
int |
getRebNumber()
Gets the REB number.
|
StatusData |
getRebStatus()
Gets the REB status block.
|
int |
getRebType()
Gets the REB type.
|
RegisterData |
getRegister(int address,
int count)
Gets the contents of REB registers.
|
SequencerProc |
getSequencer()
Gets the associated sequencer.
|
long |
getSerialNumber()
Gets the serial number.
|
long |
getTime()
Gets the time base as Unix time.
|
long |
getTime(String rSet) |
int |
getUnders()
Gets the bit mask of DAC channels under threshold
|
boolean |
getUpdateCCDsPowerState() |
protected void |
initChannel(org.lsst.ccs.monitor.Channel ch)
Initializes a channel (in this case only checks HW channel number).
|
protected void |
initDevice()
Performs basic initialization.
|
protected void |
initialize()
Performs full initialization.
|
boolean |
isBackBiasDisabled()
Check if the back bias switch has been disabled.
|
boolean |
isBackBiasOn()
Gets the back bias on state.
|
boolean |
isSerialNumValid()
Gets whether the serial number is valid.
|
int |
loadAspics(boolean all)
Loads configuration data to the ASPICs.
|
int |
loadDeltaDacs(boolean all)
Loads configured bias and clcock DAC values.
|
void |
pauseMonitorTasks(String... taskNames) |
void |
postStart() |
void |
powerCCDs(boolean on)
Performs CCD power on/off sequences.
|
void |
powerCCDsOff()
Performs CCD power off sequence.
|
void |
powerCCDsOn()
Performs CCD power on sequence.
|
void |
readAllAdcs(List<REBDevice.AdcData> dataList)
Reads all the ADCs and adds them to data list.
|
protected double |
readChannel(org.lsst.ccs.monitor.Channel ch)
Reads a channel.
|
protected void |
readChannelGroup(String group) |
double[] |
readPowerAdcs()
Reads the board power ADCs.
|
double[] |
readPowerAdcs(List<REBDevice.AdcData> dataList)
Reads the board power ADCs and adds them to data list.
|
int |
readSeqIdleState()
Reads the sequencer idle state lines.
|
double[] |
readSlowAdcs(List<REBDevice.AdcData> dataList)
Reads the clock and bias voltage slow ADCs and adds them to data list.
|
int |
resetAspics()
Resets the ASPICs.
|
void |
resetFrontEnd()
Resets the front end.
|
void |
resumeMonitorTasks(String... taskNames) |
void |
setAllAspic(String parmName,
int val,
boolean commit) |
void |
setAllAspicGain(int gain)
Transversal setting of all Gains for the Aspics of this reb.
|
void |
setAllAspicRc(int rc)
Transversal setting of all Rcs for the Aspics of this reb.
|
void |
setAllAspicTM(boolean tm)
Transversal setting of all TM for the Aspics of this reb.
|
void |
setBackBias(boolean value)
Turns back bias on or off.
|
void |
setCCDClocksLow()
Sets Sequencer Clock lines to low state
Corrupts the sequencer file -- needs strategy revision
Needed in [WG]REB power management but incomplete
|
void |
setCcdType(org.lsst.ccs.utilities.ccd.CCDType ccdType)
Sets the CCD type.
|
void |
setClientFactory(org.lsst.ccs.drivers.reb.ClientFactory factory)
Sets the client factory.
|
void |
setFitsConditions(String filter,
double temperature,
double wavelength)
Sets the FITS file test conditions.
|
void |
setHeater(int heater,
double volts)
Sets a heater voltage.
|
void |
setHeaterPower(int heater,
double power)
Sets heater power.
|
void |
setIfcName(String ifcName) |
void |
setIsRealDAQ(boolean isRealDAQ) |
protected void |
setOnline(boolean online) |
void |
setREBConfig(REB reb)
Sets the REB configuration data.
|
void |
setRebGeometry(org.lsst.ccs.utilities.ccd.Reb reb) |
void |
setRegister(int address,
int[] values)
Sets the contents of REB registers.
|
void |
setScienceCCD(boolean useScience)
Sets whether a science CCD is being used on a WREB.
|
void |
setTime()
Sets the time base to the current system time.
|
void |
setUpdateCCDsPowerState() |
void |
simulateDisconnection()
Simulate a disconnect
|
void |
testCCDShorts()
Performs CCD shorts test.
|
void |
triggerMonitorTasks(String... taskNames) |
String |
updateDacsCalibration()
Get voltage differences between setpoint and readback for Bias and Clock
rails to assist with calibration of setpoint to raw ADC conversion
|
void |
validateBulkChange(Map<String,Object> params)
Validates configuration parameter change.
|
void |
writeSeqIdleState(int value)
Writes the sequencer idle state lines.
|
addLine, checkChannel, checkHwLine, checkLine, checkTimeout, configure, disable, dropChannel, dropChannel, enable, getDeviceMonitorUpdateTasks, getFullName, getMonitorUpdateTasksForChannels, getName, getOutputLines, getPath, init, initChannel, initChannel, initSensors, isEnabled, isHwLineSet, isLineSet, isOnline, isTimeout, readChannel, readChannelGroup, readChannelNow, setDisabled, setHwLine, setLine, setLineWarm, setOutputLines, start, testOnlineclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic static final String RAFTS
public static final String RAFTS_LIMITS
public static final String RAFTS_POWER
public static final int TYPE_BD_TEMP
public static final int TYPE_BD_POWER
public static final int TYPE_RTD
public static final int TYPE_ASP_TEMP
public static final int TYPE_BIAS_VOLT
public static final int TYPE_CCD_CURR
public static final int TYPE_CR_VOLT
public static final int TYPE_HEATER
public static final int TYPE_HV_SWITCH
public static final int CHAN_TOTAL_POWER
public static final int CHAN_HTR_VOLTS
public static final int CHAN_HTR_POWER
public static final int NUM_HTR_CHANS
public static final int CHAN_RTD_INT_TEMP
public static final int CHAN_RTD_INT_VOLT
public static final int NUM_RTD_CHANS
protected int hdwTypeI
protected int configCcdMask
protected volatile int realCcdMask
protected volatile int hwVersion
public REBDevice(int id)
id - The ID of this REB device, using Owens numbering scheme (e.g. R22 = 88)public void setRebGeometry(org.lsst.ccs.utilities.ccd.Reb reb)
public org.lsst.ccs.utilities.ccd.Reb getRebGeometry()
public void setIsRealDAQ(boolean isRealDAQ)
public void postStart()
postStart in interface org.lsst.ccs.framework.HasLifecyclepublic void setUpdateCCDsPowerState()
@Command(type=ACTION,
description="Clear the updateCCDsPowerState flag")
public void clearUpdateCCDsPowerState()
@Command(type=QUERY,
description="Get the value of the updateCCDsPowerState flag")
public boolean getUpdateCCDsPowerState()
public void validateBulkChange(Map<String,Object> params)
validateBulkChange in interface org.lsst.ccs.config.ConfigurationBulkChangeHandlerparams - The map of configuration parameter valuespublic void configurationChanged(org.lsst.ccs.bus.data.ConfigurationInfo newConfigurationInfo,
org.lsst.ccs.bus.data.ConfigurationInfo oldConfigurationInfo,
org.lsst.ccs.ConfigurationListener.ConfigurationOperation configOperation)
configurationChanged in interface org.lsst.ccs.ConfigurationListenerparams - The map of configuration parameter values@Command(type=QUERY,
description="Get the REB ID")
public int getId()
@Command(type=QUERY,
description="Get the network interface name")
public String getIfcName()
public void setIfcName(String ifcName)
@Command(type=QUERY,
description="Get the mask of CCDs being used")
public int getCcdMask()
public void setCcdType(org.lsst.ccs.utilities.ccd.CCDType ccdType)
ccdType - The CCD type@Command(type=QUERY,
description="Get the type of CCDs being used")
public org.lsst.ccs.utilities.ccd.CCDType getCcdType()
@Command(type=QUERY,
description="Get the hardware type of CCDs being used")
public org.lsst.ccs.utilities.ccd.CCDType getHwCcdType()
@Command(type=ACTION,
description="Set whether a WREB is using a science CCD")
public void setScienceCCD(@Argument(description="Whether a science CCD")
boolean useScience)
useScience - Whether it's a science CCDpublic void setClientFactory(org.lsst.ccs.drivers.reb.ClientFactory factory)
factory - The client factory@Command(type=QUERY,
description="Gets the REB type")
public int getRebType()
@Command(type=QUERY,
description="Gets the REB number")
public int getRebNumber()
@Command(type=QUERY,
description="Gets the raft number")
public int getRaftNumber()
@Command(type=QUERY,
description="Gets the hardware type")
public int getHdwType()
@Command(type=QUERY,
description="Get the hardware version")
public int getHwVersion()
@Command(type=QUERY,
description="Get the serial number")
public long getSerialNumber()
public boolean isSerialNumValid()
protected void initDevice()
initDevice in class org.lsst.ccs.monitor.Deviceprotected void initialize()
initialize in class org.lsst.ccs.monitor.Deviceprotected void close()
close in class org.lsst.ccs.monitor.Deviceprotected int[] checkChannel(org.lsst.ccs.monitor.Channel ch)
throws Exception
checkChannel in class org.lsst.ccs.monitor.Devicech - The Channel to checkException - If parameters are invalidprotected void initChannel(org.lsst.ccs.monitor.Channel ch)
initChannel in class org.lsst.ccs.monitor.Devicech - The channel to initializeprotected String getGroupForChannel(org.lsst.ccs.monitor.Channel ch)
getGroupForChannel in class org.lsst.ccs.monitor.Deviceprotected void readChannelGroup(String group)
readChannelGroup in class org.lsst.ccs.monitor.Deviceprotected double readChannel(org.lsst.ccs.monitor.Channel ch)
readChannel in class org.lsst.ccs.monitor.Devicech - The Channel to read.public double[] readPowerAdcs()
throws RaftException
RaftExceptionpublic double[] readPowerAdcs(List<REBDevice.AdcData> dataList) throws RaftException
dataList - List to receive the read values, etcRaftExceptionpublic double[] readSlowAdcs(List<REBDevice.AdcData> dataList) throws RaftException
dataList - List to receive the read values, etcRaftExceptionpublic void readAllAdcs(List<REBDevice.AdcData> dataList) throws RaftException
dataList - List to receive the read values, etcRaftException@Command(type=ACTION,
description="get underMask protection register value")
public int getUnders()
throws RaftException
RaftExceptionpublic static String getAdcName(int adc)
adc - The ADC IDpublic int readSeqIdleState()
throws RaftException
RaftExceptionpublic void writeSeqIdleState(int value)
throws RaftException
value - The lines valueRaftException@Command(type=ACTION,
description="Sets the REB configuration data")
public void setREBConfig(@Argument(name="reb",description="REB configuration data")
REB reb)
throws RaftException
reb - The REB configuration (object)RaftException@Command(type=QUERY,
description="Gets the REB configuration data")
public REB getREBConfig()
@Command(type=CONFIGURATION,
description="Set TM for all ASPICs on this REB")
public void setAllAspicTM(boolean tm)
tm - true for TM, false for normal@Command(type=CONFIGURATION,
description="Set gain for all ASPICs on this REB")
public void setAllAspicGain(int gain)
gain - the new gain value@Command(type=CONFIGURATION,
description="Set RC for all ASPICs on this REB")
public void setAllAspicRc(int rc)
rc - the new rc valuepublic void setAllAspic(String parmName, int val, boolean commit)
@Command(type=ACTION,
description="Perform CCD power on/off sequence",
level=3)
public void powerCCDs(@Argument(description="Whether to power on")
boolean on)
throws RaftException
on - Whether to power on (true) or off (false)RaftException@Command(type=ACTION,
description="get CCD Power State",
level=3)
public String getCCDsPowerState()
throws RaftException
RaftException@Command(type=ACTION,
description="Perform CCD power on sequence",
level=3)
public void powerCCDsOn()
throws RaftException
RaftException@Command(type=ACTION,
description="Perform CCD power off sequence",
level=3)
public void powerCCDsOff()
throws RaftException
RaftException@Command(type=ACTION,
description="Set CCD Clock lines to low state",
level=3)
public void setCCDClocksLow()
throws RaftException
RaftException@Command(type=ACTION,
description="Report Bias, Clock lines set/read deltas and DAC calibration",
level=3)
public String checkDacsCalibration()
throws RaftException
RaftException@Command(type=ACTION,
description="Report and update Bias, Clock lines set/read deltas and DAC calibration",
level=3)
public String updateDacsCalibration()
throws RaftException
RaftException@Command(type=ACTION,
description="Perform CCD shorts test",
level=3)
public void testCCDShorts()
throws RaftException
RaftException@Command(type=ACTION,
description="Applies changed Bias and Clock DAC configuration values on Powered CCDs",
level=3)
public int loadDeltaDacs(@Argument(description="reload all (true) or changes only (false)")
boolean all)
throws RaftException
all - If true, all data are loaded; otherwise only changesRaftException - This is the user command, checks to verify CCDs are ON/DELTA and
only changes allowed by configuration system can be used
Updates the CCDsPowerState on success (eg. DELTA -> ON)@Command(type=ACTION,
description="Load configuration data to the ASPICs")
public int loadAspics(boolean all)
throws Exception
all - If true, all data are loaded; otherwise only changesException@Command(type=ACTION,
description="Reset the ASPICs")
public int resetAspics()
throws Exception
Exception@Command(type=ACTION,
description="Check loaded ASPIC configuration")
public int checkAspics()
throws Exception
Exception@Command(type=QUERY,
description="Get the back bias on state")
public boolean isBackBiasOn()
throws RaftException
RaftException@Command(type=ACTION,
description="Turn back bias on or off")
public void setBackBias(@Argument(description="The on state")
boolean value)
throws RaftException
value - The back bias on state to set (true or false)RaftException@Command(type=ACTION,
description="Disable/Enable the back bias switch",
category=CORE)
public void disableBackBias(@Argument(description="True/False to disable/enable the back bias switch")
boolean disable,
@Argument(description="The reason for enabling/disabling the back bias switch")
String reason)
throws RaftException
disable - True/False to disable/enable the back bias switch.reason - The reason for enabling/disabling the back bias switch.RaftException@Command(type=QUERY,
description="Check if the back bias switch has been disabled")
public boolean isBackBiasDisabled()
throws RaftException
RaftException@Command(type=ACTION,
description="Set heater voltage")
public void setHeater(@Argument(description="Heater number")
int heater,
@Argument(description="The voltage")
double volts)
throws RaftException
heater - The heater number: 0 or 1volts - The voltage to setRaftException@Command(type=ACTION,
description="Set heater power")
public void setHeaterPower(@Argument(description="Heater number")
int heater,
@Argument(description="The power value")
double power)
throws RaftException
heater - The heater number: 0 or 1power - The power value to setRaftException@Command(type=ACTION,
description="Sets the time base to the current system time")
public void setTime()
throws RaftException
RaftException@Command(type=QUERY,
description="Gets the time base as Unix time")
public long getTime()
throws RaftException
RaftException@Command(type=QUERY,
description="Gets a trigger time as Unix time")
public long getTime(@Argument(name="regset",description="Register set name")
String rSet)
throws RaftException
RaftException@Command(type=ACTION,
description="Sets the FITS file test conditions")
public void setFitsConditions(@Argument(description="Filter name")
String filter,
@Argument(description="The temperature")
double temperature,
@Argument(description="The wavelength")
double wavelength)
filter - The filter nametemperature - The temperature set pointwavelength - The monochromator wavelength@Command(type=ACTION,
description="Resets the front end")
public void resetFrontEnd()
throws RaftException
RaftException@Command(type=QUERY,
description="Gets the contents of REB registers")
public RegisterData getRegister(@Argument(description="Address of the first register")
int address,
@Argument(description="Number of registers to read")
int count)
throws RaftException
address - The address of the first register to readcount - The number of registers to readRaftException@Command(type=ACTION,
description="Sets the contents of REB registers")
public void setRegister(@Argument(description="Address of the first register")
int address,
@Argument(description="Values to write")
int[] values)
throws RaftException
address - The address of the first register to writevalues - The array of values to write to consecutive registersRaftException@Command(type=QUERY,
description="Gets the REB status block")
public StatusData getRebStatus()
throws RaftException
RaftExceptionpublic SequencerProc getSequencer()
public double getMaxDelta()
public double getMaxStep()
public double getMinTol()
@Command(simulation=true) public void simulateDisconnection()
protected void setOnline(boolean online)
setOnline in class org.lsst.ccs.monitor.Device@Command(type=QUERY,
description="Show list of monitor-update task names")
public String getMonitorTasks()
@Command(type=QUERY,
description="Pause \"all\" or selected monitoring tasks")
public void pauseMonitorTasks(@Argument(description="tasks...")
String... taskNames)
@Command(type=QUERY,
description="Resume \"all\" or selected monitoring tasks")
public void resumeMonitorTasks(@Argument(description="tasks...")
String... taskNames)
@Command(type=QUERY,
description="Trigger \"all\" or selected monitoring tasks")
public void triggerMonitorTasks(@Argument(description="tasks...")
String... taskNames)
Copyright © 2024 LSST. All rights reserved.