New file for ADSC detector
git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@7490 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
This commit is contained in:
485
ADApp/Db/adsc.template
Normal file
485
ADApp/Db/adsc.template
Normal file
@@ -0,0 +1,485 @@
|
||||
# Database for the records specific to the ADSC detectors
|
||||
# J. Lewis Muir (copied and modified prosilica.template by Mark Rivers)
|
||||
# April 15, 2008
|
||||
|
||||
##############################################################################
|
||||
# Controls how frequently to read the condition of the detector #
|
||||
##############################################################################
|
||||
|
||||
record(longout, "$(P)$(R)ADSCReadConditn")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_READ_CONDITION")
|
||||
field(SCAN, "5 second")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Detector condition properties #
|
||||
##############################################################################
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCState")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_STATE")
|
||||
field(SCAN, "I/O Intr")
|
||||
# These labels should match incl/detcon_state.h in ADSC control library
|
||||
field(ZRST, "IDLE")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "EXPOSING")
|
||||
field(ONVL, "1")
|
||||
field(TWST, "READING")
|
||||
field(TWVL, "2")
|
||||
field(THST, "ERROR")
|
||||
field(THVL, "3")
|
||||
field(FRST, "CONFIGDET")
|
||||
field(FRVL, "4")
|
||||
field(FVST, "RETRY")
|
||||
field(FVVL, "5")
|
||||
field(SXST, "TEMPCONTROL")
|
||||
field(SXVL, "6")
|
||||
}
|
||||
|
||||
record(waveform, "$(P)$(R)ADSCStatus")
|
||||
{
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_STATUS")
|
||||
field(FTVL, "UCHAR")
|
||||
field(NELM, "256")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(waveform, "$(P)$(R)ADSCLastError")
|
||||
{
|
||||
field(DTYP, "asynOctetRead")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_LAST_ERROR")
|
||||
field(FTVL, "UCHAR")
|
||||
field(NELM, "256")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Detector error recovery parameters #
|
||||
##############################################################################
|
||||
|
||||
record(longout, "$(P)$(R)ADSCSoftReset")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_SOFTWARE_RESET")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Detector continuous image mode parameters #
|
||||
##############################################################################
|
||||
|
||||
record(longout, "$(P)$(R)ADSCLastImage")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_LAST_IMAGE")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Detector external trigger parameters #
|
||||
##############################################################################
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCOkToExpose")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_OK_TO_EXPOSE")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
field(TWST, "Error")
|
||||
field(TWVL, "2")
|
||||
}
|
||||
|
||||
record(mbbo, "$(P)$(R)ADSCExTrCtl")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_EXTERNAL_TRIGGER_CTRL")
|
||||
field(ZRST, "Stop")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Start")
|
||||
field(ONVL, "1")
|
||||
field(TWST, "OK")
|
||||
field(TWVL, "2")
|
||||
field(THST, "Again")
|
||||
field(THVL, "3")
|
||||
}
|
||||
record(mbbi, "$(P)$(R)ADSCExTrCtl_RBV")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_EXTERNAL_TRIGGER_CTRL")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "Stop")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Start")
|
||||
field(ONVL, "1")
|
||||
field(TWST, "OK")
|
||||
field(TWVL, "2")
|
||||
field(THST, "Again")
|
||||
field(THVL, "3")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Driver parameters #
|
||||
##############################################################################
|
||||
|
||||
record(mbbo, "$(P)$(R)ADSCReusDrk")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_REUSE_DARKS")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCReusDrk_RBV")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_REUSE_DARKS")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbo, "$(P)$(R)ADSCDezingr")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_DEZINGER")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCDezingr_RBV")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_DEZINGER")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Detector hardware parameters #
|
||||
##############################################################################
|
||||
|
||||
record(mbbo, "$(P)$(R)ADSCAdc")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_ADC")
|
||||
field(ZRST, "Slow/Software")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Fast/Hardware")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCAdc_RBV")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_ADC")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "Slow/Software")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Fast/Hardware")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbo, "$(P)$(R)ADSCRaw")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_RAW")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCRaw_RBV")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_RAW")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbo, "$(P)$(R)ADSCImXform")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_IMAGE_TRANSFORM")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCImXform_RBV")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_IMAGE_TRANSFORM")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbo, "$(P)$(R)ADSCStrDrks")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_STORED_DARKS")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCStrDrks_RBV")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_STORED_DARKS")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "No")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Yes")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Detector file parameters #
|
||||
##############################################################################
|
||||
|
||||
record(ao, "$(P)$(R)ADSCBeamX")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_BEAM_CENTER_X")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSCBeamX_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_BEAM_CENTER_X")
|
||||
field(PREC, "3")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(ao, "$(P)$(R)ADSCBeamY")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_BEAM_CENTER_Y")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSCBeamY_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_BEAM_CENTER_Y")
|
||||
field(PREC, "3")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(ao, "$(P)$(R)ADSCDistnce")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_DISTANCE")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSCDistnce_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_DISTANCE")
|
||||
field(PREC, "3")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(ao, "$(P)$(R)ADSC2Theta")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_TWO_THETA")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSC2Theta_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_TWO_THETA")
|
||||
field(PREC, "3")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(mbbo, "$(P)$(R)ADSCAxis")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_AXIS")
|
||||
field(ZRST, "Omega")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Phi")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(mbbi, "$(P)$(R)ADSCAxis_RBV")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_AXIS")
|
||||
field(SCAN, "I/O Intr")
|
||||
field(ZRST, "Omega")
|
||||
field(ZRVL, "0")
|
||||
field(ONST, "Phi")
|
||||
field(ONVL, "1")
|
||||
}
|
||||
|
||||
record(ao, "$(P)$(R)ADSCWavelen")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_WAVELENGTH")
|
||||
field(PREC, "7")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSCWavelen_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_WAVELENGTH")
|
||||
field(PREC, "7")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(ao, "$(P)$(R)ADSCImWidth")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_IMAGE_WIDTH")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSCImWidth_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_IMAGE_WIDTH")
|
||||
field(PREC, "3")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(ao, "$(P)$(R)ADSCPhi")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_PHI")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSCPhi_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_PHI")
|
||||
field(PREC, "3")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(ao, "$(P)$(R)ADSCOmega")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_OMEGA")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSCOmega_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_OMEGA")
|
||||
field(PREC, "3")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
record(ao, "$(P)$(R)ADSCKappa")
|
||||
{
|
||||
field(PINI, "1")
|
||||
field(DTYP, "asynFloat64")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_KAPPA")
|
||||
field(PREC, "3")
|
||||
}
|
||||
|
||||
record(ai, "$(P)$(R)ADSCKappa_RBV")
|
||||
{
|
||||
field(DTYP, "asynFloat64")
|
||||
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_KAPPA")
|
||||
field(PREC, "3")
|
||||
field(SCAN, "I/O Intr")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Private parameters only for testing with simadsc
|
||||
##############################################################################
|
||||
|
||||
record(longout, "$(P)$(R)ADSCStpExRtryCt")
|
||||
{
|
||||
field(DTYP, "asynInt32")
|
||||
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ADSC_PRVT_STOP_EXP_RTRY_CNT")
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Note: The following are records defined in ADAsyn.template. #
|
||||
# We are changing some of the fields here to reflect valid values and #
|
||||
# desired behavior for the ADSC driver. #
|
||||
##############################################################################
|
||||
|
||||
record(longout, "$(P)$(R)BinX")
|
||||
{
|
||||
field(FLNK, "$(P)$(R)BinXChanged")
|
||||
}
|
||||
|
||||
record(calcout, "$(P)$(R)BinXChanged")
|
||||
{
|
||||
field(INPA, "$(P)$(R)BinX NPPNMS")
|
||||
field(INPB, "$(P)$(R)BinX.PACT NPPNMS")
|
||||
field(CALC, "B")
|
||||
field(OCAL, "A")
|
||||
field(OUT, "$(P)$(R)BinY PP MS")
|
||||
field(OOPT, "When Non-zero")
|
||||
field(DOPT, "Use OCAL")
|
||||
field(IVOA, "Don't drive outputs")
|
||||
}
|
||||
|
||||
record(longout, "$(P)$(R)BinY")
|
||||
{
|
||||
field(PINI, "0")
|
||||
field(DTYP, "Soft Channel")
|
||||
field(OUT, "$(P)$(R)BinYChanged.PROC PP MS")
|
||||
}
|
||||
|
||||
record(calcout, "$(P)$(R)BinYChanged")
|
||||
{
|
||||
field(INPA, "$(P)$(R)BinY NPPNMS")
|
||||
field(INPB, "$(P)$(R)BinX.PACT NPPNMS")
|
||||
field(CALC, "B")
|
||||
field(OCAL, "A")
|
||||
field(OUT, "$(P)$(R)BinX PP MS")
|
||||
field(OOPT, "When Zero")
|
||||
field(DOPT, "Use OCAL")
|
||||
field(IVOA, "Don't drive outputs")
|
||||
}
|
||||
17
ADApp/Db/adsc_settings.req
Normal file
17
ADApp/Db/adsc_settings.req
Normal file
@@ -0,0 +1,17 @@
|
||||
$(P)$(R)ADSCReadConditn.SCAN
|
||||
$(P)$(R)ADSCReusDrk
|
||||
$(P)$(R)ADSCDezingr
|
||||
$(P)$(R)ADSCAdc
|
||||
$(P)$(R)ADSCRaw
|
||||
$(P)$(R)ADSCImXform
|
||||
$(P)$(R)ADSCStrDrks
|
||||
$(P)$(R)ADSCBeamX
|
||||
$(P)$(R)ADSCBeamY
|
||||
$(P)$(R)ADSCDistnce
|
||||
$(P)$(R)ADSC2Theta
|
||||
$(P)$(R)ADSCAxis
|
||||
$(P)$(R)ADSCWavelen
|
||||
$(P)$(R)ADSCImWidth
|
||||
$(P)$(R)ADSCPhi
|
||||
$(P)$(R)ADSCOmega
|
||||
$(P)$(R)ADSCKappa
|
||||
Reference in New Issue
Block a user