# Database for the records specific to the Hamamatsu Orca Flash4.0 cameras include "ADBase.template" ############################################################################### # Note: The following are records defined in ADBase.template. # # We are changing some of the fields here to reflect valid values for # # Hamamatsu Orca Flash4.0 # ############################################################################### ############################################################################### # These records control the data type and color. # ############################################################################### # Only unsigned 16 and 32 bit integers are supported. Determined by PixelEncoding record(mbbo, "$(P)$(R)DataType") { field(ZRST, "UInt16") field(ZRVL, "3") field(ONST, "UInt32") field(ONVL, "5") field(TWST, "") field(TWVL, "") field(THST, "") field(THVL, "") field(FRST, "") field(FRVL, "") field(FVST, "") field(FVVL, "") field(SXST, "") field(SXVL, "") field(SVST, "") field(SVVL, "") } record(mbbi, "$(P)$(R)DataType_RBV") { field(ZRST, "UInt16") field(ZRVL, "3") field(ONST, "UInt32") field(ONVL, "5") field(TWST, "") field(TWVL, "") field(THST, "") field(THVL, "") field(FRST, "") field(FRVL, "") field(FVST, "") field(FVVL, "") field(SXST, "") field(SXVL, "") field(SVST, "") field(SVVL, "") } # Only Mono color mode is supported at this time record(mbbo, "$(P)$(R)ColorMode") { field(ZRST, "Mono") field(ZRVL, "0") field(ONST, "") field(ONVL, "") field(TWST, "") field(TWVL, "") field(THST, "") field(THVL, "") field(FRST, "") field(FRVL, "") field(FVST, "") field(FVVL, "") field(SXST, "") field(SXVL, "") field(SVST, "") field(SVVL, "") } record(mbbi, "$(P)$(R)ColorMode_RBV") { field(ZRST, "Mono") field(ZRVL, "0") field(ONST, "") field(ONVL, "") field(TWST, "") field(TWVL, "") field(THST, "") field(THVL, "") field(FRST, "") field(FRVL, "") field(FVST, "") field(FVVL, "") field(SXST, "") field(SXVL, "") field(SVST, "") field(SVVL, "") } record(longin, "$(P)$(R)ArrayCounter_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR=0),$(TIMEOUT=1))ARRAY_COUNTER") field(SCAN, "I/O Intr") } ########################################################################## # General properties # ########################################################################## record(stringin, "$(P)$(R)Vendor-RB"){ field(DESC, "") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_VENDOR") } record(stringin, "$(P)$(R)Model-RB"){ field(DESC, "") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MODEL") } record(stringin, "$(P)$(R)CameraID-RB"){ field(DESC, "") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CAMERAID") } record(stringin, "$(P)$(R)Bus-RB"){ field(DESC, "") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BUS") } record(stringin, "$(P)$(R)CameraVersion-RB"){ field(DESC, "") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CAMERA_VERSION") } record(stringin, "$(P)$(R)DriverVersion-RB"){ field(DESC, "") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DRIVER_VERSION") } record(stringin, "$(P)$(R)ModuleVersion-RB"){ field(DESC, "") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MODULE_VERSION") } record(stringin, "$(P)$(R)DcamApiVersion-RB"){ field(DESC, "") field(PINI, "YES") field(DTYP, "asynOctetRead") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DCAM_API_VERSION") } ########################################################################## # Sensor Mode and Speed # ########################################################################## # Sensor Mode (mode 4) record(mbbo, "$(P)$(R)SensorMode-S") { field(DESC,"") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "0") field(ZRST, "Area") field(ZRVL, "1") field(ZRST, "Progressive") field(TWVL, "2") field(TWST, "Splitview") field(THVL, "3") field(THST, "Duallightsheet") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_MODE") field(VAL, "0") } record(mbbi, "$(P)$(R)SensorMode-RB") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "0") field(ZRST, "Area") field(ZRVL, "1") field(ZRST, "Progressive") field(TWVL, "2") field(TWST, "Splitview") field(THVL, "3") field(THST, "Duallightsheet") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_MODE") field(SCAN, "I/O Intr") } ########################################################################## # Readout Speed (long) record(ao, "$(P)$(R)ReadoutSpeed-S") { field(DESC,"") field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_SPEED") field(VAL, "2") } record(ai, "$(P)$(R)ReadoutSpeed-RB") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_SPEED") field(SCAN, "I/O Intr") } ########################################################################## # Readout Direction (mode 3) record(mbbo, "$(P)$(R)ReadoutDirection-S") { field(DESC,"") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "0") field(ZRST, "Diverge") field(ONVL, "1") field(ONST, "Forward") field(TWVL, "2") field(TWST, "Backward") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_DIRECTION") field(VAL, "1") } record(mbbi, "$(P)$(R)ReadoutDirection-RB") { field(DESC,"") field(ZRVL, "0") field(ZRST, "Diverge") field(ONVL, "1") field(ONST, "Forward") field(TWVL, "2") field(TWST, "Backward") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_DIRECTION") field(SCAN, "I/O Intr") } ########################################################################## # Trigger # ########################################################################## # Trigger source (mode 4) record(mbbo, "$(P)$(R)TriggerSource-S") { field(DESC,"") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Internal") field(ONVL, "2") field(ONST, "External") field(TWVL, "3") field(TWST, "Software") field(THVL, "4") field(THST, "Master Pulse") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_SOURCE") field(VAL, "0") } record(mbbi, "$(P)$(R)TriggerSource-RB") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Internal") field(ONVL, "2") field(ONST, "External") field(TWVL, "3") field(TWST, "Software") field(THVL, "4") field(THST, "Master Pulse") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_SOURCE") field(SCAN, "I/O Intr") } ########################################################################## # Trigger mode (mode 2) record(mbbo, "$(P)$(R)TriggerMode-S") { field(DESC,"") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Normal") field(ONVL, "6") field(ONST, "Start") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_MODE") field(VAL, "1") } record(mbbi, "$(P)$(R)TriggerMode-RB") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Normal") field(ONVL, "6") field(ONST, "Start") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_MODE") field(SCAN, "I/O Intr") } ########################################################################## # Trigger Active (mode 3) record(mbbo, "$(P)$(R)TriggerActive-S") { field(DESC,"") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Edge") field(ONVL, "2") field(ONST, "Level") field(TWVL, "3") field(TWST, "Sync Readout") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_ACTIVE") field(VAL, "1") } record(mbbi, "$(P)$(R)TriggerActive-RB") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Edge") field(ONVL, "2") field(ONST, "Level") field(TWVL, "3") field(TWST, "Sync Readout") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_ACTIVE") field(SCAN, "I/O Intr") } ########################################################################## # Trigger Global Exposure (mode 2) record(mbbo, "$(P)$(R)TriggerGlobalExposure-S") { field(DESC,"") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "3") field(ZRST, "Delay") field(ONVL, "5") field(ONST, "Reset") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_GLOBAL_EXPOSURE") field(VAL, "3") } record(mbbi, "$(P)$(R)TriggerGlobalExposure-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "3") field(ZRST, "Delay") field(ONVL, "5") field(ONST, "Reset") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_GLOBAL_EXPOSURE") field(SCAN, "I/O Intr") } ########################################################################## # Trigger Polarity (mode 2) record(mbbo, "$(P)$(R)TriggerPolarity-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Negative") field(ONVL, "2") field(ONST, "Positive") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_POLARITY") field(VAL, "1") } record(mbbi, "$(P)$(R)TriggerPolarity-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Negative") field(ONVL, "2") field(ONST, "Positive") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_POLARITY") field(SCAN, "I/O Intr") } ########################################################################## # Trigger Connector (mode 2) record(mbbo, "$(P)$(R)TriggerConnector-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Interface") field(ONVL, "2") field(ONST, "BNC") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_CONNECTOR") field(VAL, "1") field(TPRO, "1") } record(mbbi, "$(P)$(R)TriggerConnector-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Interface") field(ONVL, "2") field(ONST, "BNC") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_CONNECTOR") field(SCAN, "I/O Intr") } ########################################################################## # Trigger Times record(ao, "$(P)$(R)TriggerTimes-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(DRVL, "1") field(DRVH, "10000") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_TIMES") field(VAL, "1") } record(ai, "$(P)$(R)TriggerTimes-RB") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_TIMES") field(SCAN, "I/O Intr") } ########################################################################## # Trigger Delay record(ao, "$(P)$(R)TriggerDelay-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynFloat64") field(DRVL, "0") field(DRVH, "10.0") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_DELAY") field(VAL, "0") } record(ai, "$(P)$(R)TriggerDelay-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_DELAY") field(SCAN, "I/O Intr") } ########################################################################## # Internal Trigger Handling (mode 2) record(mbbo, "$(P)$(R)InternalTriggerHandling-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Short Exposure") field(ONVL, "7") field(ONST, "Individual") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_TRIGGER_HANDLING") field(VAL, "1") } record(mbbi, "$(P)$(R)InternalTriggerHandling-RB") { field(DESC, "") field(ZRVL, "1") field(ZRST, "Short Exposure") field(ONVL, "7") field(ONST, "Individual") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_TRIGGER_HANDLING") field(SCAN, "I/O Intr") } ########################################################################## # Sensor Cooler # ########################################################################## record(ai, "$(P)$(R)Temperature-R") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_TEMPERATURE") field(SCAN, "I/O Intr") field(TPRO, "1") } record(mbbo, "$(P)$(R)Cooler-S") { field(DESC, "") field(ZRVL, "0") field(ZRST, "OFF") field(ONVL, "1") field(ONST, "ON") field(TWVL, "2") field(TWST, "MAX") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_COOLER") } record(mbbi, "$(P)$(R)Cooler-RB") { field(DESC, "") field(ZRVL, "0") field(ZRST, "OFF") field(ONVL, "1") field(ONST, "ON") field(TWVL, "2") field(TWST, "MAX") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_COOLER") field(SCAN, "I/O Intr") } record(mbbi, "$(P)$(R)CoolerStatus-R") { field(DESC, "") field(ZRVL, "0") field(ZRST, "OFF") field(ONVL, "1") field(ONST, "Ready") field(TWVL, "2") field(TWST, "Busy") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_COOLER_STATUS") field(SCAN, "I/O Intr") } ########################################################################## # Binning and ROI # ########################################################################## # Binning record(mbbo, "$(P)$(R)Binning-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "1") field(ONVL, "2") field(ONST, "2") field(TWVL, "4") field(TWST, "4") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BINNING") field(VAL, "0") } record(mbbi, "$(P)$(R)Binning-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "1x1") field(ONVL, "2") field(ONST, "2x2") field(TWVL, "4") field(TWST, "4x4") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BINNING") field(SCAN, "I/O Intr") } # these records are defined in the ADBase.template # SubarrayHPos # SubarrayHSize # SubarrayVPos # SubarrayVSize record(mbbo, "$(P)$(R)SubarrayMode-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "OFF") field(ONVL, "2") field(ONST, "ON") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BINNING") field(VAL, "1") } record(mbbi, "$(P)$(R)SubarrayMode-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "OFF") field(ONVL, "2") field(ONST, "ON") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BINNING") field(SCAN, "I/O Intr") } ########################################################################## # Feature # ########################################################################## record(ao, "$(P)$(R)ExposureTime-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynFloat64") field(DRVL, "0") field(DRVH, "10.0") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_EXPOSURE_TIME") field(VAL, "0") } record(ai, "$(P)$(R)ExposureTime-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_EXPOSURE_TIME") field(SCAN, "I/O Intr") } ########################################################################## # ALU # ########################################################################## # Defect Correct Mode record(mbbo, "$(P)$(R)DefectCorrectMode-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "OFF") field(ONVL, "2") field(ONST, "ON") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DEFECTCORRECT_MODE") field(VAL, "1") } record(mbbi, "$(P)$(R)DefectCorrectMode-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "OFF") field(ONVL, "2") field(ONST, "ON") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DEFECTCORRECT_MODE") field(SCAN, "I/O Intr") } ########################################################################## # Hot Pixel Correct Level record(mbbo, "$(P)$(R)HotPixelCorrectLevel-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Standard") field(ONVL, "2") field(ONST, "Minimum") field(TWVL, "3") field(TWST, "Aggressive") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_HOT_PIXEL_CORRECT_LEVEL") field(VAL, "1") } record(mbbi, "$(P)$(R)HotPixelCorrectLevel-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Standard") field(ONVL, "2") field(ONST, "Minimum") field(TWVL, "3") field(TWST, "Aggressive") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_HOT_PIXEL_CORRECT_LEVEL") field(SCAN, "I/O Intr") } ########################################################################## # Intensity Lut record(mbbo, "$(P)$(R)IntensityLutMode-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Through") field(ONVL, "2") field(ONST, "Page") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTENSITY_LUT_MODE") field(VAL, "1") } record(mbbi, "$(P)$(R)IntensityLutMode-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Through") field(ONVL, "2") field(ONST, "Page") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTENSITY_LUT_MODE") field(SCAN, "I/O Intr") } ########################################################################## # Intensity Lut Page record(ao, "$(P)$(R)IntensityLutPage-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTENSITY_LUT_PAGE") field(VAL, "1") } record(ai, "$(P)$(R)IntensityLutPage-RB") { field(DESC, "") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTENSITY_LUT_PAGE") field(SCAN, "I/O Intr") } ########################################################################## # Extraction Mode record(ai, "$(P)$(R)ExtractionMode-RB") { field(DESC, "") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_EXTRACTION_MODE") field(SCAN, "I/O Intr") } ########################################################################## # Output Trigger # ########################################################################## #Output Trigger Connector record(ai, "$(P)$(R)OutputTriggerConnector-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_NR_OUTPUT_TRIGGER_CONNECTORS") field(SCAN, "I/O Intr") } ########################################################################## # Output Trigger Source 0 (mode 4) record(mbbo, "$(P)$(R)OutputTriggerSource0-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "2") field(ZRST, "Read Out End") field(ONVL, "3") field(ONST, "VSync") field(TWVL, "4") field(TWST, "HSync") field(THVL, "6") field(THST, "Trigger") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0") field(VAL, "2") } record(mbbi, "$(P)$(R)OutputTriggerSource0-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "2") field(ZRST, "Read Out End") field(ONVL, "3") field(ONST, "VSync") field(TWVL, "4") field(THST, "HSync") field(THVL, "6") field(THST, "Trigger") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0") field(SCAN, "I/O Intr") } ########################################################################## # Output Trigger Polarity 0 (mode 2) record(mbbo, "$(P)$(R)OutputTriggerPolarity0-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Negative") field(ONVL, "2") field(ONST, "Positive") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY0") field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerPolarity0-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Negative") field(ONVL, "2") field(ONST, "Positive") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY0") field(SCAN, "I/O Intr") } ########################################################################## # Internal Trigger Active (mode 1) record(mbbo, "$(P)$(R)OutputTriggerActive0-S") { field(DESC, "") field(DTYP, "asynInt32") field(PINI, "YES") field(ZRVL, "1") field(ZRST, "Edge") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE0") field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerActive0-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Edge") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE0") field(SCAN, "I/O Intr") } ########################################################################## # Output Trigger Delay 0 record(ao, "$(P)$(R)OutputTriggerDelay0-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynFloat64") field(DRVL, "0") field(DRVH, "10.0") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY0") field(VAL, "0") } record(ai, "$(P)$(R)OutputTriggerDelay0-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY0") field(SCAN, "I/O Intr") } ########################################################################## # Output Trigger Period 0 record(ao, "$(P)$(R)OutputTriggerPeriod0-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynFloat64") field(DRVL, "0.000001") field(DRVH, "10.0") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD0") field(VAL, "0") } record(ai, "$(P)$(R)OutputTriggerPeriod0-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD0") field(SCAN, "I/O Intr") } ########################################################################## # Output Trigger Kind 0 (mode 5) record(mbbo, "$(P)$(R)OutputTriggerKind0-S") { field(DESC, "") field(DTYP, "asynInt32") field(PINI, "YES") field(ZRVL, "1") field(ZRST, "Low") field(ONVL, "2") field(ONST, "Global Exposure") field(TWVL, "3") field(TWST, "Programable") field(THVL, "4") field(THST, "Trigger Ready") field(FRVL, "5") field(FRST, "High") field(FVVL, "6") field(FVST, "Any Row Exposure") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_KIND0") field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerKind0-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Low") field(ONVL, "2") field(ONST, "Global Exposure") field(TWVL, "3") field(TWST, "Programable") field(THVL, "4") field(THST, "Trigger Ready") field(FRVL, "5") field(FRST, "High") field(FVVL, "6") field(FVST, "Any Row Exposure") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_KIND0") field(SCAN, "I/O Intr") } ########################################################################## # Output Trigger PreHsyncCount record(ao, "$(P)$(R)OutputTriggerPreHsyncCount-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(DRVL, "0") field(DRVH, "2047") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PRE_HSYNC_COUNT") field(VAL, "0") } record(ai, "$(P)$(R)OutputTriggerPreHsyncCount-RB") { field(DESC, "") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PRE_HSYNC_COUNT") field(SCAN, "I/O Intr") } ########################################################################## # Output Trigger Base Sensor 0 (mode 4) record(mbbo, "$(P)$(R)OutputTriggerBaseSensor0-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "View 1") field(ONVL, "2") field(ONST, "View 2") field(TWVL, "15") field(TWST, "Any View") field(THVL, "16") field(THST, "All Views") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_BASE_SENSOR0") field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerBaseSensor0-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "View 1") field(ONVL, "2") field(ONST, "View 2") field(TWVL, "15") field(TWST, "Any View") field(THVL, "16") field(THST, "All Views") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_BASE_SENSOR0") field(SCAN, "I/O Intr") } ########################################################################## # Master Pulse # ########################################################################## # Master Pulse Mode record(mbbo, "$(P)$(R)MasterPulseMode-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Continous") field(ONVL, "2") field(ONST, "Start") field(TWVL, "3") field(THST, "Burst") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_MODE") field(VAL, "1") } record(mbbi, "$(P)$(R)MasterPulseMode-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Continous") field(ONVL, "2") field(ONST, "Start") field(TWVL, "3") field(TWST, "Burst") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_MODE") field(SCAN, "I/O Intr") } ########################################################################## # Master Pulse Trigger Source record(mbbo, "$(P)$(R)MasterPulseTriggerSource-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "External") field(ONVL, "2") field(ONST, "Software") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_TRIGGER_SOURCE") field(VAL, "1") } record(mbbi, "$(P)$(R)MasterPulseTriggerSource-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "External") field(ONVL, "2") field(ONST, "Software") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_TRIGGER_SOURCE") field(SCAN, "I/O Intr") } ########################################################################## # Mster Pulse Interval record(ao, "$(P)$(R)MasterPulseInterval-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynFloat64") field(DRVL, "0.00001") field(DRVH, "10") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_INTERVAL") field(VAL, "0.1") } record(ai, "$(P)$(R)MasterPulseInterval-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_INTERVAL") field(SCAN, "I/O Intr") } ########################################################################## # Mster Pulse Burst Times record(ao, "$(P)$(R)MasterPulseBurstTimes-S") { field(DESC, "") field(PINI, "YES") field(DTYP, "asynInt32") field(DRVL, "1") field(DRVH, "10000") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_BURST_TIMES") field(VAL, "0") } record(ai, "$(P)$(R)MasterPulseBurstTimes-RB") { field(DESC, "") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_BURST_TIMES") field(SCAN, "I/O Intr") } ########################################################################## # Synchronious Timing # ########################################################################## # Timing Readout Time record(ai, "$(P)$(R)TimingReadoutTime-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_READOUT_TIME") field(EGU, "Sec") field(SCAN, "I/O Intr") } ########################################################################## # Timing Cycling Trigger Period record(ai, "$(P)$(R)TimingCyclicTriggerPeriod-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_CYCLICTRIGGERPERIOD") field(EGU, "Sec") field(SCAN, "I/O Intr") } ########################################################################## # Timing minimum Trigger Blanking record(ai, "$(P)$(R)TimingMinTriggerBlanking-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_MIN_TRIGGER_BLANKING") field(EGU, "Sec") field(SCAN, "I/O Intr") } ########################################################################## # Timing Trigger Interval record(ai, "$(P)$(R)TimingMinTriggerInterval-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_MIN_TRIGGER_INTERVAL") field(EGU, "Sec") field(SCAN, "I/O Intr") } ########################################################################## # Timing Global Exposure Delay record(ai, "$(P)$(R)TimingGlobalExposureDelay-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_MIN_TRIGGER_INTERVAL") field(EGU, "Sec") field(SCAN, "I/O Intr") } ########################################################################## # Timing Invalid Exposure Period record(mbbi, "$(P)$(R)TimingInvalidExposurePeriod-RB") { field(DESC, "") field(DTYP, "asynInt32") field(ZRVL, "1") field(ZRST, "Exposure Roling") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_INVALID_EXPOSURE_PERIOD") field(SCAN, "I/O Intr") } ########################################################################## # Internal Frame Rate record(ao, "$(P)$(R)InternalFrameRate-S") { field(DESC, "") field(DTYP, "asynFloat64") field(DRVL, "20.035817413") field(DRVH, "49.865614232") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_RATE") field(EGU, "Hz") } record(ai, "$(P)$(R)InternalFrameRate-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_RATE") field(EGU, "Hz") field(SCAN, "I/O Intr") } ########################################################################## # Internal Frame Interval record(ao, "$(P)$(R)InternalFrameInternal-S") { field(DESC, "") field(DTYP, "asynFloat64") field(DRVL, "") field(DRVH, "") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_INTERVAL") field(EGU, "Sec") } record(ai, "$(P)$(R)InternalFrameInternal-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_INTERVAL") field(EGU, "Sec") field(SCAN, "I/O Intr") } ########################################################################## # Internal Line Interval record(ao, "$(P)$(R)InternalLineSpeed-S") { field(DESC, "") field(DTYP, "asynFloat64") field(DRVL, "") field(DRVH, "") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_SPEED") field(EGU, "m/s") } record(ai, "$(P)$(R)InternalLineSpeed-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_SPEED") field(EGU, "m/s") field(SCAN, "I/O Intr") } ########################################################################## # Internal Line Interval record(ao, "$(P)$(R)InternalLineInterval-S") { field(DESC, "") field(DTYP, "asynFloat64") field(DRVL, "") field(DRVH, "") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_INTERVAL") field(EGU, "Sec") } record(ai, "$(P)$(R)InternalLineInterval-RB") { field(DESC, "") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_INTERVAL") field(EGU, "Sec") field(SCAN, "I/O Intr") } ########################################################################## # System Information # ########################################################################## record(mbbi, "$(P)$(R)ColorType-R") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "0") field(ZRST, "BW") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_COLOR_TYPE") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)BitsPerChannel-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ImageWidth-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_WIDTH") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ImageHeight-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_HEIGHT") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)RowBytes-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_ROWBYTES") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)FrameBytes-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_FRAMEBYTES") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)TopOffsetBytes-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_TOP_OFFSETBYTES") field(SCAN, "I/O Intr") } record(mbbo, "$(P)$(R)PixelType-S") { field(DESC,"") field(ZRVL, "0") field(ZRST, "MONO8") field(ONVL, "1") field(ONST, "MONO16") field(TWVL, "2") field(TWST, "MONO12") field(DTYP, "asynInt32") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_PIXEL_TYPE") field(VAL, "1") } record(mbbi, "$(P)$(R)PixelType-RB") { field(DESC,"") field(ZRVL, "0") field(ZRST, "MONO8") field(ONVL, "1") field(ONST, "MONO16") field(TWVL, "2") field(TWST, "MONO12") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_PIXEL_TYPE") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)BufRowBytes-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BUFFER_ROWBYTES") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)BufFrameBytes-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BUFFER_FRAMEBYTES") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)BufTopOffsetBytes-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BUFFER_TOP_OFFSETBYTES") field(SCAN, "I/O Intr") } record(mbbi, "$(P)$(R)BufPixelType-R") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "0") field(ZRST, "MONO8") field(ONVL, "1") field(ONST, "MONO16") field(TWVL, "2") field(TWST, "MONO12") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BUFFER_PIXEL_TYPE") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)RecBytesPerFile-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_RECORD_FIXED_BYTES_PER_FILE") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)RecBytesPerSesion-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_RECORD_FIXED_BYTES_PER_SESION") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)RecBytesPerFrame-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_RECORD_FIXED_BYTES_PER_FRAME") field(SCAN, "I/O Intr") } record(mbbi, "$(P)$(R)SystemAlive-R") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "0") field(ZRST, "OFFLINE") field(ONVL, "1") field(ONST, "ONLINE") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SYSTEM_ALIVE") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ConversionOffset-R") { field(DESC,"") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CONVERSION_FACTOR_OFFSET") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ConversionCoef-R") { field(DESC,"") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CONVERSION_FACTOR_COEF") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)NumberOfView-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_NUMBER_OF_VIEW") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ImageWidth-R") { field(DESC,"") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_DETECTOR_PIXEL_WIDTH") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ImageHeight-R") { field(DESC,"") field(DTYP, "asynFloat64") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_DETECTOR_PIXEL_HEIGHT") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ImagePixelNumHorz-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_DETECTOR_PIXEL_NUM_HORZ") field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ImagePixelNumVert-R") { field(DESC,"") field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_DETECTOR_PIXEL_NUM_VERT") field(SCAN, "I/O Intr") } record(mbbi, "$(P)$(R)TimeStampProd-R") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "2") field(ZRST, "TimeStamp DCAM Module") field(ONVL, "5") field(ONST, "TimeStamp Image Dev") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMESTAMP_PRODUCER") field(SCAN, "I/O Intr") } record(mbbi, "$(P)$(R)FrameStampProd-R") { field(DESC,"") field(DTYP, "asynInt32") field(ZRVL, "2") field(ZRST, "FrameStamp DCAM Module") field(ONVL, "5") field(ONST, "FrameStamp Image Dev") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_FRAMESTAMP_PRODUCER") field(SCAN, "I/O Intr") }