git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@12915 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
383 lines
8.7 KiB
Plaintext
383 lines
8.7 KiB
Plaintext
# Database for the records specific to the Pilatus driver
|
|
# Mark Rivers
|
|
# July 25, 2008
|
|
|
|
# We redefine the states for the TriggerMode records defined in ADBase.template
|
|
record(mbbo,"$(P)$(R)TriggerMode") {
|
|
field(DESC,"Acquire mode")
|
|
field(ZRVL,"0")
|
|
field(ZRST,"Internal")
|
|
field(ONVL,"1")
|
|
field(ONST,"Ext. Enable")
|
|
field(TWVL,"2")
|
|
field(TWST,"Ext. Trigger")
|
|
field(THVL,"3")
|
|
field(THST,"Mult. Trigger")
|
|
field(FRVL,"4")
|
|
field(FRST,"Alignment")
|
|
}
|
|
record(mbbi,"$(P)$(R)TriggerMode_RBV") {
|
|
field(DESC,"Acquire mode")
|
|
field(ZRVL,"0")
|
|
field(ZRST,"Internal")
|
|
field(ONVL,"1")
|
|
field(ONST,"Ext. Enable")
|
|
field(TWVL,"2")
|
|
field(TWST,"Ext. Trigger")
|
|
field(THVL,"3")
|
|
field(THST,"Mult. Trigger")
|
|
field(FRVL,"4")
|
|
field(FRST,"Alignment")
|
|
}
|
|
|
|
# We redefine the states for the FileFormat records defined in NDFile.template
|
|
record(mbbo, "$(P)$(R)FileFormat")
|
|
{
|
|
field(ZRST, "TIFF")
|
|
field(ZRVL, "0")
|
|
field(ONST, "Invalid")
|
|
field(ONVL, "1")
|
|
}
|
|
|
|
record(mbbi, "$(P)$(R)FileFormat_RBV")
|
|
{
|
|
field(ZRST, "TIFF")
|
|
field(ZRVL, "0")
|
|
field(ONST, "Invalid")
|
|
field(ONVL, "1")
|
|
}
|
|
|
|
# Armed flag, which indicates Pilatus is ready for external triggers
|
|
record(bi, "$(P)$(R)Armed")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ARMED")
|
|
field(ZNAM, "Unarmed")
|
|
field(ONAM, "Armed")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Delay time in External Trigger mode.
|
|
record(ao, "$(P)$(R)DelayTime")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))DELAY_TIME")
|
|
field(EGU, "s")
|
|
field(VAL, "0")
|
|
field(PREC, "6")
|
|
}
|
|
|
|
record(ai, "$(P)$(R)DelayTime_RBV")
|
|
{
|
|
field(DTYP, "asynFloat64")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))DELAY_TIME")
|
|
field(EGU, "s")
|
|
field(PREC, "6")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Threshold energy
|
|
record(ao, "$(P)$(R)ThresholdEnergy")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))THRESHOLD")
|
|
field(DESC, "Energy threshold")
|
|
field(EGU, "keV")
|
|
field(PREC, "3")
|
|
field(VAL, "10.000")
|
|
}
|
|
|
|
record(ai, "$(P)$(R)ThresholdEnergy_RBV")
|
|
{
|
|
field(DTYP, "asynFloat64")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))THRESHOLD")
|
|
field(DESC, "Energy threshold")
|
|
field(EGU, "keV")
|
|
field(PREC, "3")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Gain menu. This writes to the Gain PV in the base database.
|
|
record(mbbo, "$(P)$(R)GainMenu")
|
|
{
|
|
field(DESC, "Shaping time and gain")
|
|
field(OUT, "$(P)$(R)Gain.VAL PP MS")
|
|
field(ZRST, "Fast/Low")
|
|
field(ZRVL, "0")
|
|
field(ONST, "Medium/Medium")
|
|
field(ONVL, "1")
|
|
field(TWST, "Slow/High")
|
|
field(TWVL, "2")
|
|
field(THST, "Slow/Ultrahigh")
|
|
field(THVL, "3")
|
|
field(VAL, "1")
|
|
}
|
|
|
|
# Timeout waiting for image to be written to file system
|
|
record(ao, "$(P)$(R)ImageFileTmot")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))IMAGE_FILE_TMOT")
|
|
field(DESC, "Timeout for image file")
|
|
field(VAL, "20")
|
|
field(EGU, "s")
|
|
field(PREC, "3")
|
|
}
|
|
|
|
# Bad pixel file
|
|
record(waveform, "$(P)$(R)BadPixelFile")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynOctetWrite")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))BAD_PIXEL_FILE")
|
|
field(FTVL, "CHAR")
|
|
field(NELM, "256")
|
|
}
|
|
|
|
# Number of bad pixels
|
|
record(longin, "$(P)$(R)NumBadPixels")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))NUM_BAD_PIXELS")
|
|
field(DESC, "Number of bad pixels")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Flat field file
|
|
record(waveform, "$(P)$(R)FlatFieldFile")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynOctetWrite")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FLAT_FIELD_FILE")
|
|
field(FTVL, "CHAR")
|
|
field(NELM, "256")
|
|
}
|
|
|
|
# Minimum flat field value
|
|
record(longout, "$(P)$(R)MinFlatField")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MIN_FLAT_FIELD")
|
|
field(DESC, "Minimum flat field value")
|
|
field(VAL, "100")
|
|
field(EGU, "Counts")
|
|
}
|
|
|
|
record(longin, "$(P)$(R)MinFlatField_RBV")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MIN_FLAT_FIELD")
|
|
field(DESC, "Minimum flat field value")
|
|
field(EGU, "Counts")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
# Flat field valid flag.
|
|
record(bi, "$(P)$(R)FlatFieldValid")
|
|
{
|
|
field(DTYP, "asynInt32")
|
|
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FLAT_FIELD_VALID")
|
|
field(DESC, "Flat field valid")
|
|
field(ZNAM, "No")
|
|
field(ONAM, "Yes")
|
|
field(SCAN, "I/O Intr")
|
|
}
|
|
|
|
|
|
# asyn record for interactive communication with camserver
|
|
record(asyn, "$(P)$(R)CamserverAsyn")
|
|
{
|
|
field(PORT, "$(CAMSERVER_PORT)")
|
|
field(IMAX, "64")
|
|
field(OMAX, "64")
|
|
}
|
|
|
|
# ancillary information
|
|
|
|
record(ao, "$(P)$(R)Wavelength")
|
|
{
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))WAVELENGTH")
|
|
field(PREC, "4")
|
|
field(VAL, "1.54")
|
|
field(EGU, "Angstroms")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)EnergyLow")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ENERGY_LOW")
|
|
field(PREC, "3")
|
|
field(VAL, "0")
|
|
field(EGU, "eV")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)EnergyHigh")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ENERGY_HIGH")
|
|
field(PREC, "3")
|
|
field(VAL, "0")
|
|
field(EGU, "eV")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)DetDist")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))DET_DIST")
|
|
field(PREC, "3")
|
|
field(VAL, "1000")
|
|
field(EGU, "mm")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)DetVOffset")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))DET_VOFFSET")
|
|
field(PREC, "3")
|
|
field(VAL, "0")
|
|
field(EGU, "mm")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)BeamX")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))BEAM_X")
|
|
field(PREC, "3")
|
|
field(VAL, "0")
|
|
field(EGU, "pixels")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)BeamY")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))BEAM_Y")
|
|
field(PREC, "3")
|
|
field(VAL, "0")
|
|
field(EGU, "pixels")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)Flux")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FLUX")
|
|
field(PREC, "4")
|
|
field(VAL, "0")
|
|
field(EGU, "ph/s")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)FilterTransm")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FILTER_TRANSM")
|
|
field(VAL, "1.0")
|
|
field(PREC, "4")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)StartAngle")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))START_ANGLE")
|
|
field(PREC, "4")
|
|
field(VAL, "0")
|
|
field(EGU, "deg")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)AngleIncr")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ANGLE_INCR")
|
|
field(PREC, "4")
|
|
field(VAL, "0.1")
|
|
field(EGU, "deg")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)Det2theta")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))DET_2THETA")
|
|
field(PREC, "4")
|
|
field(VAL, "0")
|
|
field(EGU, "deg")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)Polarization")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))POLARIZATION")
|
|
field(PREC, "4")
|
|
field(VAL, "0.99")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)Alpha")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))ALPHA")
|
|
field(PREC, "4")
|
|
field(VAL, "0")
|
|
field(EGU, "deg")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)Kappa")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))KAPPA")
|
|
field(PREC, "4")
|
|
field(VAL, "0")
|
|
field(EGU, "deg")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)Phi")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PHI")
|
|
field(PREC, "4")
|
|
field(VAL, "0")
|
|
field(EGU, "deg")
|
|
}
|
|
|
|
record(ao, "$(P)$(R)Chi")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynFloat64")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))CHI")
|
|
field(PREC, "4")
|
|
field(VAL, "0")
|
|
field(EGU, "deg")
|
|
}
|
|
|
|
record(stringout, "$(P)$(R)OscillAxis")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynOctetWrite")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))OSCILL_AXIS")
|
|
field(VAL, "X, CW")
|
|
}
|
|
|
|
record(longout, "$(P)$(R)NumOscill")
|
|
{
|
|
field(PINI, "YES")
|
|
field(DTYP, "asynInt32")
|
|
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))NUM_OSCILL")
|
|
field(VAL, "1")
|
|
}
|