diff --git a/CameraApp/Db/binned-streaming.db b/CameraApp/Db/binned-streaming.db new file mode 100644 index 0000000..6c00f68 --- /dev/null +++ b/CameraApp/Db/binned-streaming.db @@ -0,0 +1,58 @@ +# Records for encapusaling logic to change from low resolution (binned) video +# streaming to full resolution single shot capture. + +record(sseq, "$(P)$(R)Snapshot") { + field(DESC, "Capture single image in full resolution") + field(SELM, "All") + field(LNK1, "$(P)$(R)Acquire CA") + field(DO1, "0") + field(WAIT1, "Wait") + field(LNK2, "$(P)$(R)GC_BinningVertical CA") + field(DO2, "1") + field(WAIT2, "Wait") + field(LNK3, "$(P)$(R)GC_BinningHorizontal CA") + field(DO3, "1") + field(WAIT3, "Wait") + field(LNK4, "$(P)$(R)GC_Height CA") + field(DOL4, "$(P)$(R)GC_SensorHeight_RBV CA") + field(WAIT4, "Wait") + field(LNK5, "$(P)$(R)GC_Width CA") + field(DOL5, "$(P)$(R)GC_SensorWidth_RBV CA") + field(WAIT5, "Wait") + field(LNK6, "$(P)$(R)ImageMode CA") + field(DO6, "0") + field(WAIT6, "Wait") + field(LNK8, "$(P)$(R)Acquire CA") + field(DO8, "1") +} + +record(sseq, "$(P)$(R)Stream") { + field(DESC, "Start low resolution (binned) streaming") + field(SELM, "All") + field(LNK1, "$(P)$(R)Acquire CA") + field(DO1, "0") + field(WAIT1, "Wait") + field(LNK2, "$(P)$(R)GC_BinningVertical CA") + field(DO2, "2") + field(WAIT2, "Wait") + field(LNK3, "$(P)$(R)GC_BinningHorizontal CA") + field(DO3, "2") + field(WAIT3, "Wait") + field(LNK4, "$(P)$(R)GC_BinVerticalMode CA") + field(DO4, "1") + field(WAIT4, "Wait") + field(LNK5, "$(P)$(R)GC_BinHorizontalMode CA") + field(DO5, "1") + field(WAIT5, "Wait") + field(LNK6, "$(P)$(R)GC_Height CA") + field(DOL6, "$(P)$(R)GC_HeightMax_RBV CA") + field(WAIT6, "Wait") + field(LNK7, "$(P)$(R)GC_Width CA") + field(DOL7, "$(P)$(R)GC_WidthMax_RBV CA") + field(WAIT7, "Wait") + field(LNK8, "$(P)$(R)ImageMode CA") + field(DO8, "2") + field(WAIT9, "Wait") + field(LNKA, "$(P)$(R)Acquire CA") + field(DOA, "1") +} diff --git a/CameraApp/src/Makefile b/CameraApp/src/Makefile index ce34568..5718988 100644 --- a/CameraApp/src/Makefile +++ b/CameraApp/src/Makefile @@ -17,6 +17,9 @@ Camera_LIBS += ADAravis Camera_DBD += asSupport.dbd Camera_LIBS += autosave +Camera_DBD += sseqRecord.dbd +Camera_LIBS += calc + Camera_SRCS += Camera_registerRecordDeviceDriver.cpp # Build the main IOC entry point on workstation OSs. diff --git a/iocBoot/iocCamera/binned-streaming.cmd b/iocBoot/iocCamera/binned-streaming.cmd new file mode 100644 index 0000000..0556b3a --- /dev/null +++ b/iocBoot/iocCamera/binned-streaming.cmd @@ -0,0 +1,8 @@ +# Load records for binned streaming and high resolution snapshots +# +# Parameters: +# +# $(PREFIX) +# Prefix for all PVs. + +dbLoadRecords("$(TOP)/db/binned-streaming.db", "P=$(PREFIX), R=cam1:")