From 7aacd3e881e41c3051b3cbb23e5ffbb5f81329ee Mon Sep 17 00:00:00 2001 From: Douglas Araujo Date: Mon, 16 Sep 2024 16:31:27 +0200 Subject: [PATCH] Apply dbformat on template file, and add DESC field --- ADOrcaApp/Db/orca.template | 2393 ++++++++++++++++-------------------- ADOrcaApp/src/orca.cpp | 24 +- ADOrcaApp/src/orca.h | 15 - 3 files changed, 1070 insertions(+), 1362 deletions(-) diff --git a/ADOrcaApp/Db/orca.template b/ADOrcaApp/Db/orca.template index a774da9..251f77e 100644 --- a/ADOrcaApp/Db/orca.template +++ b/ADOrcaApp/Db/orca.template @@ -1,18 +1,13 @@ # Database for the records specific to the Hamamatsu Orca Flash4.0 cameras -# include "ADBase.template" include "AlarmsOverride.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") { @@ -92,32 +87,27 @@ record(mbbi, "$(P)$(R)ColorMode_RBV") { field(SVVL, "") } -record("*", "$(P)$(R)SizeX") -{ +record("*", "$(P)$(R)SizeX") { field(DRVH, "2048") field(DRVL, "4") } -record("*", "$(P)$(R)SizeY") -{ +record("*", "$(P)$(R)SizeY") { field(DRVH, "2048") field(DRVL, "4") } -record("*", "$(P)$(R)MinX") -{ +record("*", "$(P)$(R)MinX") { field(DRVH, "2044") field(DRVL, "0") } -record("*", "$(P)$(R)MinY") -{ +record("*", "$(P)$(R)MinY") { field(DRVH, "2044") field(DRVL, "0") } -record("*", "$(P)$(R)AcquirePeriod_RBV") -{ +record("*", "$(P)$(R)AcquirePeriod_RBV") { field(FLNK, "$(P)$(R)#EVRAcquireTime-S.PROC PP MS") } @@ -142,7 +132,7 @@ record(stringin, "$(P)$(R)#EVRTimeProc") { # holds TS value in 'sec.nsec' format record(stringout, "$(P)$(R)EVRTime-R") { field(DESC, "EPICS epoch EVRTime timestamp") - field(DOL, "$(P)$(R)#EVRTimeProc MS") + field(DOL, "$(P)$(R)#EVRTimeProc MS") field(OMSL, "closed_loop") field(DTYP, "asynOctetWrite") field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))EVR_TIMESTAMP") @@ -183,11 +173,9 @@ record(longin, "$(P)$(R)#AcquireCtrl") { record(seq, "$(P)$(R)#SeqAcquire") { field(SELM, "All") - # Save current number of cycles field(DOL1, "$(P)$(R)Cycle-Cnt") field(LNK1, "$(P)$(R)#NCyclesPartial PP") - # Process CalcSoftSeqCtrl field(DOL2, "1") field(LNK2, "$(P)$(R)#CalcSoftSeqCtrl.PROC PP") @@ -266,195 +254,168 @@ record(longin, "$(P)$(R)TriggerDropped-RB") { field(SCAN, "I/O Intr") } -########################################################################## -# General properties # -########################################################################## -record(stringout, "$(P)$(R)EPICSName-RB"){ - field(DESC, "") - field(DTYP, "asynOctetWrite") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_VENDOR") - field(VAL, "$(P)$(R)") -} - record(stringin, "$(P)$(R)Vendor-RB"){ - field(DESC, "") - field(DTYP, "asynOctetRead") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_VENDOR") - field(SCAN, "I/O Intr") + field(DESC, "Vendor name") + field(DTYP, "asynOctetRead") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_VENDOR") + field(SCAN, "I/O Intr") } record(stringin, "$(P)$(R)Model-RB"){ - field(DESC, "") - field(DTYP, "asynOctetRead") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MODEL") - field(SCAN, "I/O Intr") + field(DESC, "Model version") + field(DTYP, "asynOctetRead") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MODEL") + field(SCAN, "I/O Intr") } record(stringin, "$(P)$(R)CameraID-RB"){ - field(DESC, "") - field(DTYP, "asynOctetRead") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CAMERAID") - field(SCAN, "I/O Intr") + field(DESC, "Camera serial number") + field(DTYP, "asynOctetRead") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CAMERAID") + field(SCAN, "I/O Intr") } record(stringin, "$(P)$(R)Bus-RB"){ - field(DESC, "") - field(DTYP, "asynOctetRead") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BUS") - field(SCAN, "I/O Intr") + field(DESC, "Bus info") + field(DTYP, "asynOctetRead") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BUS") + field(SCAN, "I/O Intr") } record(stringin, "$(P)$(R)CameraVersion-RB"){ - field(DESC, "") - field(DTYP, "asynOctetRead") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CAMERA_VERSION") - field(SCAN, "I/O Intr") + field(DESC, "Camera version") + field(DTYP, "asynOctetRead") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CAMERA_VERSION") + field(SCAN, "I/O Intr") } record(stringin, "$(P)$(R)DriverVersion-RB"){ - field(DESC, "") - field(DTYP, "asynOctetRead") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DRIVER_VERSION") - field(SCAN, "I/O Intr") + field(DESC, "Driver version") + field(DTYP, "asynOctetRead") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DRIVER_VERSION") + field(SCAN, "I/O Intr") } record(stringin, "$(P)$(R)ModuleVersion-RB"){ - field(DESC, "") - field(DTYP, "asynOctetRead") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MODULE_VERSION") - field(SCAN, "I/O Intr") + field(DESC, "Camera Module Version") + field(DTYP, "asynOctetRead") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MODULE_VERSION") + field(SCAN, "I/O Intr") } record(stringin, "$(P)$(R)DcamApiVersion-RB"){ - field(DESC, "") - field(DTYP, "asynOctetRead") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DCAM_API_VERSION") - field(SCAN, "I/O Intr") + field(DESC, "API Version") + field(DTYP, "asynOctetRead") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_DCAM_API_VERSION") + field(SCAN, "I/O Intr") } - -########################################################################## -# Sensor Mode and Speed # -########################################################################## -# Sensor Mode (mode 4) -#record(longout, "$(P)$(R)SensorMode-S") { - record(mbbo, "$(P)$(R)SensorMode-S") { - field(DESC,"") - field(PINI, "YES") - field(DTYP, "asynInt32") - field(ZRVL, "1") field(ZRST, "Area") - field(ONVL, "12") field(ONST, "Progressive") - field(TWVL, "14") field(TWST, "Splitview") - field(THVL, "16") field(THST, "Duallightsheet") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_MODE") - field(VAL, "1") +record(mbbo, "$(P)$(R)SensorMode-S") { + field(DESC, "Sensor Mode") + field(PINI, "YES") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "Area") + field(ONVL, "12") + field(ONST, "Progressive") + field(TWVL, "14") + field(TWST, "Splitview") + field(THVL, "16") + field(THST, "Duallightsheet") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_MODE") + field(VAL, "1") } -#record(longin, "$(P)$(R)SensorMode-RB") { record(mbbi, "$(P)$(R)SensorMode-RB") { - field(DESC,"") - field(DTYP, "asynInt32") - field(ZRVL, "1") field(ZRST, "Area") - field(ONVL, "12") field(ONST, "Progressive") - field(TWVL, "14") field(TWST, "Splitview") - field(THVL, "16") field(THST, "Duallightsheet") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_MODE") - field(SCAN, "I/O Intr") + field(DESC, "Sensor Mode") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "Area") + field(ONVL, "12") + field(ONST, "Progressive") + field(TWVL, "14") + field(TWST, "Splitview") + field(THVL, "16") + field(THST, "Duallightsheet") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_MODE") + field(SCAN, "I/O Intr") } -########################################################################## -# Readout Speed (long) record(mbbo, "$(P)$(R)ReadoutSpeed-S") { - field(DESC,"") - field(PINI, "YES") - field(DTYP, "asynInt32") - field(ZRVL, "1") - field(ZRST, "1") - field(ONVL, "2") - field(ONST, "2") - #field(DRVL, "1") - #field(DRVH, "2") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_SPEED") - field(VAL, "2") + field(DESC, "Readout Speed") + field(PINI, "YES") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "1") + field(ONVL, "2") + field(ONST, "2") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_SPEED") + field(VAL, "2") } record(mbbi, "$(P)$(R)ReadoutSpeed-RB") { - field(DESC,"") - field(ZRVL, "1") - field(ZRST, "1") - field(ONVL, "2") - field(ONST, "2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_SPEED") - field(SCAN, "I/O Intr") + field(DESC, "Readout Speed") + field(ZRVL, "1") + field(ZRST, "1") + field(ONVL, "2") + field(ONST, "2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_SPEED") + field(SCAN, "I/O Intr") } -########################################################################## -# Readout Direction (mode 3) -# API shows there are only one posssible value... 5 -# Documentation shows 3 different record(mbbo, "$(P)$(R)ReadoutDirection-S") { - field(DESC,"") - field(PINI, "YES") - field(ZRVL, "5") - field(ZRST, "Diverge") - field(ONVL, "1") - field(ONST, "Forward") - field(TWVL, "2") - field(TWST, "Backward") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_DIRECTION") - field(VAL, "5") + field(DESC, "Readout Direction") + field(PINI, "YES") + field(ZRVL, "5") + field(ZRST, "Diverge") + field(ONVL, "1") + field(ONST, "Forward") + field(TWVL, "2") + field(TWST, "Backward") + field(DTYP, "asynInt32") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_READOUT_DIRECTION") + field(VAL, "5") } record(mbbi, "$(P)$(R)ReadoutDirection-RB") { - field(DESC,"") - field(ZRVL, "5") - 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") + field(DESC, "Readout Direction") + field(ZRVL, "5") + 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") } - record(mbbo, "$(P)$(R)BitPerChannel-S") { - field(DESC,"") - field(PINI, "YES") - field(DTYP, "asynInt32") - field(ZRVL, "12") - field(ZRST, "12 bits") - field(ONVL, "16") - field(ONST, "16 bits") -# field(DRVL, "12") -# field(DRVH, "16") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") - field(VAL, "16") + field(DESC, "Bits per channel") + field(PINI, "YES") + field(DTYP, "asynInt32") + field(ZRVL, "12") + field(ZRST, "12 bits") + field(ONVL, "16") + field(ONST, "16 bits") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") + field(VAL, "16") } record(mbbi, "$(P)$(R)BitPerChannel-RB") { - field(DESC,"") - field(ZRVL, "12") - field(ZRST, "12 bits") - field(ONVL, "16") - field(ONST, "16 bits") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") - field(SCAN, "I/O Intr") + field(DESC, "Bits per channel") + field(ZRVL, "12") + field(ZRST, "12 bits") + field(ONVL, "16") + field(ONST, "16 bits") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") + field(SCAN, "I/O Intr") } - - - -########################################################################## -# Trigger # -########################################################################## -# Trigger source (mode 4) record(mbbo, "$(P)$(R)TriggerSource-S") { - field(DESC,"") + field(DESC, "Trigger Source") field(PINI, "YES") field(DTYP, "asynInt32") field(ZRVL, "1") @@ -465,1500 +426,1284 @@ record(mbbo, "$(P)$(R)TriggerSource-S") { field(TWST, "Software") field(THVL, "4") field(THST, "Master Pulse") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_SOURCE") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_SOURCE") field(VAL, "1") field(FLNK, "$(P)$(R)AcquirePeriod.PROC PP MS") } 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") + field(DESC, "Trigger Source") + 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") + field(DESC, "Trigger Mode") + 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") + field(DESC, "Trigger Mode") + 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(DRVL, "1") -# field(DRVH, "3") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_ACTIVE") - field(VAL, "1") + field(DESC, "Trigger Active") + 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") + field(DESC, "Trigger Active") + 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) -# SOME ERROR either in the API or documentation. -# API function returns min:3 -# max:5 -# defaults:3 -# But API function support only 1 - Delay -# 2 - Global Reset + record(mbbo, "$(P)$(R)TriggerGlobalExposure-S") { - field(DESC,"") - field(PINI, "YES") - field(DTYP, "asynInt32") - field(ZRVL, "3") - field(ZRST, "Delayed") - field(ONVL, "5") - field(ONST, "Global Reset") -# field(DRVL, "3") -# field(DRVH, "5") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_GLOBAL_EXPOSURE") - field(VAL, "3") + field(DESC, "Trigger Global Exposure") + field(PINI, "YES") + field(DTYP, "asynInt32") + field(ZRVL, "3") + field(ZRST, "Delayed") + field(ONVL, "5") + field(ONST, "Global 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, "Delayed") - field(ONVL, "5") - field(ONST, "Global Reset") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_GLOBAL_EXPOSURE") - field(SCAN, "I/O Intr") + field(DESC, "Trigger Global Exposure") + field(DTYP, "asynInt32") + field(ZRVL, "3") + field(ZRST, "Delayed") + field(ONVL, "5") + field(ONST, "Global 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(DRVL, "1") -# field(DRVH, "2") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_POLARITY") - field(VAL, "1") + field(DESC, "Trigger Polarity") + 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") + field(DESC, "Trigger Polarity") + 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(DRVL, "1") -# field(DRVH, "2") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TRIGGER_CONNECTOR") - field(VAL, "2") + field(DESC, "Trigger Connector") + 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, "2") } 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") + field(DESC, "Trigger Connector") + 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") + field(DESC, "Trigger Times") + 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") + field(DESC, "Trigger Times") + 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") + field(DESC, "Trigger Delay") + 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") + field(DESC, "Trigger Delay") + 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") + field(DESC, "Internal Trigger Handling") + 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") + field(DESC, "Internal Trigger Handling") + 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") + field(DESC, "Current Temperature") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SENSOR_TEMPERATURE") + field(SCAN, "I/O Intr") } -# 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") + field(DESC, "Sensor Cooler Status") + 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, "1x1") - field(ONVL, "2") - field(ONST, "2x2") - field(TWVL, "4") - field(TWST, "4x4") -# field(DRVL, "1") -# field(DRVH, "3") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BINNING") - field(VAL, "0") + field(DESC, "Binning") + field(PINI, "YES") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "1x1") + field(ONVL, "2") + field(ONST, "2x2") + field(TWVL, "4") + field(TWST, "4x4") + 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") + field(DESC, "Binning") + 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_SUBARRAY_MODE") - field(VAL, "0") + field(DESC, "Sub array mode") + 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_SUBARRAY_MODE") + field(VAL, "0") } 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_SUBARRAY_MODE") - field(SCAN, "I/O Intr") + field(DESC, "Sub array mode") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "OFF") + field(ONVL, "2") + field(ONST, "ON") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SUBARRAY_MODE") + 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, "2") + field(DESC, "Defect Correct Mode") + 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, "2") } 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") + field(DESC, "Defect Correct Mode") + 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(DRVL, "1") -# field(DRVH, "3") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_HOT_PIXEL_CORRECT_LEVEL") - field(VAL, "1") + field(DESC, "Hot Pixel Correct level") + 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") + field(DESC, "Hot Pixel Correct level") + 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") + field(DESC, "Intensity Lut") + 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") + field(DESC, "Intensity Lut") + 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(DRVL, "1") -# field(DRVH, "1") -# 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") + field(DESC, "Intensity Lut Page") + 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") + field(DESC, "Extraction Mode") + 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)NumberOfOutputTriggerConnector-R") { - field(DESC,"") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_NUMBEROF_OUTPUTTRIGGERCONNECTOR") - field(SCAN, "I/O Intr") + field(DESC, "Numer of output trigger connector") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_NUMBEROF_OUTPUTTRIGGERCONNECTOR") + 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, "0") - field(ZRST, "Read Out End") - field(ONVL, "1") - field(ONST, "VSync") - field(TWVL, "2") - field(TWST, "HSync") - field(THVL, "3") - field(THST, "Trigger") -# field(DRVL, "2") -# field(DRVH, "6") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0") - field(VAL, "2") + field(DESC, "Output trigger source 0") + field(PINI, "YES") + field(DTYP, "asynInt32") + field(ZRVL, "0") + field(ZRST, "Read Out End") + field(ONVL, "1") + field(ONST, "VSync") + field(TWVL, "2") + field(TWST, "HSync") + field(THVL, "3") + 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, "0") - field(ZRST, "Read Out End") - field(ONVL, "1") - field(ONST, "VSync") - field(TWVL, "2") - field(THST, "HSync") - field(THVL, "3") - field(THST, "Trigger") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0") - field(SCAN, "I/O Intr") + field(DESC, "Output trigger source 0") + field(DTYP, "asynInt32") + field(ZRVL, "0") + field(ZRST, "Read Out End") + field(ONVL, "1") + field(ONST, "VSync") + field(TWVL, "2") + field(THST, "HSync") + field(THVL, "3") + field(THST, "Trigger") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE0") + field(SCAN, "I/O Intr") } -########################################################################## -# Output Trigger Source 1 (mode 4) + record(mbbo, "$(P)$(R)OutputTriggerSource1-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(DRVL, "2") -# field(DRVH, "6") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE1") - field(VAL, "0") + field(DESC, "Output trigger source 1") + 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_SOURCE1") + field(VAL, "0") } record(mbbi, "$(P)$(R)OutputTriggerSource1-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_SOURCE1") - field(SCAN, "I/O Intr") + field(DESC, "Output trigger source 1") + 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_SOURCE1") + field(SCAN, "I/O Intr") } -# Output Trigger Source 2 (mode 4) record(mbbo, "$(P)$(R)OutputTriggerSource2-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(DRVL, "2") -# field(DRVH, "6") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_SOURCE2") - field(VAL, "0") + field(DESC, "Output trigger source 2") + 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_SOURCE2") + field(VAL, "0") } record(mbbi, "$(P)$(R)OutputTriggerSource2-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_SOURCE2") - field(SCAN, "I/O Intr") + field(DESC, "Output trigger source 0") + 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_SOURCE2") + 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(DRVL, "1") -# field(DRVH, "2") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY0") - field(VAL, "1") + field(DESC, "Output Trigger Polarity 0") + field(PINI, "YES") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "Negative") + field(ONVL, "2") + field(ONST, "Positive") + # field(DRVL, "1") + # field(DRVH, "2") + 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") + field(DESC, "Output Trigger Polarity 0") + 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") } -# Output Trigger Polarity 1 (mode 2) record(mbbo, "$(P)$(R)OutputTriggerPolarity1-S") { - field(DESC, "") - field(PINI, "YES") - field(DTYP, "asynInt32") - field(ZRVL, "1") - field(ZRST, "Negative") - field(ONVL, "2") - field(ONST, "Positive") -# field(DRVL, "1") -# field(DRVH, "2") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY1") - field(VAL, "1") + field(DESC, "Output Trigger Polarity 1") + 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_POLARITY1") + field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerPolarity1-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_POLARITY1") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Polarity 1") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "Negative") + field(ONVL, "2") + field(ONST, "Positive") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY1") + field(SCAN, "I/O Intr") } -# Output Trigger Polarity 2 (mode 2) + record(mbbo, "$(P)$(R)OutputTriggerPolarity2-S") { - field(DESC, "") - field(PINI, "YES") - field(DTYP, "asynInt32") - field(ZRVL, "1") - field(ZRST, "Negative") - field(ONVL, "2") - field(ONST, "Positive") -# field(DRVL, "1") -# field(DRVH, "2") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY2") - field(VAL, "1") + field(DESC, "Output Trigger Polarity 2") + 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_POLARITY2") + field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerPolarity2-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_POLARITY2") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Polarity 2") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "Negative") + field(ONVL, "2") + field(ONST, "Positive") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_POLARITY2") + field(SCAN, "I/O Intr") } - -########################################################################## -# Internal Trigger Active (mode 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") + field(DESC, "Internal Trigger Active 0") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "Edge") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE0") + field(SCAN, "I/O Intr") } -# Internal Trigger Active (mode 1) record(mbbi, "$(P)$(R)OutputTriggerActive1-RB") { - field(DESC, "") - field(DTYP, "asynInt32") - field(ZRVL, "1") - field(ZRST, "Edge") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE1") - field(SCAN, "I/O Intr") + field(DESC, "Internal Trigger Active 1") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "Edge") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE1") + field(SCAN, "I/O Intr") } -# Internal Trigger Active (mode 1) record(mbbi, "$(P)$(R)OutputTriggerActive2-RB") { - field(DESC, "") - field(DTYP, "asynInt32") - field(ZRVL, "1") - field(ZRST, "Edge") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE2") - field(SCAN, "I/O Intr") + field(DESC, "Internal Trigger Active 2") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "Edge") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_ACTIVE2") + 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") + field(DESC, "Output Trigger Delay 0") + 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") + field(DESC, "Output Trigger Delay 0") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY0") + field(SCAN, "I/O Intr") } -# Output Trigger Delay 1 record(ao, "$(P)$(R)OutputTriggerDelay1-1") { - field(DESC, "") - field(PINI, "YES") - field(DTYP, "asynFloat64") - field(DRVL, "0") - field(DRVH, "10.0") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY1") - field(VAL, "0") -} -record(ai, "$(P)$(R)OutputTriggerDelay1-RB") { - field(DESC, "") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY1") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Delay 1") + field(PINI, "YES") + field(DTYP, "asynFloat64") + field(DRVL, "0") + field(DRVH, "10.0") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY1") + field(VAL, "0") +} + +record(ai, "$(P)$(R)OutputTriggerDelay1-RB") { + field(DESC, "Output Trigger Delay 1") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY1") + field(SCAN, "I/O Intr") } -# Output Trigger Delay 2 record(ao, "$(P)$(R)OutputTriggerDelay2-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_DELAY2") - field(VAL, "0") + field(DESC, "Output Trigger Delay 2") + field(PINI, "YES") + field(DTYP, "asynFloat64") + field(DRVL, "0") + field(DRVH, "10.0") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY2") + field(VAL, "0") } record(ai, "$(P)$(R)OutputTriggerDelay2-RB") { - field(DESC, "") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY2") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Delay 2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_DELAY2") + 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.000001") + field(DESC, "Output Trigger Period 0") + 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.000001") } + 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") + field(DESC, "Output Trigger Period 0") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD0") + field(SCAN, "I/O Intr") } -# Output Trigger Period 1 record(ao, "$(P)$(R)OutputTriggerPeriod1-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_PERIOD1") - field(VAL, "0.000001") -} -record(ai, "$(P)$(R)OutputTriggerPeriod1-RB") { - field(DESC, "") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD1") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Period 1") + field(PINI, "YES") + field(DTYP, "asynFloat64") + field(DRVL, "0.000001") + field(DRVH, "10.0") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD1") + field(VAL, "0.000001") +} + +record(ai, "$(P)$(R)OutputTriggerPeriod1-RB") { + field(DESC, "Output Trigger Period 1") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD1") + field(SCAN, "I/O Intr") } -# Output Trigger Period 2 record(ao, "$(P)$(R)OutputTriggerPeriod2-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_PERIOD2") - field(VAL, "0.000001") + field(DESC, "Output Trigger Period 2") + field(PINI, "YES") + field(DTYP, "asynFloat64") + field(DRVL, "0.000001") + field(DRVH, "10.0") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD2") + field(VAL, "0.000001") } record(ai, "$(P)$(R)OutputTriggerPeriod2-RB") { - field(DESC, "") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD2") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Period 2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_PERIOD2") + 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") + field(DESC, "Output Trigger Kind 0") + 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") + field(DESC, "Output Trigger Kind 0") + 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 Kind 1 (mode 5) record(mbbo, "$(P)$(R)OutputTriggerKind1-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_KIND1") - field(VAL, "1") + field(DESC, "Output Trigger Kind 1") + 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_KIND1") + field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerKind1-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_KIND1") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Kind 1") + 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_KIND1") + field(SCAN, "I/O Intr") } -# Output Trigger Kind 2 (mode 5) record(mbbo, "$(P)$(R)OutputTriggerKind2-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_KIND2") - field(VAL, "1") + field(DESC, "Output Trigger Kind 2") + 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_KIND2") + field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerKind2-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_KIND2") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Kind 2") + 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_KIND2") + field(SCAN, "I/O Intr") } -########################################################################## -# Output Trigger PreHsyncCount0 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") + field(DESC, "Output Trigger PreHsyncCount0") + 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") + field(DESC, "Output Trigger PreHsyncCount0") + 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(DRVL, "1") -# field(DRVH, "4") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_BASE_SENSOR0") - field(VAL, "1") + field(DESC, "Output Trigger Base Sensor 0") + 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") + field(DESC, "Output Trigger Base Sensor 0") + 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") } # Output Trigger Base Sensor 1 (mode 4) record(mbbo, "$(P)$(R)OutputTriggerBaseSensor1-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(DRVL, "1") -# field(DRVH, "4") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_BASE_SENSOR1") - field(VAL, "1") + field(DESC, "Output Trigger Base Sensor 1") + 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_SENSOR1") + field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerBaseSensor1-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_SENSOR1") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Base Sensor 1") + 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_SENSOR1") + field(SCAN, "I/O Intr") } # Output Trigger Base Sensor 2 (mode 4) record(mbbo, "$(P)$(R)OutputTriggerBaseSensor2-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(DRVL, "1") -# field(DRVH, "4") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_OUTPUT_TRIGGER_BASE_SENSOR2") - field(VAL, "1") + field(DESC, "Output Trigger Base Sensor 2") + 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_SENSOR2") + field(VAL, "1") } record(mbbi, "$(P)$(R)OutputTriggerBaseSensor2-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_SENSOR2") - field(SCAN, "I/O Intr") + field(DESC, "Output Trigger Base Sensor 2") + 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_SENSOR2") + 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, "0") + field(DESC, "Master Pulse Mode") + 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, "0") } 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") + field(DESC, "Master Pulse Mode") + 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(DRVL, "1") -# field(DRVH, "2") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_TRIGGER_SOURCE") - field(VAL, "1") + field(DESC, "Master Pulse Trigger Source") + 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") + field(DESC, "Master Pulse Trigger Source") + 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(PREC, "6") - field(DRVL, "0.00001") - field(DRVH, "10") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_INTERVAL") - field(VAL, "0.1") + field(DESC, "Master Pulse Interval") + field(PINI, "YES") + field(DTYP, "asynFloat64") + field(PREC, "6") + 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(PREC, "6") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_MASTERPULSE_INTERVAL") - field(SCAN, "I/O Intr") + field(DESC, "Master Pulse Interval") + field(DTYP, "asynFloat64") + field(PREC, "6") + 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") + field(DESC, "Master Pulse Burst Times") + 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") + field(DESC, "Master Pulse Burst Times") + 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(PREC, "9") - field(SCAN, "I/O Intr") + field(DESC, "Timing Readout Time") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_READOUT_TIME") + field(EGU, "Sec") + field(PREC, "9") + 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") + field(DESC, "Timing Cycling Trigger Period") + 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") + field(DESC, "Timing minimum Trigger Blanking") + 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") + field(DESC, "Timing minimum Trigger Interval") + 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") + field(DESC, "Timing Global Exposure Delay") + 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(mbbi, "$(P)$(R)TimingExposure-RB") { - field(DESC, "") - field(DTYP, "asynInt32") - field(ZRVL, "3") - field(ZRST, "Roling") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_EXPOSURE") - field(SCAN, "I/O Intr") + field(DESC, "Timing Exposure") + field(DTYP, "asynInt32") + field(ZRVL, "3") + field(ZRST, "Roling") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_EXPOSURE") + field(SCAN, "I/O Intr") } -########################################################################## -# Timing Invalid Exposure Period record(ai, "$(P)$(R)TimingInvalidExposurePeriod-RB") { - field(DESC, "") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_INVALID_EXPOSURE_PERIOD") - field(EGU, "Sec") - field(SCAN, "I/O Intr") + field(DESC, "Timing Invalid Exposure Period") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMING_INVALID_EXPOSURE_PERIOD") + field(EGU, "Sec") + field(SCAN, "I/O Intr") } -########################################################################## -# Internal Frame Rate record(ao, "$(P)$(R)InternalFrameRate-S") { - field(DESC, "") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_RATE") - field(EGU, "Hz") + field(DESC, "Internal Frame Rate") + field(DTYP, "asynFloat64") + 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") + field(DESC, "Internal Frame Rate") + 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(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_INTERVAL") - field(EGU, "Sec") + field(DESC, "Internal Frame Internal") + field(DTYP, "asynFloat64") + 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") + field(DESC, "Internal Frame Internal") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_FRAME_INTERVAL") + field(EGU, "Sec") + field(SCAN, "I/O Intr") } -########################################################################## -# Internal Line Speed record(ao, "$(P)$(R)InternalLineSpeed-S") { - field(DESC, "") - field(PINI, "YES") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_SPEED") - field(EGU, "m/s") + field(DESC, "Internal Line Speed") + field(PINI, "YES") + field(DTYP, "asynFloat64") + 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") + field(DESC, "Internal Line Speed") + 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(PINI, "YES") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_INTERNAL_LINE_INTERVAL") - field(EGU, "Sec") + field(DESC, "Internal Line Interval") + field(PINI, "YES") + field(DTYP, "asynFloat64") + 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") + field(DESC, "Internal Line Interval") + 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, "1") - field(ZRST, "B & W") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_COLOR_TYPE") - field(SCAN, "I/O Intr") + field(DESC, "Color Type") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "B & W") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_COLOR_TYPE") + field(SCAN, "I/O Intr") } record(mbbo, "$(P)$(R)BitsPerChannel-S") { - field(DESC, "") - field(PINI, "YES") - field(DTYP, "asynInt32") - field(ZRVL, "12") - field(ZRST, "12 bits") - field(ONVL, "16") - field(ONST, "16 bits") - field(VAL, "16") - field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") + field(DESC, "Bits Per Channel") + field(PINI, "YES") + field(DTYP, "asynInt32") + field(ZRVL, "12") + field(ZRST, "12 bits") + field(ONVL, "16") + field(ONST, "16 bits") + field(VAL, "16") + field(OUT, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") } -record(mbbi, "$(P)$(R)BitsPerChannel-R") { - field(DESC,"") - field(DTYP, "asynInt32") - field(ZRVL, "12") - field(ZRST, "12 bits") - field(ONVL, "16") - field(ONST, "16 bits") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") - field(SCAN, "I/O Intr") -} -# implemented in ADBase as BINX_RBV -#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") -#} -# implemented in ADBase as BINY_RBV -#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(mbbi, "$(P)$(R)BitsPerChannel-R") { + field(DESC, "Bits Per Channel") + field(DTYP, "asynInt32") + field(ZRVL, "12") + field(ZRST, "12 bits") + field(ONVL, "16") + field(ONST, "16 bits") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BIT_PER_CHANNEL") + 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") + 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") + 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") + field(DESC, "Top Offset Bytes") + 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") + field(DESC, "Pixel Type") + 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") + field(DESC, "Pixel Type") + 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") + field(DESC, "Buffer Row Bytes") + 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") + field(DESC, "Buffer Row Bytes") + 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") + field(DESC, "Buffer top Offset Bytes") + 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, "1") - field(ZRST, "MONO8") - field(ONVL, "2") - field(ONST, "MONO16") - field(TWVL, "3") - field(TWST, "MONO12") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_BUFFER_PIXEL_TYPE") - field(SCAN, "I/O Intr") + field(DESC, "Buffer Pixel Type") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "MONO8") + field(ONVL, "2") + field(ONST, "MONO16") + field(TWVL, "3") + 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") + field(DESC, "Record Fixed Bytes per File") + 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") + field(DESC, "Record Fixed Bytes per Session") + 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") + field(DESC, "Record Fixed Bytes per Frame") + 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, "1") - field(ZRST, "OFFLINE") - field(ONVL, "2") - field(ONST, "ONLINE") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SYSTEM_ALIVE") - field(SCAN, "I/O Intr") + field(DESC, "System Alive Heartbeat") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "OFFLINE") + field(ONVL, "2") + field(ONST, "ONLINE") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_SYSTEM_ALIVE") + field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ConversionFactorOffset-R") { - field(DESC,"") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CONVERSIONFACTOR_OFFSET") - field(SCAN, "I/O Intr") + field(DESC, "Conversion Factor Offset") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CONVERSIONFACTOR_OFFSET") + field(SCAN, "I/O Intr") } record(ai, "$(P)$(R)ConversionFactorCoeff-R") { - field(DESC,"") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CONVERSIONFACTOR_COEFF") - field(SCAN, "I/O Intr") + field(DESC, "Conversion Factor Coeff") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_CONVERSIONFACTOR_COEFF") + 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)ImageDetectorWidth-R") { - field(DESC,"") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_IMAGE_DETECTOR_PIXEL_WIDTH") - field(SCAN, "I/O Intr") -} - -record(ai, "$(P)$(R)ImageDetectorHeight-R") { - field(DESC,"") - field(DTYP, "asynInt32") - 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") + field(DESC, "Number of View") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_NUMBER_OF_VIEW") + field(SCAN, "I/O Intr") } record(mbbi, "$(P)$(R)TimeStampProd-R") { - field(DESC, "Timestamp produced source") - field(DTYP, "asynInt32") - field(ZRVL, "1") - field(ZRST, "None") - field(ONVL, "2") - field(ONST, "DCAM Module") - field(TWVL, "3") - field(TWST, "Kernel Driver") - field(THVL, "4") - field(THST, "Frame Grabber") - field(FRVL, "5") - field(FRST, "Camera") - field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))H_TIMESTAMP_PRODUCER") - field(SCAN, "I/O Intr") + field(DESC, "Timestamp produced source") + field(DTYP, "asynInt32") + field(ZRVL, "1") + field(ZRST, "None") + field(ONVL, "2") + field(ONST, "DCAM Module") + field(TWVL, "3") + field(TWST, "Kernel Driver") + field(THVL, "4") + field(THST, "Frame Grabber") + field(FRVL, "5") + field(FRST, "Camera") + 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") + field(DESC, "Timestamp produced source") + 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") } diff --git a/ADOrcaApp/src/orca.cpp b/ADOrcaApp/src/orca.cpp index 5cf097b..b7358a4 100644 --- a/ADOrcaApp/src/orca.cpp +++ b/ADOrcaApp/src/orca.cpp @@ -225,14 +225,6 @@ void Orca::createAsynParams() { createParam(hConversionFactorOffsetString, asynParamFloat64, &hConversionFactorOffset); createParam(hNumberOfViewString, asynParamInt32, &hNumberOfView); - createParam(hImageDetectorPixelWidthString, asynParamFloat64, - &hImageDetectorPixelWidth); - createParam(hImageDetectorPixelHeightString, asynParamFloat64, - &hImageDetectorPixelHeight); - createParam(hImageDetectorPixelNumHorzString, asynParamInt32, - &hImageDetectorPixelNumHorz); - createParam(hImageDetectorPixelNumVertString, asynParamInt32, - &hImageDetectorPixelNumVert); createParam(hTimeStampProducerString, asynParamInt32, &hTimeStampProducer); createParam(hFrameStampProducerString, asynParamInt32, &hFrameStampProducer); @@ -334,7 +326,6 @@ int Orca::initCamera() { return err; } -//============================================================================ int Orca::readParameterStr(int propertyID) { const char* functionName = "readParameterStr"; asynStatus status = asynSuccess; @@ -398,7 +389,6 @@ int Orca::readParameterStr(int propertyID) { return status; } -//============================================================================ int Orca::readParameter(int propertyID, bool processPV) { const char* functionName = "readParameter"; asynStatus status = asynSuccess; @@ -826,7 +816,6 @@ int Orca::readParameter(int propertyID, bool processPV) { return status; } -//============================================================================ void Orca::imageTask() { const char* functionName = "imageTask"; int status; @@ -1030,7 +1019,7 @@ void Orca::imageTask() { callParamCallbacks(); } } -//============================================================================ + void Orca::temperatureTask() { static const char* functionName = "tempTask"; double dvalue = 0; @@ -1055,7 +1044,6 @@ void Orca::temperatureTask() { } } -//============================================================================ asynStatus Orca::writeInt32(asynUser* pasynUser, epicsInt32 value) { int status = asynSuccess; const char* functionName = "writeInt32"; @@ -1559,7 +1547,6 @@ void Orca::report(FILE* fp, int details) { ADDriver::report(fp, details); } -//============================================================================ int Orca::connectCamera(void) { static const char* functionName = "connectCamera"; int nDevices = 0; @@ -1616,7 +1603,6 @@ int Orca::allocateBuffers(unsigned int nBuffers) { return asynSuccess; } -//============================================================================ int Orca::freeBuffers() { static const char* functionName = "freeBuffers"; m_err = dcambuf_release(m_hdcam); @@ -1624,7 +1610,6 @@ int Orca::freeBuffers() { return 0; } -//============================================================================ asynStatus Orca::stopAcquire(void) { static const char* functionName = "stopAcquire"; asynStatus status = asynSuccess; @@ -1638,7 +1623,6 @@ asynStatus Orca::stopAcquire(void) { return status; } -//============================================================================ asynStatus Orca::startAcquire(void) { asynStatus status = asynSuccess; static const char* functionName = "startAcquire"; @@ -1658,7 +1642,6 @@ asynStatus Orca::startAcquire(void) { return status; } -//============================================================================ inline void* memcpy_s(void* dst, size_t dstsize, const void* src, size_t srclen) { if (dstsize < srclen) @@ -1667,7 +1650,6 @@ inline void* memcpy_s(void* dst, size_t dstsize, const void* src, return memcpy(dst, src, srclen); } -//============================================================================ asynStatus Orca::accessCapturedImage(HDCAM hdcam, int32 iFrame, void* buf, int32 rowbytes, int32 cx, int32 cy, epicsUInt32& ts_sec, @@ -1711,8 +1693,6 @@ asynStatus Orca::accessCapturedImage(HDCAM hdcam, int32 iFrame, void* buf, return asynSuccess; } -//======================================================================================================== - void Orca::getImageInformation(HDCAM hdcam, int32& pixeltype, int32& width, int32& rowbytes, int32& height, int32& framebytes) { @@ -1730,7 +1710,6 @@ void Orca::getImageInformation(HDCAM hdcam, int32& pixeltype, int32& width, framebytes = (int32)propertyValue; } -//============================================================================ asynStatus Orca::imageTransferStatus(HDCAM hdcam, DCAMCAP_TRANSFERINFO& captransferinfo) { DCAMERR err; @@ -1796,7 +1775,6 @@ extern "C" int OrcaConfig(const char* portName, int maxBuffers, return (asynSuccess); } -//============================================================================ static const iocshArg OrcaConfigArg0 = {"Port name", iocshArgString}; static const iocshArg OrcaConfigArg1 = {"maxBuffers", iocshArgInt}; static const iocshArg OrcaConfigArg2 = {"maxMemory", iocshArgInt}; diff --git a/ADOrcaApp/src/orca.h b/ADOrcaApp/src/orca.h index 6e694fb..6a1696b 100644 --- a/ADOrcaApp/src/orca.h +++ b/ADOrcaApp/src/orca.h @@ -54,8 +54,6 @@ #define hSubarrayVPosString "H_SUBARRAY_VPOS" /* asynInt32 rw */ #define hSubarrayVSizeString "H_SUBARRAY_VSIZE" /* asynInt32 rw */ #define hSubarrayModeString "H_SUBARRAY_MODE" /* asynInt32 rw */ -// #define hFrameBundleMode (usb3 only not implemented) -// #define hFrameBundleNumber (usb3 only not implemented) // ALU #define hDefectCorrectModeString "H_DEFECTCORRECT_MODE" /* asynInt32 rw */ @@ -142,10 +140,6 @@ // System information #define hColorTypeString "H_COLOR_TYPE" /* asynInt32 ro */ #define hBitPerChannelString "H_BIT_PER_CHANNEL" /* asynInt32 rw */ -//#define hImageWidthString "H_IMAGE_WIDTH" -///* asynInt32 ro */ -//#define hImageHeightString "H_IMAGE_HEIGHT" -///* asynInt32 ro */ #define hImageRowBytesString "H_IMAGE_ROWBYTES" /* asynInt32 ro */ #define hImageFrameBytesString "H_IMAGE_FRAMEBYTES" /* asynInt32 ro */ #define hImageTopOffsetBytesString \ @@ -169,14 +163,6 @@ #define hConversionFactorOffsetString \ "H_CONVERSIONFACTOR_OFFSET" /* asynFloat64 ro */ #define hNumberOfViewString "H_NUMBER_OF_VIEW" /* asynInt32 ro */ -#define hImageDetectorPixelWidthString \ - "H_IMAGE_DETECTOR_PIXEL_WIDTH" /* asynFloat64 ro */ -#define hImageDetectorPixelHeightString \ - "H_IMAGE_DETECTOR_PIXEL_HEIGHT" /* asynFloat64 ro */ -#define hImageDetectorPixelNumHorzString \ - "H_IMAGE_DETECTOR_PIXEL_NUM_HORZ" /* asynInt32 ro */ -#define hImageDetectorPixelNumVertString \ - "H_IMAGE_DETECTOR_PIXEL_NUM_VERT" /* asynInt32 ro */ #define hTimeStampProducerString "H_TIMESTAMP_PRODUCER" /* asynInt32 ro */ #define hFrameStampProducerString "H_FRAMESTAMP_PRODUCER" /* asynInt32 ro */ #define evrTimeStampString "EVR_TIMESTAMP" @@ -332,7 +318,6 @@ class epicsShareClass Orca : public ADDriver { DCAMAPI_INIT m_apiInit; DCAMDEV_OPEN m_devOpen; DCAMERR m_err; - // handle used to wait for events sent from the device HDCAMWAIT hwait; int stopThread;