# Database for the records specific to the LightField driver # Mark Rivers # September 5, 2013 # These are the records from ADBase.template that we modify some fields for # We replace the choice fields for ImageMode from ADBase.template record(mbbo, "$(P)$(R)ImageMode") { field(ZRST, "Normal") field(ZRVL, "0") field(ONST, "Preview") field(ONVL, "1") field(TWST, "Background") field(TWVL, "2") } record(mbbi, "$(P)$(R)ImageMode_RBV") { field(ZRST, "Normal") field(ZRVL, "0") field(ONST, "Preview") field(ONVL, "1") field(TWST, "Background") field(TWVL, "2") } record(mbbo, "$(P)$(R)TriggerMode") { field(ZRST, "Internal") field(ZRVL, "2") field(ONST, "External") field(ONVL, "1") } record(mbbi, "$(P)$(R)TriggerMode_RBV") { field(ZRST, "Internal") field(ZRVL, "2") field(ONST, "External") field(ONVL, "1") } # Change state 7 (ADStatusWaiting) string to Busy and alarm status to minor record(mbbi, "$(P)$(R)DetectorState_RBV") { field(SVST, "Busy") field(SVVL, "7") field(SVSV, "MINOR") } # We change the precision on the Gain record to 0, because it is an integer on LightField record(ao, "$(P)$(R)Gain") { field(PREC, "0") } record(ai, "$(P)$(R)Gain_RBV") { field(PREC, "0") } # These are new records for the LightField detector record(longout, "$(P)$(R)NumAccumulations") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_NUM_ACCUMULATIONS") } record(longin, "$(P)$(R)NumAccumulations_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_NUM_ACCUMULATIONS") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)NumAcquisitions") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_NUM_ACQUISITIONS") } record(longin, "$(P)$(R)NumAcquisitions_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_NUM_ACQUISITIONS") field(SCAN, "I/O Intr") } record(longin, "$(P)$(R)NumAcquisitionsCounter_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_NUM_ACQUISITIONS_COUNTER") field(SCAN, "I/O Intr") } record(mbbo, "$(P)$(R)LFGain") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_GAIN") field(ZRST, "Low") field(ZRVL, "1") field(ONST, "Medium") field(ONVL, "2") field(TWST, "High") field(TWVL, "3") } record(mbbi, "$(P)$(R)LFGain_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_GAIN") field(ZRST, "Low") field(ZRVL, "1") field(ONST, "Medium") field(ONVL, "2") field(TWST, "High") field(TWVL, "3") field(SCAN, "I/O Intr") } record(mbbo, "$(P)$(R)LFShutterMode") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SHUTTER_MODE") field(ZRST, "Normal") field(ZRVL, "1") field(ONST, "Always closed") field(ONVL, "2") field(TWST, "Always open") field(TWVL, "3") field(THST, "Open before trigger") field(THVL, "4") } record(mbbi, "$(P)$(R)LFShutterMode_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SHUTTER_MODE") field(ZRST, "Normal") field(ZRVL, "1") field(ONST, "Always closed") field(ONVL, "2") field(TWST, "Always open") field(TWVL, "3") field(THST, "Open before trigger") field(THVL, "4") field(SCAN, "I/O Intr") } record(mbbo, "$(P)$(R)LFExperimentName") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_EXPERIMENT_NAME") } record(mbbi, "$(P)$(R)LFExperimentName_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_EXPERIMENT_NAME") field(SCAN, "I/O Intr") } record(bo, "$(P)$(R)LFUpdateExperiments") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_UPDATE_EXPERIMENTS") field(ZNAM, "Done") field(ONAM, "Update") } record(mbbo, "$(P)$(R)LFGrating") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_GRATING") } record(mbbi, "$(P)$(R)LFGrating_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_GRATING") field(SCAN, "I/O Intr") } record(ao, "$(P)$(R)LFGratingWavelength") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_GRATING_WAVELENGTH") field(PREC, "3") } record(ai, "$(P)$(R)LFGratingWavelength_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_GRATING_WAVELENGTH") field(SCAN, "I/O Intr") field(PREC, "3") } record(longout, "$(P)$(R)LFEntranceWidth") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_ENTRANCE_SIDE_WIDTH") } record(longin, "$(P)$(R)LFEntranceWidth_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_ENTRANCE_SIDE_WIDTH") field(SCAN, "I/O Intr") } record(mbbo, "$(P)$(R)LFExitPort") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_EXIT_SELECTED") field(ZRST, "Side") field(ZRVL, "5") field(ONST, "Front") field(ONVL, "4") } record(mbbi, "$(P)$(R)LFExitPort_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_EXIT_SELECTED") field(ZRST, "Side") field(ZRVL, "5") field(ONST, "Front") field(ONVL, "4") field(SCAN, "I/O Intr") } record(waveform, "$(P)$(R)LFFilePath_RBV") { field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_FILE_PATH") field(FTVL, "CHAR") field(NELM, "256") field(SCAN, "I/O Intr") } record(waveform, "$(P)$(R)LFFileName_RBV") { field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_FILE_NAME") field(FTVL, "CHAR") field(NELM, "256") field(SCAN, "I/O Intr") } record(waveform, "$(P)$(R)LFBackgroundPath") { field(PINI, "YES") field(DTYP, "asynOctetWrite") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_BACKGROUND_PATH") field(FTVL, "CHAR") field(NELM, "256") } record(waveform, "$(P)$(R)LFBackgroundPath_RBV") { field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_BACKGROUND_PATH") field(FTVL, "CHAR") field(NELM, "256") field(SCAN, "I/O Intr") } record(waveform, "$(P)$(R)LFBackgroundFile") { field(PINI, "YES") field(DTYP, "asynOctetWrite") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_BACKGROUND_FILE") field(FTVL, "CHAR") field(NELM, "256") } record(waveform, "$(P)$(R)LFBackgroundFile_RBV") { field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_BACKGROUND_FILE") field(FTVL, "CHAR") field(NELM, "256") field(SCAN, "I/O Intr") } record(waveform, "$(P)$(R)LFBackgroundFullFile_RBV") { field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_BACKGROUND_FULL_FILE") field(FTVL, "CHAR") field(NELM, "256") field(SCAN, "I/O Intr") } record(bo, "$(P)$(R)LFBackgroundEnable") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_BACKGROUND_ENABLE") field(ZNAM, "Disable") field(ONAM, "Enable") } record(bi, "$(P)$(R)LFBackgroundEnable_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_BACKGROUND_ENABLE") field(ZNAM, "Disable") field(ONAM, "Enable") field(SCAN, "I/O Intr") } record(bo, "$(P)$(R)LFIntensifierEnable") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_INTENSIFIER_ENABLE") field(ZNAM, "Disable") field(ONAM, "Enable") } record(bi, "$(P)$(R)LFIntensifierEnable_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_INTENSIFIER_ENABLE") field(ZNAM, "Disable") field(ONAM, "Enable") field(SCAN, "I/O Intr") } record(ao, "$(P)$(R)LFIntensifierGain") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_INTENSIFIER_GAIN") field(PREC, "0") } record(ai, "$(P)$(R)LFIntensifierGain_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_INTENSIFIER_GAIN") field(SCAN, "I/O Intr") field(PREC, "0") } record(mbbo, "$(P)$(R)LFGatingMode") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_GATING_MODE") field(ZRST, "Repetitive") field(ZRVL, "1") field(ONST, "Sequential") field(ONVL, "2") } record(mbbi, "$(P)$(R)LFGatingMode_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_GATING_MODE") field(ZRST, "Repetitive") field(ZRVL, "1") field(ONST, "Sequential") field(ONVL, "2") field(SCAN, "I/O Intr") } record(ao, "$(P)$(R)LFTriggerFrequency") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_TRIGGER_FREQUENCY") field(PREC, "0") } record(ai, "$(P)$(R)LFTriggerFrequency_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_TRIGGER_FREQUENCY") field(SCAN, "I/O Intr") field(PREC, "0") } record(bo, "$(P)$(R)LFSyncMasterEnable") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SYNCMASTER_ENABLE") field(ZNAM, "Disable") field(ONAM, "Enable") } record(bi, "$(P)$(R)LFSyncMasterEnable_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SYNCMASTER_ENABLE") field(ZNAM, "Disable") field(ONAM, "Enable") field(SCAN, "I/O Intr") } record(ao, "$(P)$(R)LFSyncMaster2Delay") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SYNCMASTER2_DELAY") field(PREC, "2") } record(ai, "$(P)$(R)LFSyncMaster2Delay_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SYNCMASTER2_DELAY") field(SCAN, "I/O Intr") field(PREC, "2") } record(ao, "$(P)$(R)LFRepGateWidth") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_REP_GATE_WIDTH") field(PREC, "2") } record(ai, "$(P)$(R)LFRepGateWidth_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_REP_GATE_WIDTH") field(SCAN, "I/O Intr") field(PREC, "2") } record(ao, "$(P)$(R)LFRepGateDelay") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_REP_GATE_DELAY") field(PREC, "2") } record(ai, "$(P)$(R)LFRepGateDelay_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_REP_GATE_DELAY") field(SCAN, "I/O Intr") field(PREC, "2") } record(ao, "$(P)$(R)LFSeqStartGateWidth") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SEQ_START_GATE_WIDTH") field(PREC, "2") } record(ai, "$(P)$(R)LFSeqStartGateWidth_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SEQ_START_GATE_WIDTH") field(SCAN, "I/O Intr") field(PREC, "2") } record(ao, "$(P)$(R)LFSeqStartGateDelay") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SEQ_START_GATE_DELAY") field(PREC, "2") } record(ai, "$(P)$(R)LFSeqStartGateDelay_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SEQ_START_GATE_DELAY") field(SCAN, "I/O Intr") field(PREC, "2") } record(ao, "$(P)$(R)LFSeqEndGateWidth") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SEQ_END_GATE_WIDTH") field(PREC, "2") } record(ai, "$(P)$(R)LFSeqEndGateWidth_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SEQ_END_GATE_WIDTH") field(SCAN, "I/O Intr") field(PREC, "2") } record(ao, "$(P)$(R)LFSeqEndGateDelay") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SEQ_END_GATE_DELAY") field(PREC, "2") } record(ai, "$(P)$(R)LFSeqEndGateDelay_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_SEQ_END_GATE_DELAY") field(SCAN, "I/O Intr") field(PREC, "2") } record(ao, "$(P)$(R)LFAuxWidth") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_AUX_WIDTH") field(PREC, "2") } record(ai, "$(P)$(R)LFAuxWidth_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_AUX_WIDTH") field(SCAN, "I/O Intr") field(PREC, "2") } record(ao, "$(P)$(R)LFAuxDelay") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_AUX_DELAY") field(PREC, "2") } record(ai, "$(P)$(R)LFAuxDelay_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_AUX_DELAY") field(SCAN, "I/O Intr") field(PREC, "2") } record(bi, "$(P)$(R)LFReadyToRun") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))LF_READY_TO_RUN") field(ZNAM, "NotReady") field(ZSV, "MAJOR") field(ONAM, "Ready") field(OSV, "NO_ALARM") field(SCAN, "I/O Intr") }