Files
adorca/ADHamaApp/Db/hama.template
2022-07-07 16:06:45 +02:00

1363 lines
38 KiB
Plaintext

# 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")
}