I'm trying to use ADAravis to control a Teledyne Dalsa Shad-o-Box 3K flat-panel detector. It's a 14-bit 2304 x 1300 px detector that communicates via GigE. I was able to read and push the detector attributes to an .xml file and generate the relevant database and adl files. Launching the IOC gives the following output (which doesn't seem to have any fatal errors):
/opt/epics/synApps/support/areaDetector-master/ADAravis/iocs/aravisIOC/iocBoot/iocAravis# ../../bin/linux-x86_64/ADAravisApp st.cmd
< envPaths
epicsEnvSet("IOC","iocAravis")
epicsEnvSet("TOP","/opt/epics/synApps/support/areaDetector-master/ADAravis/iocs/aravisIOC")
epicsEnvSet("ADARAVIS","/opt/epics/synApps/support/areaDetector-master/ADAravis/iocs/aravisIOC/../..")
epicsEnvSet("SUPPORT","/opt/epics/synApps/support")
epicsEnvSet("ASYN","/opt/epics/synApps/support/asyn-R4-38")
epicsEnvSet("AREA_DETECTOR","/opt/epics/synApps/support/areaDetector-master")
epicsEnvSet("ADSUPPORT","/opt/epics/synApps/support/areaDetector-master/ADSupport")
epicsEnvSet("ADCORE","/opt/epics/synApps/support/areaDetector-master/ADCore")
epicsEnvSet("AUTOSAVE","/opt/epics/synApps/support/autosave-R5-10")
epicsEnvSet("BUSY","/opt/epics/synApps/support/busy-R1-7-2")
epicsEnvSet("CALC","/opt/epics/synApps/support/calc-R3-7-3")
epicsEnvSet("SNCSEQ","/opt/epics/synApps/support/seq-2-2-6")
epicsEnvSet("SSCAN","/opt/epics/synApps/support/sscan-R2-11-3")
epicsEnvSet("DEVIOCSTATS","/opt/epics/synApps/support/iocStats-3-1-16")
epicsEnvSet("EPICS_BASE","/opt/epics/base")
epicsEnvSet("ADGENICAM","/opt/epics/synApps/support/areaDetector-master/ADGenICam")
errlogInit(20000)
dbLoadDatabase("/opt/epics/synApps/support/areaDetector-master/ADAravis/iocs/aravisIOC/dbd/ADAravisApp.dbd")
ADAravisApp_registerRecordDeviceDriver(pdbbase)
# Name of camera as reported by arv-tool
epicsEnvSet("CAMERA_NAME", 10.0.0.230)
# The maximum image width; used for row profiles in the NDPluginStats plugin
epicsEnvSet("XSIZE", "2304")
# The maximum image height; used for column profiles in the NDPluginStats plugin
epicsEnvSet("YSIZE", "1300")
# Define NELEMENTS to be enough for a 2464x2056x3 (color) image
epicsEnvSet("NELEMENTS", "2995200")
# Enable register caching
epicsEnvSet("ENABLE_CACHING", "1")
# The database file
epicsEnvSet("GENICAM_DB_FILE", "/opt/epics/synApps/support/areaDetector-master/ADGenICam/GenICamApp/Db/Teledyne_ShadoBox.template")
< st.cmd.base
# Prefix for all records
epicsEnvSet("PREFIX", "ARV1:")
# The port name for the detector
epicsEnvSet("PORT", "ARV1")
# Really large queue so we can stream to disk at full camera speed
epicsEnvSet("QSIZE", "2000")
# The maximum number of time series points in the NDPluginStats plugin
epicsEnvSet("NCHANS", "2048")
# The maximum number of frames buffered in the NDPluginCircularBuff plugin
epicsEnvSet("CBUFFS", "500")
# The search path for database files
epicsEnvSet("EPICS_DB_INCLUDE_PATH", "/opt/epics/synApps/support/areaDetector-master/ADCore/db:/opt/epics/synApps/support/areaDetector-master/ADGenICam/GenICamApp/Db:/opt/epics/synApps/support/areaDetector-master/ADAravis/iocs/aravisIOC/../../db")
# aravisConfig(const char *portName, const char *cameraName, int enableCaching, size_t maxMemory, int priority, int stackSize)
aravisConfig("ARV1", "10.0.0.230", 1, 0, 0, 0)
ADAravis: Looking for camera '10.0.0.230'...
ADAravis: Your tick frequency is 1000000
So your timestamp resolution is 1000.000000 ns
asynSetTraceIOMask(ARV1, 0, 2)
#asynSetTraceMask($(PORT), 0, TRACE_ERROR|TRACEIO_DRIVER|TRACE_FLOW)
#asynSetTraceFile($(PORT), 0, "aravisDebug.txt")
# Main database
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADAravis/iocs/aravisIOC/../../db/aravisCamera.template", "P=ARV1:,R=cam1:,PORT=ARV1")
# Load the autogenerated file of GenICam features
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADGenICam/GenICamApp/Db/Teledyne_ShadoBox.template", "P=ARV1:,R=cam1:,PORT=ARV1")
# Create a standard arrays plugin
NDStdArraysConfigure("Image1", 5, 0, "ARV1", 0, 0)
# Use this line for 8-bit data only
#dbLoadRecords("$(ADCORE)/db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT),TYPE=Int8,FTVL=CHAR,NELEMENTS=$(NELEMENTS)")
# Use this line for 8-bit or 16-bit data
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADCore/db/NDStdArrays.template", "P=ARV1:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1,TYPE=Int16,FTVL=SHORT,NELEMENTS=2995200")
# Load all other plugins using commonPlugins.cmd
< /opt/epics/synApps/support/areaDetector-master/ADCore/iocBoot/commonPlugins.cmd
# This is an example file for creating plugins
# It uses the following environment variable macros
# Many of the parameters defined in this file are also in commonPlugins_settings.req so if autosave is being
# use the autosave value will replace the value passed to this file.
# $(PREFIX) Prefix for all records
# $(PORT) The port name for the detector. In autosave.
# $(QSIZE) The queue size for all plugins. In autosave.
# $(XSIZE) The maximum image width; used to set the maximum size for row profiles in the NDPluginStats plugin and 1-D FFT
# profiles in NDPluginFFT.
# $(YSIZE) The maximum image height; used to set the maximum size for column profiles in the NDPluginStats plugin
# $(NCHANS) The maximum number of time series points in the NDPluginStats, NDPluginROIStats, and NDPluginAttribute plugins
# $(CBUFFS) The maximum number of frames buffered in the NDPluginCircularBuff plugin
# $(MAX_THREADS) The maximum number of threads for plugins which can run in multiple threads. Defaults to 5.
# Create a netCDF file saving plugin
NDFileNetCDFConfigure("FileNetCDF1", 2000, 0, "ARV1", 0)
dbLoadRecords("NDFileNetCDF.template","P=ARV1:,R=netCDF1:,PORT=FileNetCDF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create a TIFF file saving plugin
NDFileTIFFConfigure("FileTIFF1", 2000, 0, "ARV1", 0)
dbLoadRecords("NDFileTIFF.template", "P=ARV1:,R=TIFF1:,PORT=FileTIFF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create a JPEG file saving plugin
NDFileJPEGConfigure("FileJPEG1", 2000, 0, "ARV1", 0)
dbLoadRecords("NDFileJPEG.template", "P=ARV1:,R=JPEG1:,PORT=FileJPEG1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create a NeXus file saving plugin
NDFileNexusConfigure("FileNexus1", 2000, 0, "ARV1", 0)
dbLoadRecords("NDFileNexus.template", "P=ARV1:,R=Nexus1:,PORT=FileNexus1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create an HDF5 file saving plugin
NDFileHDF5Configure("FileHDF1", 2000, 0, "ARV1", 0)
dbLoadRecords("NDFileHDF5.template", "P=ARV1:,R=HDF1:,PORT=FileHDF1,ADDR=0,TIMEOUT=1,XMLSIZE=2048,NDARRAY_PORT=ARV1")
# Create a Magick file saving plugin
#NDFileMagickConfigure("FileMagick1", $(QSIZE), 0, "$(PORT)", 0)
#dbLoadRecords("NDFileMagick.template","P=$(PREFIX),R=Magick1:,PORT=FileMagick1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)")
# Create 4 ROI plugins
NDROIConfigure("ROI1", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDROI.template", "P=ARV1:,R=ROI1:, PORT=ROI1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
NDROIConfigure("ROI2", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDROI.template", "P=ARV1:,R=ROI2:, PORT=ROI2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
NDROIConfigure("ROI3", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDROI.template", "P=ARV1:,R=ROI3:, PORT=ROI3,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
NDROIConfigure("ROI4", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDROI.template", "P=ARV1:,R=ROI4:, PORT=ROI4,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create 8 ROIStat plugins
NDROIStatConfigure("ROISTAT1", 2000, 0, "ARV1", 0, 8, 0, 0, 0, 0, 5)
dbLoadRecords("NDROIStat.template", "P=ARV1:,R=ROIStat1: ,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template", "P=ARV1:,R=ROIStat1:1:,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template", "P=ARV1:,R=ROIStat1:2:,PORT=ROISTAT1,ADDR=1,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template", "P=ARV1:,R=ROIStat1:3:,PORT=ROISTAT1,ADDR=2,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template", "P=ARV1:,R=ROIStat1:4:,PORT=ROISTAT1,ADDR=3,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template", "P=ARV1:,R=ROIStat1:5:,PORT=ROISTAT1,ADDR=4,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template", "P=ARV1:,R=ROIStat1:6:,PORT=ROISTAT1,ADDR=5,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template", "P=ARV1:,R=ROIStat1:7:,PORT=ROISTAT1,ADDR=6,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template", "P=ARV1:,R=ROIStat1:8:,PORT=ROISTAT1,ADDR=7,TIMEOUT=1,NCHANS=2048")
# Create a processing plugin
NDProcessConfigure("PROC1", 2000, 0, "ARV1", 0, 0, 0)
dbLoadRecords("NDProcess.template", "P=ARV1:,R=Proc1:, PORT=PROC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create a TIFF file plugin to read dark and flatfield images into the processing plugin
NDFileTIFFConfigure("PROC1TIFF", 2000, 0, "ARV1", 0)
dbLoadRecords("NDFileTIFF.template", "P=ARV1:,R=Proc1:TIFF:,PORT=PROC1TIFF,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create a scatter plugin
NDScatterConfigure("SCATTER1", 2000, 0, "ARV1", 0, 0, 0)
dbLoadRecords("NDScatter.template", "P=ARV1:,R=Scatter1:, PORT=SCATTER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create a gather plugin with 8 ports
NDGatherConfigure("GATHER1", 2000, 0, 8, 0, 0)
dbLoadRecords("NDGather.template", "P=ARV1:,R=Gather1:, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDGatherN.template", "P=ARV1:,R=Gather1:, N=1, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDGatherN.template", "P=ARV1:,R=Gather1:, N=2, PORT=GATHER1,ADDR=1,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDGatherN.template", "P=ARV1:,R=Gather1:, N=3, PORT=GATHER1,ADDR=2,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDGatherN.template", "P=ARV1:,R=Gather1:, N=4, PORT=GATHER1,ADDR=3,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDGatherN.template", "P=ARV1:,R=Gather1:, N=5, PORT=GATHER1,ADDR=4,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDGatherN.template", "P=ARV1:,R=Gather1:, N=6, PORT=GATHER1,ADDR=5,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDGatherN.template", "P=ARV1:,R=Gather1:, N=7, PORT=GATHER1,ADDR=6,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDGatherN.template", "P=ARV1:,R=Gather1:, N=8, PORT=GATHER1,ADDR=7,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create 5 statistics plugins
NDStatsConfigure("STATS1", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDStats.template", "P=ARV1:,R=Stats1:, PORT=STATS1,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2304,YSIZE=1300,NCHANS=2048,NDARRAY_PORT=ARV1")
NDTimeSeriesConfigure("STATS1_TS", 2000, 0, "STATS1", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADCore/db/NDTimeSeries.template", "P=ARV1:,R=Stats1:TS:, PORT=STATS1_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS1,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1")
NDStatsConfigure("STATS2", 2000, 0, "ROI1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDStats.template", "P=ARV1:,R=Stats2:, PORT=STATS2,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2304,YSIZE=1300,NCHANS=2048,NDARRAY_PORT=ARV1")
NDTimeSeriesConfigure("STATS2_TS", 2000, 0, "STATS2", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADCore/db/NDTimeSeries.template", "P=ARV1:,R=Stats2:TS:, PORT=STATS2_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS2,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1")
NDStatsConfigure("STATS3", 2000, 0, "ROI2", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDStats.template", "P=ARV1:,R=Stats3:, PORT=STATS3,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2304,YSIZE=1300,NCHANS=2048,NDARRAY_PORT=ARV1")
NDTimeSeriesConfigure("STATS3_TS", 2000, 0, "STATS3", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADCore/db/NDTimeSeries.template", "P=ARV1:,R=Stats3:TS:, PORT=STATS3_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS3,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1")
NDStatsConfigure("STATS4", 2000, 0, "ROI3", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDStats.template", "P=ARV1:,R=Stats4:, PORT=STATS4,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2304,YSIZE=1300,NCHANS=2048,NDARRAY_PORT=ARV1")
NDTimeSeriesConfigure("STATS4_TS", 2000, 0, "STATS4", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADCore/db/NDTimeSeries.template", "P=ARV1:,R=Stats4:TS:, PORT=STATS4_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS4,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1")
NDStatsConfigure("STATS5", 2000, 0, "ROI4", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDStats.template", "P=ARV1:,R=Stats5:, PORT=STATS5,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2304,YSIZE=1300,NCHANS=2048,NDARRAY_PORT=ARV1")
NDTimeSeriesConfigure("STATS5_TS", 2000, 0, "STATS5", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADCore/db/NDTimeSeries.template", "P=ARV1:,R=Stats5:TS:, PORT=STATS5_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS5,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1")
# Create a transform plugin
NDTransformConfigure("TRANS1", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDTransform.template", "P=ARV1:,R=Trans1:, PORT=TRANS1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create an overlay plugin with 8 overlays
NDOverlayConfigure("OVER1", 2000, 0, "ARV1", 0, 8, 0, 0, 0, 0, 5)
dbLoadRecords("NDOverlay.template", "P=ARV1:,R=Over1:, PORT=OVER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
dbLoadRecords("NDOverlayN.template","P=ARV1:,R=Over1:1:,NAME=ROI1, SHAPE=1,O=Over1:,XPOS=ARV1:ROI1:MinX_RBV,YPOS=ARV1:ROI1:MinY_RBV,XSIZE=ARV1:ROI1:SizeX_RBV,YSIZE=ARV1:ROI1:SizeY_RBV,PORT=OVER1,ADDR=0,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=ARV1:,R=Over1:2:,NAME=ROI2, SHAPE=1,O=Over1:,XPOS=ARV1:ROI2:MinX_RBV,YPOS=ARV1:ROI2:MinY_RBV,XSIZE=ARV1:ROI2:SizeX_RBV,YSIZE=ARV1:ROI2:SizeY_RBV,PORT=OVER1,ADDR=1,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=ARV1:,R=Over1:3:,NAME=ROI3, SHAPE=1,O=Over1:,XPOS=ARV1:ROI3:MinX_RBV,YPOS=ARV1:ROI3:MinY_RBV,XSIZE=ARV1:ROI3:SizeX_RBV,YSIZE=ARV1:ROI3:SizeY_RBV,PORT=OVER1,ADDR=2,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=ARV1:,R=Over1:4:,NAME=ROI4, SHAPE=1,O=Over1:,XPOS=ARV1:ROI4:MinX_RBV,YPOS=ARV1:ROI4:MinY_RBV,XSIZE=ARV1:ROI4:SizeX_RBV,YSIZE=ARV1:ROI4:SizeY_RBV,PORT=OVER1,ADDR=3,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=ARV1:,R=Over1:5:,NAME=Cursor1,SHAPE=1,O=Over1:,XPOS=junk, YPOS=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=4,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=ARV1:,R=Over1:6:,NAME=Cursor2,SHAPE=1,O=Over1:,XPOS=junk, YPOS=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=5,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=ARV1:,R=Over1:7:,NAME=Box1, SHAPE=1,O=Over1:,XPOS=junk, YPOS=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=6,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=ARV1:,R=Over1:8:,NAME=Box2, SHAPE=1,O=Over1:,XPOS=junk, YPOS=junk, XSIZE=junk, YSIZE=junk, PORT=OVER1,ADDR=7,TIMEOUT=1")
# Create 2 color conversion plugins
NDColorConvertConfigure("CC1", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDColorConvert.template", "P=ARV1:,R=CC1:, PORT=CC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
NDColorConvertConfigure("CC2", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDColorConvert.template", "P=ARV1:,R=CC2:, PORT=CC2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create a circular buffer plugin
NDCircularBuffConfigure("CB1", 2000, 0, "ARV1", 0, 500, 0)
dbLoadRecords("NDCircularBuff.template", "P=ARV1:,R=CB1:, PORT=CB1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ARV1")
# Create an NDAttribute plugin with 8 attributes
NDAttrConfigure("ATTR1", 2000, 0, "ARV1", 0, 8, 0, 0, 0)
dbLoadRecords("NDAttribute.template", "P=ARV1:,R=Attr1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048,NDARRAY_PORT=ARV1")
dbLoadRecords("NDAttributeN.template", "P=ARV1:,R=Attr1:1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=ARV1:,R=Attr1:2:, PORT=ATTR1,ADDR=1,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=ARV1:,R=Attr1:3:, PORT=ATTR1,ADDR=2,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=ARV1:,R=Attr1:4:, PORT=ATTR1,ADDR=3,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=ARV1:,R=Attr1:5:, PORT=ATTR1,ADDR=4,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=ARV1:,R=Attr1:6:, PORT=ATTR1,ADDR=5,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=ARV1:,R=Attr1:7:, PORT=ATTR1,ADDR=6,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=ARV1:,R=Attr1:8:, PORT=ATTR1,ADDR=7,TIMEOUT=1,NCHANS=2048")
NDTimeSeriesConfigure("ATTR1_TS", 2000, 0, "ATTR1", 1, 8)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-master/ADCore/db/NDTimeSeries.template", "P=ARV1:,R=Attr1:TS:, PORT=ATTR1_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=ATTR1,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1")
# Create an FFT plugin
NDFFTConfigure("FFT1", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDFFT.template", "P=ARV1:, R=FFT1:, PORT=FFT1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=ARV1, NAME=FFT1, NCHANS=2304")
# Create 2 Codec plugins
NDCodecConfigure("CODEC1", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDCodec.template", "P=ARV1:, R=Codec1:, PORT=CODEC1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=ARV1")
NDCodecConfigure("CODEC2", 2000, 0, "ARV1", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDCodec.template", "P=ARV1:, R=Codec2:, PORT=CODEC2, ADDR=0, TIMEOUT=1, NDARRAY_PORT=ARV1")
set_requestfile_path("./")
set_requestfile_path("/opt/epics/synApps/support/areaDetector-master/ADCore/ADApp/Db")
set_requestfile_path("/opt/epics/synApps/support/areaDetector-master/ADCore/iocBoot")
set_savefile_path("./autosave")
set_pass0_restoreFile("auto_settings.sav")
set_pass1_restoreFile("auto_settings.sav")
save_restoreSet_status_prefix("ARV1:")
dbLoadRecords("/opt/epics/synApps/support/autosave-R5-10/asApp/Db/save_restoreStatus.db", "P=ARV1:")
# Optional: load NDPluginPva plugin
#NDPvaConfigure("PVA1", $(QSIZE), 0, "$(PORT)", 0, $(PREFIX)Pva1:Image, 0, 0, 0)
#dbLoadRecords("NDPva.template", "P=$(PREFIX),R=Pva1:, PORT=PVA1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)")
# Must start PVA server if this is enabled
#startPVAServer
# Optional: load ffmpegServer plugin
#ffmpegServerConfigure(8081)
#ffmpegStreamConfigure("FfmStream1", 2, 0, "$(PORT)", 0, -1, 0)
#dbLoadRecords("$(FFMPEGSERVER)/db/ffmpegStream.template", "P=$(PREFIX),R=ffmstream1:,PORT=FfmStream1,NDARRAY_PORT=$(PORT)")
#ffmpegFileConfigure("FfmFile1", 16, 0, "$(PORT)", 0, -1, 0)
#dbLoadRecords("$(FFMPEGSERVER)/db/ffmpegFile.template", "P=$(PREFIX),R=ffmfile1:,PORT=FfmFile1,NDARRAY_PORT=$(PORT)")
# Optional: load NDPluginEdge plugin
#NDEdgeConfigure("EDGE1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0)
#dbLoadRecords("$(ADPLUGINEDGE)/db/NDEdge.template", "P=$(PREFIX),R=Edge1:, PORT=EDGE1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)")
#set_requestfile_path("$(ADPLUGINEDGE)/edgeApp/Db")
# Optional: load NDPluginCV plugin
#NDCVConfigure("CV1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0, 0, $(MAX_THREADS=5))
#dbLoadRecords("$(ADCOMPVISION)/db/NDCV.template", "P=$(PREFIX),R=CV1:, PORT=CV1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)")
#set_requestfile_path("$(ADCOMPVISION)/adcvApp/Db")
# Optional: load NDPluginBar plugin
#NDBarConfigure("BAR1", $(QSIZE), 0, "$(PORT)", 0, 0, 0, 0, 0, $(MAX_THREADS=5))
#dbLoadRecords("$(ADPLUGINBAR)/db/NDBar.template", "P=$(PREFIX),R=Bar1:, PORT=BAR1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PORT)")
#set_requestfile_path("$(ADPLUGINBAR)/barApp/Db")
# Optional: load scan records
#dbLoadRecords("$(SSCAN)/sscanApp/Db/scan.db", "P=$(PREFIX),MAXPTS1=2000,MAXPTS2=200,MAXPTS3=20,MAXPTS4=10,MAXPTSH=10")
#set_requestfile_path("$(SSCAN)/sscanApp/Db")
# Optional: load sseq record for acquisition sequence
#dbLoadRecords("$(CALC)/calcApp/Db/sseqRecord.db", "P=$(PREFIX), S=AcquireSequence")
#set_requestfile_path("$(CALC)/calcApp/Db")
# Optional: load devIocStats records (requires DEVIOCSTATS module)
#dbLoadRecords("$(DEVIOCSTATS)/db/iocAdminSoft.db", "IOC=$(PREFIX)")
# Optional: load alive record (requires ALIVE module)
#dbLoadRecords("$(ALIVE)/aliveApp/Db/alive.db", "P=$(PREFIX),RHOST=192.168.1.254")
# Set the callback queue size to 5000, up from default of 2000 in base.
# This can be needed to avoid errors "callbackRequest: cbLow ring buffer full".
callbackSetQueueSize(5000)
set_requestfile_path("/opt/epics/synApps/support/areaDetector-master/ADGenICam/GenICamApp/Db")
set_requestfile_path("/opt/epics/synApps/support/areaDetector-master/ADAravis/iocs/aravisIOC/../../aravisApp/Db")
iocInit()
Starting iocInit
############################################################################
## EPICS R3.15.6
## EPICS Base built Feb 19 2020
############################################################################
reboot_restore: entry for file 'auto_settings.sav'
reboot_restore: Found filename 'auto_settings.sav' in restoreFileList.
*** restoring from './autosave/auto_settings.sav' at initHookState 6 (before record/device init) ***
reboot_restore: done with file 'auto_settings.sav'
reboot_restore: entry for file 'auto_settings.sav'
reboot_restore: Found filename 'auto_settings.sav' in restoreFileList.
*** restoring from './autosave/auto_settings.sav' at initHookState 7 (after record/device init) ***
reboot_restore: done with file 'auto_settings.sav'
2020/02/20 19:29:55.160 Param[NIMAGES] GenICamFeature::write: node AcquisitionFrameCount is not writable
iocRun: All initialization complete
# save things every thirty seconds
create_monitor_set("auto_settings.req", 30,"P=ARV1:")
Warning: Duplicate EPICS CA Address list entry "
10.0.0.20:8174" discarded
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
save_restore:readReqFile: unable to open file sseq_settings.req. Exiting.
epics> auto_settings.sav: 1284 of 1284 PV's connected
In the ADAravis MEDM screen, when I try to acquire a single frame, it seems like the buffers fill up immediately (see attached image) and my image counter never increments. I tried adjusting the net.core.rmem_max and net.core.rmem_default settings to 8 MB but it did not make a difference. Any help is appreciated and please let me know what further information you may need; thanks!
-Katie