Experimental Physics and Industrial Control System
Hi Katie,
Some questions and suggestions:
- Please send a screen shot of the Plugins/All screen.
- What are the choices got PixelFormat? I see Mono14 is selected.
- Change the Status rate from Event to 1 second. Then we will see any packet errors.
- Please enable the Statistics plugin, enable it, and send a screen shot of that after you press the Acquire button.
- Send a copy of the XML file.
Mark
________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Katie Matusik via Tech-talk <tech-talk at aps.anl.gov>
Sent: Thursday, February 20, 2020 1:43 PM
To: tech-talk at aps.anl.gov
Subject: Buffer full issue with ADAravis
[ADAravis_MEDM.png]
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<http://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
[https://static1.squarespace.com/static/56de1f4a2fe1318cf0aacc98/t/5d9e0fa57996446a078a8e1a/1570639781104/Logo_gmail_small.png?format=300w]
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee, you should not disseminate, distribute or copy this email. Please notify the sender immediately by email if you have received this email by mistake and delete this email from your system. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited
- Replies:
- Re: Buffer full issue with ADAravis Katie Matusik via Tech-talk
- References:
- Buffer full issue with ADAravis Katie Matusik via Tech-talk
- Navigate by Date:
- Prev:
RE: EPICS Archiver appliance MySQL Persistence error Peter Linardakis via Tech-talk
- Next:
Re: MRF Delay Compensation Function Jukka Pietarinen via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Buffer full issue with ADAravis Katie Matusik via Tech-talk
- Next:
Re: Buffer full issue with ADAravis Katie Matusik via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
<2020>
2021
2022
2023
2024