434 lines
9.9 KiB
Plaintext
434 lines
9.9 KiB
Plaintext
# Database for the records specific to the Andor CCD.
|
|
# Matthew Pearson
|
|
# June 2009
|
|
|
|
include "ADBase.template"
|
|
include "NDFile.template"
|
|
|
|
# These are the records that we modify from NDFile.template
|
|
record(mbbo, "$(P)$(R)FileFormat")
|
|
{
|
|
field(ZRST, "TIFF")
|
|
field(ZRVL, "0")
|
|
field(ONST, "BMP")
|
|
field(ONVL, "1")
|
|
field(TWST, "SIF")
|
|
field(TWVL, "2")
|
|
field(THST, "EDF")
|
|
field(THVL, "3")
|
|
field(FRST, "RAW")
|
|
field(FRVL, "4")
|
|
field(FVST, "FITS")
|
|
field(FVVL, "5")
|
|
field(SXST, "SPE")
|
|
field(SXVL, "6")
|
|
}
|
|
|
|
# These are the records that we modify from NDFile.template
|
|
record(mbbi, "$(P)$(R)FileFormat_RBV")
|
|
{
|
|
field(ZRST, "TIFF")
|
|
field(ZRVL, "0")
|
|
field(ONST, "BMP")
|
|
field(ONVL, "1")
|
|
field(TWST, "SIF")
|
|
field(TWVL, "2")
|
|
field(THST, "EDF")
|
|
field(THVL, "3")
|
|
field(FRST, "RAW")
|
|
field(FRVL, "4")
|
|
field(FVST, "FITS")
|
|
field(FVVL, "5")
|
|
field(SXST, "SPE")
|
|
field(SXVL, "6")
|
|
}
|
|
|
|
record(mbbo, "$(P)$(R)ImageMode")
|
|
{
|
|
field(ZRST, "Single")
|
|
field(ZRVL, "0")
|
|
field(ONST, "Multiple")
|
|
field(ONVL, "1")
|
|
field(TWST, "Continuous")
|
|
field(TWVL, "2")
|
|
field(THST, "Fast Kinetics")
|
|
field(THVL, "3")
|
|
field(VAL, "2")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)ImageMode_RBV")
|
|
{
|
|
field(ZRST, "Single")
|
|
field(ZRVL, "0")
|
|
field(ONST, "Multiple")
|
|
field(ONVL, "1")
|
|
field(TWST, "Continuous")
|
|
field(TWVL, "2")
|
|
field(THST, "Fast Kinetics")
|
|
field(THVL, "3")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
record(mbbo, "$(P)$(R)TriggerMode")
|
|
{
|
|
field(ZRST, "Internal")
|
|
field(ZRVL, "0")
|
|
field(ONST, "External")
|
|
field(ONVL, "1")
|
|
field(TWST, "External Start")
|
|
field(TWVL, "6")
|
|
field(THST, "External Exposure")
|
|
field(THVL, "7")
|
|
field(FRST, "External FVP")
|
|
field(FRVL, "9")
|
|
field(FVST, "Software")
|
|
field(FVVL, "10")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)TriggerMode_RBV")
|
|
{
|
|
field(ZRST, "Internal")
|
|
field(ZRVL, "0")
|
|
field(ONST, "External")
|
|
field(ONVL, "1")
|
|
field(TWST, "External Start")
|
|
field(TWVL, "6")
|
|
field(THST, "External Exposure")
|
|
field(THVL, "7")
|
|
field(FRST, "External FVP")
|
|
field(FRVL, "9")
|
|
field(FVST, "Software")
|
|
field(FVVL, "10")
|
|
}
|
|
|
|
record(mbbo, "$(P)$(R)DataType")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))DATA_TYPE")
|
|
field(ZRST, "UInt16")
|
|
field(ZRVL, "3")
|
|
field(ONST, "UInt32")
|
|
field(ONVL, "5")
|
|
field(TWST, "")
|
|
field(TWVL, "")
|
|
field(THST, "")
|
|
field(THVL, "")
|
|
field(FRST, "")
|
|
field(FRVL, "")
|
|
field(FVST, "")
|
|
field(FVVL, "")
|
|
field(SXST, "")
|
|
field(SXVL, "")
|
|
field(SVST, "")
|
|
field(SVVL, "")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)DataType_RBV")
|
|
{
|
|
field(ZRST, "UInt16")
|
|
field(ZRVL, "3")
|
|
field(ONST, "UInt32")
|
|
field(ONVL, "5")
|
|
field(TWST, "")
|
|
field(TWVL, "")
|
|
field(THST, "")
|
|
field(THVL, "")
|
|
field(FRST, "")
|
|
field(FRVL, "")
|
|
field(FVST, "")
|
|
field(FVVL, "")
|
|
field(SXST, "")
|
|
field(SXVL, "")
|
|
field(SVST, "")
|
|
field(SVVL, "")
|
|
}
|
|
|
|
|
|
|
|
# These are the records that are new for the Andor detector
|
|
record(bo, "$(P)$(R)AndorCooler")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_COOLER")
|
|
field(ZNAM, "Off")
|
|
field(ONAM, "On")
|
|
}
|
|
|
|
record(bi, "$(P)$(R)AndorCooler_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_COOLER")
|
|
field(ZNAM, "Off")
|
|
field(ONAM, "On")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Accumulation period.
|
|
record(ao, "$(P)$(R)AndorAccumulatePeriod")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_ACCUMULATE_PERIOD")
|
|
field(PREC, "3")
|
|
field(VAL, "0.1")
|
|
|
|
}
|
|
|
|
record(ai, "$(P)$(R)AndorAccumulatePeriod_RBV")
|
|
{
|
|
field(DTYP, "asynFloat64")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_ACCUMULATE_PERIOD")
|
|
field(PREC, "3")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Status message concerning temperature.
|
|
record(waveform, "$(P)$(R)AndorTempStatus_RBV")
|
|
{
|
|
field(DTYP, "asynOctetRead")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_TEMP_STAT")
|
|
field(FTVL, "CHAR")
|
|
field(NELM, "256")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Status message not related to data acquisition (error messages, information messages, etc.)
|
|
record(waveform, "$(P)$(R)AndorMessage_RBV")
|
|
{
|
|
field(DTYP, "asynOctetRead")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_MESSAGE")
|
|
field(FTVL, "CHAR")
|
|
field(NELM, "256")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
record(mbbo, "$(P)$(R)AndorShutterMode")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_SHUTTER_MODE")
|
|
field(ZRST, "Fully Auto")
|
|
field(ZRVL, "0")
|
|
field(ONST, "Always Open")
|
|
field(ONVL, "1")
|
|
field(TWST, "Always Closed")
|
|
field(TWVL, "2")
|
|
field(THST, "Open for FVB")
|
|
field(THVL, "4")
|
|
field(FRST, "Open for Any")
|
|
field(FRVL, "5")
|
|
}
|
|
|
|
record(bo, "$(P)$(R)AndorShutterExTTL")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_SHUTTER_EXTTL")
|
|
field(ZNAM, "Low To Open")
|
|
field(ONAM, "High To Open")
|
|
field(RVAL, "1")
|
|
}
|
|
|
|
|
|
# Filename of the PAL file
|
|
record(waveform, "$(P)$(R)PALFilePath")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynOctetWrite")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_PAL_FILE_PATH")
|
|
field(FTVL, "CHAR")
|
|
field(NELM, "256")
|
|
}
|
|
|
|
record(waveform, "$(P)$(R)PALFilePath_RBV")
|
|
{
|
|
field(DTYP, "asynOctetRead")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_PAL_FILE_PATH")
|
|
field(FTVL, "CHAR")
|
|
field(NELM, "256")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# The ADC speed enum values are constructed at run-time based on camera capabilities
|
|
record(mbbo, "$(P)$(R)AndorADCSpeed")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_ADC_SPEED")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)AndorADCSpeed_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_ADC_SPEED")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# The pre-amp gain enum values are constructed at run-time based on camera capabilities
|
|
record(mbbo, "$(P)$(R)AndorPreAmpGain")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_PREAMP_GAIN")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)AndorPreAmpGain_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_PREAMP_GAIN")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
record(bo, "$(P)$(R)AndorBaselineClamp")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_BASELINE_CLAMP")
|
|
field(ZNAM, "Disable")
|
|
field(ONAM, "Enable")
|
|
}
|
|
|
|
record(bi, "$(P)$(R)AndorBaselineClamp_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_BASELINE_CLAMP")
|
|
field(ZNAM, "Disable")
|
|
field(ONAM, "Enable")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# EM Gain
|
|
record(longout, "$(P)$(R)AndorEMGain")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_EM_GAIN")
|
|
field(VAL, "0")
|
|
}
|
|
|
|
record(longin, "$(P)$(R)AndorEMGain_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_EM_GAIN")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# EM Gain Mode
|
|
record(mbbo, "$(P)$(R)AndorEMGainMode")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(ZRST, "8 bit DAC")
|
|
field(ZRVL, "0")
|
|
field(ONST, "12 bit DAC")
|
|
field(ONVL, "1")
|
|
field(TWST, "Linear Mode")
|
|
field(TWVL, "2")
|
|
field(THST, "Real EM Gain")
|
|
field(THVL, "3")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_EM_GAIN_MODE")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)AndorEMGainMode_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(ZRST, "8 bit DAC")
|
|
field(ZRVL, "0")
|
|
field(ONST, "12 bit DAC")
|
|
field(ONVL, "1")
|
|
field(TWST, "Linear Mode")
|
|
field(TWVL, "2")
|
|
field(THST, "Real EM Gain")
|
|
field(THVL, "3")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_EM_GAIN_MODE")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# EM Gain Advanced Mode
|
|
record(bo, "$(P)$(R)AndorEMGainAdvanced")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(ZNAM, "Disabled")
|
|
field(ONAM, "Enabled")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_EM_GAIN_ADVANCED")
|
|
}
|
|
|
|
record(bi, "$(P)$(R)AndorEMGainAdvanced_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(ZNAM, "Disabled")
|
|
field(ONAM, "Enabled")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_EM_GAIN_ADVANCED")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
record(mbbo, "$(P)$(R)AndorReadOutMode")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_READOUT_MODE")
|
|
field(ZRST, "FVB")
|
|
field(ZRVL, "0")
|
|
field(ONST, "Image")
|
|
field(ONVL, "4")
|
|
field(VAL, "4")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)AndorReadOutMode_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_READOUT_MODE")
|
|
field(ZRST, "FVB")
|
|
field(ZRVL, "0")
|
|
field(ONST, "Image")
|
|
field(ONVL, "4")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Frame Transfer Mode
|
|
record(bo, "$(P)$(R)AndorFTMode")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(ZNAM, "Disabled")
|
|
field(ONAM, "Enabled")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_FT_MODE")
|
|
}
|
|
|
|
record(bi, "$(P)$(R)AndorFTMode_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(ZNAM, "Disabled")
|
|
field(ONAM, "Enabled")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_FT_MODE")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# The Vertical Shift Period enum values are constructed at run-time based on camera capabilities
|
|
record(mbbo, "$(P)$(R)AndorVSPeriod")
|
|
{
|
|
field(PINI, "1")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_VS_PERIOD")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)AndorVSPeriod_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANDOR_VS_PERIOD")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
#Records in ADBase that do not apply to Andor
|
|
|
|
record(mbbo, "$(P)$(R)ColorMode")
|
|
{
|
|
field(DISA, "1")
|
|
}
|
|
record(mbbi, "$(P)$(R)ColorMode_RBV")
|
|
{
|
|
field(DISA, "1")
|
|
}
|