diff --git a/ADApp/Db/ADImage.template b/ADApp/Db/ADImage.template new file mode 100644 index 0000000..9aa30a9 --- /dev/null +++ b/ADApp/Db/ADImage.template @@ -0,0 +1,89 @@ +# Database for area detector control using asyn driver and standard asyn device support +# Mark Rivers +# March 9, 2008 + +################################################################### +# These records control posting of images # +################################################################### +# Image posting flag +record(mbbo, "$(P)$(D)PostImages") +{ + field(DTYP, "asynInt32") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))POST_IMAGES") + field(ZRST, "No") + field(ZRVL, "0") + field(ONST, "Yes") + field(ONVL, "1") +} + +# Minimum time between updates for image waveform record +record(ao, "$(P)$(D)MinImageUpdate") +{ + field(DTYP, "asynFloat64") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))IMAGE_UPDATE_TIME") + field(VAL, "1.0") + field(EGU, "s") + field(PREC, "3") +} + +################################################################### +# These records control statistics on frames # +# and rates # +################################################################### + +# Image counter. Increments by 1 each time an image is posted on any interface +record(longout, "$(P)$(D)ImageCounter") +{ + field(DTYP, "asynInt32") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))IMAGE_COUNTER") +} + +record(longin, "$(P)$(D)ImageCounter_RBV") +{ + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))IMAGE_COUNTER") + field(SCAN, "I/O Intr") +} + +record(ai, "$(P)$(D)ImageRate_RBV") +{ + field(PINI, "1") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))IMAGE_RATE") + field(PREC, "3") + field(SCAN, "I/O Intr") +} + +# Frame counter. Increments by 1 each time an image data callback occurs +record(longout, "$(P)$(D)FrameCounter") +{ + field(DTYP, "asynInt32") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FRAME_COUNTER") +} + +record(longin, "$(P)$(D)FrameCounter_RBV") +{ + field(PINI, "1") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FRAME_COUNTER") + field(SCAN, "I/O Intr") +} + +record(ai, "$(P)$(D)FrameRate_RBV") +{ + field(PINI, "1") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FRAME_RATE") + field(PREC, "3") + field(SCAN, "I/O Intr") +} + +# The image data waveform record +record(waveform, "$(P)$(D)ImageData") +{ + field(DTYP, "asynInt$(SIZE)ArrayIn") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))IMAGE_DATA") + field(FTVL, "$(FTVL)") + field(NELM, "$(NPIXELS)") + field(SCAN, "I/O Intr") +}