# Database for the records specific to the PerkinElmer driver # Brian Tieman # July 23, 2008 ###################### # Override ADBase to extend Trigger Mode ###################### record(mbbo, "$(P)$(R)TriggerMode") { field(TWST, "Free Running") field(TWVL, "2") field(THST, "Soft Trigger") field(THVL, "3") } record(mbbi, "$(P)$(R)TriggerMode_RBV") { field(TWST, "Free Running") field(TWVL, "2") field(THST, "Soft Trigger") field(THVL, "3") } ###################### # Override ADBase to extend Image Mode ###################### record(mbbo, "$(P)$(R)ImageMode") { field(THST, "Average") field(THVL, "3") } record(mbbi, "$(P)$(R)ImageMode_RBV") { field(THST, "Average") field(THVL, "3") } ###################### # Setup records ###################### record(longin, "$(P)$(R)PESystemID") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_SYSTEMID") field(SCAN, "I/O Intr") } record(longin, "$(P)$(R)PEFrameBuffIndex") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_FRAME_BUFFER_INDEX") field(SCAN, "I/O Intr") } record(longin, "$(P)$(R)PEImageNumber") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_IMAGE_NUMBER") field(SCAN, "I/O Intr") } record(bo, "$(P)$(R)PEInitialize") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_INITIALIZE") field(ZNAM, "Done") field(ONAM, "Initialize") } ###################### # Corrections records ###################### record(waveform, "$(P)$(R)PECorrectionsDir") { field(PINI, "YES") field(DTYP, "asynOctetWrite") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_CORRECTIONS_DIRECTORY") field(FTVL, "CHAR") field(NELM, "256") } ###################### # Offset records ###################### record(busy, "$(P)$(R)PEAcquireOffset") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_ACQUIRE_OFFSET") field(ZNAM, "Done") field(ONAM, "Acquire") field(ZNAM, "Done") field(ZSV, "NO_ALARM") field(ONAM, "Acquire") field(OSV, "MINOR") } record(longout, "$(P)$(R)PENumOffsetFrames") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_NUM_OFFSET_FRAMES") field(LOPR, "1") field(HOPR, "500") } record(longin, "$(P)$(R)PECurrentOffsetFrame") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_CURRENT_OFFSET_FRAME") field(SCAN, "I/O Intr") } record(bi, "$(P)$(R)PEOffsetAvailable") { field(SCAN, "I/O Intr") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_OFFSET_AVAILABLE") field(ZNAM, "Not Available") field(ZSV, "MINOR") field(ONAM, "Available") field(OSV, "NO_ALARM") } record(bo, "$(P)$(R)PEUseOffset") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_USE_OFFSET") field(ZNAM, "Disable") field(ONAM, "Enable") } ###################### # Gain records ###################### record(busy, "$(P)$(R)PEAcquireGain") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_ACQUIRE_GAIN") field(ZNAM, "Done") field(ZSV, "NO_ALARM") field(ONAM, "Acquire") field(OSV, "MINOR") } record(bi, "$(P)$(R)PEGainAvailable") { field(SCAN, "I/O Intr") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_GAIN_AVAILABLE") field(ZNAM, "Not Available") field(ZSV, "MINOR") field(ONAM, "Available") field(OSV, "NO_ALARM") } record(longout, "$(P)$(R)PENumGainFrames") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_NUM_GAIN_FRAMES") field(LOPR, "1") field(HOPR, "500") } record(longin, "$(P)$(R)PECurrentGainFrame") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_CURRENT_GAIN_FRAME") field(SCAN, "I/O Intr") } record(bo, "$(P)$(R)PEUseGain") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_USE_GAIN") field(ZNAM, "Disable") field(ONAM, "Enable") } record(waveform, "$(P)$(R)PEGainFile") { field(PINI, "YES") field(DTYP, "asynOctetWrite") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_GAIN_FILE") field(FTVL, "CHAR") field(NELM, "256") } record(bo, "$(P)$(R)PELoadGainFile") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_LOAD_GAIN_FILE") field(ZNAM, "Done") field(ONAM, "Load") } record(bo, "$(P)$(R)PESaveGainFile") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_SAVE_GAIN_FILE") field(ZNAM, "Done") field(ONAM, "Save") } ###################### # Pixel correction records ###################### record(bo, "$(P)$(R)PEUsePixelCorrection") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_USE_PIXEL_CORRECTION") field(ZNAM, "Disable") field(ONAM, "Enable") } record(bi, "$(P)$(R)PEPixelCorrectionAvailable") { field(SCAN, "I/O Intr") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_PIXEL_CORRECTION_AVAILABLE") field(ZNAM, "Not Available") field(ZSV, "MINOR") field(ONAM, "Available") field(OSV, "NO_ALARM") } record(waveform, "$(P)$(R)PEPixelCorrectionFile") { field(PINI, "YES") field(DTYP, "asynOctetWrite") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_PIXEL_CORRECTION_FILE") field(FTVL, "CHAR") field(NELM, "256") } record(bo, "$(P)$(R)PELoadPixelCorrection") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_LOAD_PIXEL_CORRECTION_FILE") field(ZNAM, "Done") field(ONAM, "Load") } record(mbbo, "$(P)$(R)PEGain") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_GAIN") field(ZRST, "0.25pF") field(ZRVL, "0") field(ONST, "0.5pF") field(ONVL, "1") field(TWST, "1pF") field(TWVL, "2") field(THST, "2pF") field(THVL, "3") field(FRST, "4pF") field(FRVL, "4") field(FVST, "8pF") field(FVVL, "5") } record(mbbi, "$(P)$(R)PEGain_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_GAIN") field(SCAN, "I/O Intr") field(ZRST, "0.25pF") field(ZRVL, "0") field(ONST, "0.5pF") field(ONVL, "1") field(TWST, "1pF") field(TWVL, "2") field(THST, "2pF") field(THVL, "3") field(FRST, "4pF") field(FRVL, "4") field(FVST, "8pF") field(FVVL, "5") field(SCAN, "I/O Intr") } record(mbbo, "$(P)$(R)PEDwellTime") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_DWELL_TIME") field(ZRST, "66.5ms") field(ZRVL, "0") field(ONST, "79.9ms") field(ONVL, "1") field(TWST, "99.8ms") field(TWVL, "2") field(THST, "133.2ms") field(THVL, "3") field(FRST, "199.9ms") field(FRVL, "4") field(FVST, "400.0ms") field(FVVL, "5") field(SXST, "999.8ms") field(SXVL, "6") field(SVST, "1999.8ms") field(SVVL, "7") } record(mbbi, "$(P)$(R)PEDwellTime_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_DWELL_TIME") field(SCAN, "I/O Intr") field(ZRST, "66.5ms") field(ZRVL, "0") field(ONST, "79.9ms") field(ONVL, "1") field(TWST, "99.8ms") field(TWVL, "2") field(THST, "133.2ms") field(THVL, "3") field(FRST, "199.9ms") field(FRVL, "4") field(FVST, "400.0ms") field(FVVL, "5") field(SXST, "999.8ms") field(SXVL, "6") field(SVST, "1999.8ms") field(SVVL, "7") } record(longout, "$(P)$(R)PENumFrameBuffers") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_NUM_FRAME_BUFFERS") field(LOPR, "0") field(HOPR, "500") } record(longin, "$(P)$(R)PENumFrameBuffers_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_NUM_FRAME_BUFFERS") field(SCAN, "I/O Intr") field(LOPR, "0") field(HOPR, "500") } record(bo, "$(P)$(R)PETrigger") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_TRIGGER") field(ZNAM, "Done") field(ONAM, "Trigger") } record(longout, "$(P)$(R)PESyncTime") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_SYNC_TIME") } record(longout, "$(P)$(R)PESyncTime_RBV") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_SYNC_TIME") } record(bo, "$(P)$(R)PESkipFrames") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_SKIP_FRAMES") field(ZNAM, "Disable") field(ONAM, "Enable") } record(bi, "$(P)$(R)PESkipFrames_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_SKIP_FRAMES") field(SCAN, "I/O Intr") field(ZNAM, "Disable") field(ONAM, "Enable") } record(longout, "$(P)$(R)PENumFramesToSkip") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_NUM_FRAMES_TO_SKIP") } record(longin, "$(P)$(R)PENumFramesToSkip_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))PE_NUM_FRAMES_TO_SKIP") field(SCAN, "I/O Intr") }