# Database for the records specific to the simulated detector driver # Mark Rivers # March 23, 2008 record(ao, "$(P)$(R)GainX") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_X") field(PREC, "2") } record(ai, "$(P)$(R)GainX_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_X") field(PREC, "2") field(SCAN, "I/O Intr") } record(ao, "$(P)$(R)GainY") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_Y") field(PREC, "2") } record(ai, "$(P)$(R)GainY_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_Y") field(PREC, "2") field(SCAN, "I/O Intr") } record(ao, "$(P)$(R)GainRed") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_RED") field(PREC, "2") } record(ai, "$(P)$(R)GainRed_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_RED") field(PREC, "2") field(SCAN, "I/O Intr") } record(ao, "$(P)$(R)GainGreen") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_GREEN") field(PREC, "2") } record(ai, "$(P)$(R)GainGreen_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_GREEN") field(PREC, "2") field(SCAN, "I/O Intr") } record(ao, "$(P)$(R)GainBlue") { field(PINI, "YES") field(DTYP, "asynFloat64") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_BLUE") field(PREC, "2") } record(ai, "$(P)$(R)GainBlue_RBV") { field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_GAIN_BLUE") field(PREC, "2") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)Reset") { field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))RESET_IMAGE") } record(longin, "$(P)$(R)Reset_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))RESET_IMAGE") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)Noise") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_NOISE") } record(longin, "$(P)$(R)Noise_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_NOISE") field(SCAN, "I/O Intr") } # Redefine the color mode choices from ADBase.template to only have those that the simDetector # driver supports. Keep the same values (xxVL), but change the menu numbers. record(mbbo, "$(P)$(R)ColorMode") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))COLOR_MODE") field(ZRST, "Mono") field(ZRVL, "0") field(ONST, "RGB1") field(ONVL, "2") field(TWST, "RGB2") field(TWVL, "3") field(THST, "RGB3") field(THVL, "4") field(FRST, "") field(FVST, "") field(SXST, "") field(SVST, "") field(EIST, "") } record(mbbi, "$(P)$(R)ColorMode_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))COLOR_MODE") field(ZRST, "Mono") field(ZRVL, "0") field(ONST, "RGB1") field(ONVL, "2") field(TWST, "RGB2") field(TWVL, "3") field(THST, "RGB3") field(THVL, "4") field(FRST, "") field(FVST, "") field(SXST, "") field(SVST, "") field(EIST, "") field(SCAN, "I/O Intr") } # Handle more types of images record(mbbo, "$(P)$(R)ImageType") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_IMAGE_TYPE") field(ZRST, "LinearRamp") field(ZRVL, "0") field(ONST, "Peaks") field(ONVL, "1") field(TWST, "Rings") field(TWVL, "2") field(THST, "") field(THVL, "") field(FRST, "") field(FVST, "") field(SXST, "") field(SVST, "") field(EIST, "") } record(mbbi, "$(P)$(R)ImageType_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_IMAGE_TYPE") field(ZRST, "LinearRamp") field(ZRVL, "0") field(ONST, "Peaks") field(ONVL, "1") field(TWST, "Rings") field(TWVL, "2") field(THST, "") field(THVL, "") field(FRST, "") field(FVST, "") field(SXST, "") field(SVST, "") field(EIST, "") field(SCAN, "I/O Intr") } # Channels for Peaks Image Type record(longout, "$(P)$(R)PeakStartX") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_START_X") } record(longin, "$(P)$(R)PeakStartX_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_START_X") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)PeakStartY") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_START_Y") } record(longin, "$(P)$(R)PeakStartY_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_START_Y") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)PeakNumX") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_NUM_X") } record(longin, "$(P)$(R)PeakNumX_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_NUM_X") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)PeakNumY") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_NUM_Y") } record(longin, "$(P)$(R)PeakNumY_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_NUM_Y") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)PeakStepX") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_STEP_X") } record(longin, "$(P)$(R)PeakStepX_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_STEP_X") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)PeakStepY") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_STEP_Y") } record(longin, "$(P)$(R)PeakStepY_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_STEP_Y") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)PeakWidthX") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_WIDTH_X") } record(longin, "$(P)$(R)PeakWidthX_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_WIDTH_X") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)PeakWidthY") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_WIDTH_Y") } record(longin, "$(P)$(R)PeakWidthY_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_WIDTH_Y") field(SCAN, "I/O Intr") } record(longout, "$(P)$(R)PeakVariation") { field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_HEIGHT_VARIATION") } record(longin, "$(P)$(R)PeakVariation_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))SIM_PEAK_HEIGHT_VARIATION") field(SCAN, "I/O Intr") }