Files
ADAndor/ADApp/Db/marCCD.template
2008-11-07 14:00:05 +00:00

332 lines
8.1 KiB
Plaintext

# Database for the records specific to the marCCD driver
# Mark Rivers
# October 31, 2008
# State word
record(longin,"$(P)$(R)MarState_RBV") {
field(DTYP,"asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_STATE")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC,"Task state")
}
# Status field for low order 4 bits (should only be IDLE, ERROR or BUSY)
record(mbbi,"$(P)$(R)MarStatus_RBV") {
field(DTYP,"asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_STATUS")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC,"Task status")
field(ZRVL,"0")
field(ZRST,"Idle")
field(ZRSV,"NO_ALARM")
field(ONVL,"1")
field(ONST,"Unknown 1")
field(ONSV, "INVALID")
field(TWVL,"2")
field(TWST,"Unknown 2")
field(TWSV, "INVALID")
field(THVL,"3")
field(THST,"Undefined 3")
field(THSV, "INVALID")
field(FRVL,"4")
field(FRST,"Error")
field(FRSV, "MAJOR")
field(FVVL,"5")
field(FVST,"Undefined 5")
field(FVSV, "INVALID")
field(SXVL,"6")
field(SXST,"Undefined 6")
field(SXSV, "INVALID")
field(SVVL,"7")
field(SVST,"Undefined 7")
field(SVSV, "INVALID")
field(EIVL,"8")
field(EIST,"Busy")
field(EISV, "MINOR")
}
# Individual status fields for the Acquire, Readout, Correct, Writing, and Dezinger tasks
record(mbbi,"$(P)$(R)MarAcquireStatus_RBV") {
field(DTYP,"asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_ACQUIRE_STATUS")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC,"Acquire status")
field(ZRVL,"0")
field(ZRST,"Idle")
field(ZRSV,"NO_ALARM")
field(ONVL,"1")
field(ONST,"Queued")
field(ONSV, "MINOR")
field(TWVL,"2")
field(TWST,"Executing")
field(TWSV, "MINOR")
field(THVL,"3")
field(THST,"Undefined 3")
field(THSV, "INVALID")
field(FRVL,"4")
field(FRST,"Error")
field(FRSV, "MAJOR")
field(FVVL,"5")
field(FVST,"Undefined 5")
field(FVSV, "INVALID")
field(SXVL,"6")
field(SXST,"Undefined 6")
field(SXSV, "INVALID")
field(SVVL,"7")
field(SVST,"Undefined 7")
field(SVSV, "INVALID")
field(EIVL,"8")
field(EIST,"Reserved")
field(EISV, "MINOR")
}
record(mbbi,"$(P)$(R)MarReadoutStatus_RBV") {
field(DTYP,"asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_READOUT_STATUS")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC,"Readout status")
field(ZRVL,"0")
field(ZRST,"Idle")
field(ZRSV,"NO_ALARM")
field(ONVL,"1")
field(ONST,"Queued")
field(ONSV, "MINOR")
field(TWVL,"2")
field(TWST,"Executing")
field(TWSV, "MINOR")
field(THVL,"3")
field(THST,"Undefined 3")
field(THSV, "INVALID")
field(FRVL,"4")
field(FRST,"Error")
field(FRSV, "MAJOR")
field(FVVL,"5")
field(FVST,"Undefined 5")
field(FVSV, "INVALID")
field(SXVL,"6")
field(SXST,"Undefined 6")
field(SXSV, "INVALID")
field(SVVL,"7")
field(SVST,"Undefined 7")
field(SVSV, "INVALID")
field(EIVL,"8")
field(EIST,"Reserved")
field(EISV, "MINOR")
}
record(mbbi,"$(P)$(R)MarCorrectStatus_RBV") {
field(DTYP,"asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_CORRECT_STATUS")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC,"Correct status")
field(ZRVL,"0")
field(ZRST,"Idle")
field(ZRSV,"NO_ALARM")
field(ONVL,"1")
field(ONST,"Queued")
field(ONSV, "MINOR")
field(TWVL,"2")
field(TWST,"Executing")
field(TWSV, "MINOR")
field(THVL,"3")
field(THST,"Undefined 3")
field(THSV, "INVALID")
field(FRVL,"4")
field(FRST,"Error")
field(FRSV, "MAJOR")
field(FVVL,"5")
field(FVST,"Undefined 5")
field(FVSV, "INVALID")
field(SXVL,"6")
field(SXST,"Undefined 6")
field(SXSV, "INVALID")
field(SVVL,"7")
field(SVST,"Undefined 7")
field(SVSV, "INVALID")
field(EIVL,"8")
field(EIST,"Reserved")
field(EISV, "MINOR")
}
record(mbbi,"$(P)$(R)MarWritingStatus_RBV") {
field(DTYP,"asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_WRITING_STATUS")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC,"Writing status")
field(ZRVL,"0")
field(ZRST,"Idle")
field(ZRSV,"NO_ALARM")
field(ONVL,"1")
field(ONST,"Queued")
field(ONSV, "MINOR")
field(TWVL,"2")
field(TWST,"Executing")
field(TWSV, "MINOR")
field(THVL,"3")
field(THST,"Undefined 3")
field(THSV, "INVALID")
field(FRVL,"4")
field(FRST,"Error")
field(FRSV, "MAJOR")
field(FVVL,"5")
field(FVST,"Undefined 5")
field(FVSV, "INVALID")
field(SXVL,"6")
field(SXST,"Undefined 6")
field(SXSV, "INVALID")
field(SVVL,"7")
field(SVST,"Undefined 7")
field(SVSV, "INVALID")
field(EIVL,"8")
field(EIST,"Reserved")
field(EISV, "MINOR")
}
record(mbbi,"$(P)$(R)MarDezingerStatus_RBV") {
field(DTYP,"asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_DEZINGER_STATUS")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC,"Dezinger status")
field(ZRVL,"0")
field(ZRST,"Idle")
field(ZRSV,"NO_ALARM")
field(ONVL,"1")
field(ONST,"Queued")
field(ONSV, "MINOR")
field(TWVL,"2")
field(TWST,"Executing")
field(TWSV, "MINOR")
field(THVL,"3")
field(THST,"Undefined 3")
field(THSV, "INVALID")
field(FRVL,"4")
field(FRST,"Error")
field(FRSV, "MAJOR")
field(FVVL,"5")
field(FVST,"Undefined 5")
field(FVSV, "INVALID")
field(SXVL,"6")
field(SXST,"Undefined 6")
field(SXSV, "INVALID")
field(SVVL,"7")
field(SVST,"Undefined 7")
field(SVSV, "INVALID")
field(EIVL,"8")
field(EIST,"Reserved")
field(EISV, "MINOR")
}
# Timeout waiting for TIFF file.
record(ao, "$(P)$(R)ReadTiffTimeout")
{
field(DTYP, "asynFloat64")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_TIFF_TIMEOUT")
field(DESC, "Timeout for TIFF file")
field(VAL, "30")
field(EGU, "s")
field(PREC, "3")
}
# Overlap operation
record(bo, "$(P)$(R)OverlapMode")
{
field(DTYP, "asynInt32")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_OVERLAP")
field(PINI, "1")
field(DESC, "Overlap or sequential")
field(ZNAM, "Sequential")
field(ONAM, "Overlap")
}
record(bi, "$(P)$(R)OverlapMode_RBV")
{
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_OVERLAP")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC, "Overlap or sequential")
field(ZNAM, "Sequential")
field(ONAM, "Overlap")
}
# Read data files?
record(bo, "$(P)$(R)ReadFiles")
{
field(DTYP, "asynInt32")
field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_READ_FILES")
field(PINI, "1")
field(DESC, "Read data files?")
field(ZNAM, "No")
field(ONAM, "Yes")
}
record(bi, "$(P)$(R)ReadFiles_RBV")
{
field(DTYP, "asynInt32")
field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))MAR_READ_FILES")
field(SCAN, "I/O Intr")
field(PINI, "1")
field(DESC, "Read data files")
field(ZNAM, "No")
field(ONAM, "Yes")
}
# We replace the choice fields for FrameType from ADBase.template
record(mbbo, "$(P)$(R)FrameType")
{
field(ZRST, "Normal")
field(ZRVL, "0")
field(ONST, "Background")
field(ONVL, "1")
field(TWST, "Raw")
field(TWVL, "2")
field(THST, "DblCorrelation")
field(THVL, "3")
}
record(mbbi, "$(P)$(R)FrameType_RBV")
{
field(ZRST, "Normal")
field(ZRVL, "0")
field(ONST, "Background")
field(ONVL, "1")
field(TWST, "Raw")
field(TWVL, "2")
field(THST, "DblCorrelation")
field(THVL, "3")
field(SCAN, "I/O Intr")
}
# We replace the file format choices from ADBase.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")
field(SCAN, "I/O Intr")
}
# asyn record for interactive communication with marServer
record(asyn, "$(P)$(R)marServerAsyn")
{
field(PORT, "$(MARSERVER_PORT)")
field(IMAX, "64")
field(OMAX, "64")
}