Files
ADAndor/andorApp/Db/andorCCD.template
2017-12-12 12:17:29 -08:00

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")
}