Experimental Physics and
| |||||||||||||||
|
Hello,
We have an Eiger X Si 9M detector using SIMPLON 1.8.0, and we would like to use EPICS areaDetector driver. Simply tried areaDetector-R3-13, iocEiger1, but it has IOC startup errors. I am not sure about the version of ADEiger, but likely a recent release on github. Should we roll back to SIMPLON 1.6? Or is there something I have overlooked during installation? Or the IOC startup errors can just be ignored? (cannot find parameters of DCU_BUF_FREE, CLEAR, LINK_0, LINK_1, LINK_2, LINK_3). Thanks, Rong ######## IOC startup printout ############# #!../../bin/linux-x86_64/eigerDetectorApp < envPaths epicsEnvSet("IOC","iocEiger1") epicsEnvSet("TOP","/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADEiger/iocs/eigerIOC") epicsEnvSet("ADEIGER","/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADEiger/iocs/eigerIOC/../..") epicsEnvSet("SUPPORT","/opt/epics/synApps-R6-2-1/support") epicsEnvSet("ASYN","/opt/epics/synApps-R6-2-1/support/asyn-R4-44-2") epicsEnvSet("AREA_DETECTOR","/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13") epicsEnvSet("ADSUPPORT","/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADSupport") epicsEnvSet("ADCORE","/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore") epicsEnvSet("AUTOSAVE","/opt/epics/synApps-R6-2-1/support/autosave-R5-11") epicsEnvSet("BUSY","/opt/epics/synApps-R6-2-1/support/busy-R1-7-4") epicsEnvSet("CALC","/opt/epics/synApps-R6-2-1/support/calc-R3-7-5") epicsEnvSet("SNCSEQ","/opt/epics/synApps-R6-2-1/support/seq-R2-2-9") epicsEnvSet("SSCAN","/opt/epics/synApps-R6-2-1/support/sscan-R2-11-6") epicsEnvSet("DEVIOCSTATS","/opt/epics/synApps-R6-2-1/support/iocStats-3-2-0") epicsEnvSet("EPICS_BASE","/opt/epics/base") errlogInit(20000) dbLoadDatabase("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADEiger/iocs/eigerIOC/dbd/eigerDetectorApp.dbd") eigerDetectorApp_registerRecordDeviceDriver(pdbbase) epicsEnvSet("PREFIX", "21EIG1:") epicsEnvSet("PORT", "EIG") epicsEnvSet("QSIZE", "20") # The queue size for all plugins epicsEnvSet("XSIZE", "3110") # The maximim image width; # used for row profiles in the NDPluginStats plugin # RH: # of pixels epicsEnvSet("YSIZE", "3269") # The maximim image height; # used for column profiles in the NDPluginStats plugin # RH: # of pixels epicsEnvSet("NCHANS", "2048") # The maximum number of time series points in the NDPluginStats plugin epicsEnvSet("CBUFFS", "500") # The maximum number of frames buffered in the NDPluginCircularBuff plugin # This is an Eiger1 500K # epicsEnvSet("EIGERIP", "10.54.160.234") epicsEnvSet("EIGERIP", "164.54.252.45") # fig epicsEnvSet("EPICS_DB_INCLUDE_PATH", "/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db:/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADEiger/iocs/eigerIOC/../../db") epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES", "5000000") eigerDetectorConfig("EIG", "164.54.252.45", 0, 0) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADEiger/iocs/eigerIOC/../../db/eiger1.template", "P=21EIG1:,R=cam1:,PORT=EIG,ADDR=0,TIMEOUT=1") # Debug #asynSetTraceMask("$(PORT)", 0, 0x11) # Create a standard arrays plugin NDStdArraysConfigure("Image1", 5, 0, "EIG", 0, 0) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db/NDStdArrays.template", "P=21EIG1:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,TYPE=Int32,FTVL=LONG,NELEMENTS=1096950, NDARRAY_PORT=EIG") NDStdArraysConfigure("Image2", 5, 0, "EIG", 1, 0) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db/NDStdArrays.template", "P=21EIG1:,R=image2:,PORT=Image2,ADDR=0,TIMEOUT=1,TYPE=Int32,FTVL=LONG,NELEMENTS=1096950, NDARRAY_PORT=EIG") # Load all other plugins using commonPlugins.cmd < /opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/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", 20, 0, "EIG", 0) dbLoadRecords("NDFileNetCDF.template","P=21EIG1:,R=netCDF1:,PORT=FileNetCDF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create a TIFF file saving plugin NDFileTIFFConfigure("FileTIFF1", 20, 0, "EIG", 0) dbLoadRecords("NDFileTIFF.template", "P=21EIG1:,R=TIFF1:,PORT=FileTIFF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create a JPEG file saving plugin NDFileJPEGConfigure("FileJPEG1", 20, 0, "EIG", 0) dbLoadRecords("NDFileJPEG.template", "P=21EIG1:,R=JPEG1:,PORT=FileJPEG1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create a NeXus file saving plugin NDFileNexusConfigure("FileNexus1", 20, 0, "EIG", 0) dbLoadRecords("NDFileNexus.template", "P=21EIG1:,R=Nexus1:,PORT=FileNexus1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create an HDF5 file saving plugin NDFileHDF5Configure("FileHDF1", 20, 0, "EIG", 0) dbLoadRecords("NDFileHDF5.template", "P=21EIG1:,R=HDF1:,PORT=FileHDF1,ADDR=0,TIMEOUT=1,XMLSIZE=2048,NDARRAY_PORT=EIG") # 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", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=21EIG1:,R=ROI1:, PORT=ROI1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") NDROIConfigure("ROI2", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=21EIG1:,R=ROI2:, PORT=ROI2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") NDROIConfigure("ROI3", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=21EIG1:,R=ROI3:, PORT=ROI3,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") NDROIConfigure("ROI4", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDROI.template", "P=21EIG1:,R=ROI4:, PORT=ROI4,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create 8 ROIStat plugins NDROIStatConfigure("ROISTAT1", 20, 0, "EIG", 0, 8, 0, 0, 0, 0, 5) dbLoadRecords("NDROIStat.template", "P=21EIG1:,R=ROIStat1: ,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG1:,R=ROIStat1:1:,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG1:,R=ROIStat1:2:,PORT=ROISTAT1,ADDR=1,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG1:,R=ROIStat1:3:,PORT=ROISTAT1,ADDR=2,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG1:,R=ROIStat1:4:,PORT=ROISTAT1,ADDR=3,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG1:,R=ROIStat1:5:,PORT=ROISTAT1,ADDR=4,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG1:,R=ROIStat1:6:,PORT=ROISTAT1,ADDR=5,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG1:,R=ROIStat1:7:,PORT=ROISTAT1,ADDR=6,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG1:,R=ROIStat1:8:,PORT=ROISTAT1,ADDR=7,TIMEOUT=1,NCHANS=2048") # Create a processing plugin NDProcessConfigure("PROC1", 20, 0, "EIG", 0, 0, 0) dbLoadRecords("NDProcess.template", "P=21EIG1:,R=Proc1:, PORT=PROC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create a TIFF file plugin to read dark and flatfield images into the processing plugin NDFileTIFFConfigure("PROC1TIFF", 20, 0, "EIG", 0) dbLoadRecords("NDFileTIFF.template", "P=21EIG1:,R=Proc1:TIFF:,PORT=PROC1TIFF,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create a scatter plugin NDScatterConfigure("SCATTER1", 20, 0, "EIG", 0, 0, 0) dbLoadRecords("NDScatter.template", "P=21EIG1:,R=Scatter1:, PORT=SCATTER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create a gather plugin with 8 ports NDGatherConfigure("GATHER1", 20, 0, 8, 0, 0) dbLoadRecords("NDGather.template", "P=21EIG1:,R=Gather1:, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG1:,R=Gather1:, N=1, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG1:,R=Gather1:, N=2, PORT=GATHER1,ADDR=1,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG1:,R=Gather1:, N=3, PORT=GATHER1,ADDR=2,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG1:,R=Gather1:, N=4, PORT=GATHER1,ADDR=3,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG1:,R=Gather1:, N=5, PORT=GATHER1,ADDR=4,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG1:,R=Gather1:, N=6, PORT=GATHER1,ADDR=5,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG1:,R=Gather1:, N=7, PORT=GATHER1,ADDR=6,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG1:,R=Gather1:, N=8, PORT=GATHER1,ADDR=7,TIMEOUT=1,NDARRAY_PORT=EIG") # Create 5 statistics plugins NDStatsConfigure("STATS1", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21EIG1:,R=Stats1:, PORT=STATS1,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=3110,YSIZE=3269,NCHANS=2048,NDARRAY_PORT=EIG") NDTimeSeriesConfigure("STATS1_TS", 20, 0, "STATS1", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21EIG1:,R=Stats1:TS:, PORT=STATS1_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS1,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS2", 20, 0, "ROI1", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21EIG1:,R=Stats2:, PORT=STATS2,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=3110,YSIZE=3269,NCHANS=2048,NDARRAY_PORT=EIG") NDTimeSeriesConfigure("STATS2_TS", 20, 0, "STATS2", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21EIG1:,R=Stats2:TS:, PORT=STATS2_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS2,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS3", 20, 0, "ROI2", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21EIG1:,R=Stats3:, PORT=STATS3,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=3110,YSIZE=3269,NCHANS=2048,NDARRAY_PORT=EIG") NDTimeSeriesConfigure("STATS3_TS", 20, 0, "STATS3", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21EIG1:,R=Stats3:TS:, PORT=STATS3_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS3,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS4", 20, 0, "ROI3", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21EIG1:,R=Stats4:, PORT=STATS4,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=3110,YSIZE=3269,NCHANS=2048,NDARRAY_PORT=EIG") NDTimeSeriesConfigure("STATS4_TS", 20, 0, "STATS4", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21EIG1:,R=Stats4:TS:, PORT=STATS4_TS,ADDR=0,TIMEOUT=1,NDARRAY_PORT=STATS4,NDARRAY_ADDR=1,NCHANS=2048,ENABLED=1") NDStatsConfigure("STATS5", 20, 0, "ROI4", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDStats.template", "P=21EIG1:,R=Stats5:, PORT=STATS5,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=3110,YSIZE=3269,NCHANS=2048,NDARRAY_PORT=EIG") NDTimeSeriesConfigure("STATS5_TS", 20, 0, "STATS5", 1, 23) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21EIG1:,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", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDTransform.template", "P=21EIG1:,R=Trans1:, PORT=TRANS1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create an overlay plugin with 8 overlays NDOverlayConfigure("OVER1", 20, 0, "EIG", 0, 8, 0, 0, 0, 0, 5) dbLoadRecords("NDOverlay.template", "P=21EIG1:,R=Over1:, PORT=OVER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDOverlayN.template","P=21EIG1:,R=Over1:1:,NAME=ROI1, SHAPE=1,O=Over1:,XPOS=21EIG1:ROI1:MinX_RBV,YPOS=21EIG1:ROI1:MinY_RBV,XSIZE=21EIG1:ROI1:SizeX_RBV,YSIZE=21EIG1:ROI1:SizeY_RBV,PORT=OVER1,ADDR=0,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21EIG1:,R=Over1:2:,NAME=ROI2, SHAPE=1,O=Over1:,XPOS=21EIG1:ROI2:MinX_RBV,YPOS=21EIG1:ROI2:MinY_RBV,XSIZE=21EIG1:ROI2:SizeX_RBV,YSIZE=21EIG1:ROI2:SizeY_RBV,PORT=OVER1,ADDR=1,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21EIG1:,R=Over1:3:,NAME=ROI3, SHAPE=1,O=Over1:,XPOS=21EIG1:ROI3:MinX_RBV,YPOS=21EIG1:ROI3:MinY_RBV,XSIZE=21EIG1:ROI3:SizeX_RBV,YSIZE=21EIG1:ROI3:SizeY_RBV,PORT=OVER1,ADDR=2,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21EIG1:,R=Over1:4:,NAME=ROI4, SHAPE=1,O=Over1:,XPOS=21EIG1:ROI4:MinX_RBV,YPOS=21EIG1:ROI4:MinY_RBV,XSIZE=21EIG1:ROI4:SizeX_RBV,YSIZE=21EIG1:ROI4:SizeY_RBV,PORT=OVER1,ADDR=3,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21EIG1:,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=21EIG1:,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=21EIG1:,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=21EIG1:,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", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDColorConvert.template", "P=21EIG1:,R=CC1:, PORT=CC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") NDColorConvertConfigure("CC2", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDColorConvert.template", "P=21EIG1:,R=CC2:, PORT=CC2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create a circular buffer plugin NDCircularBuffConfigure("CB1", 20, 0, "EIG", 0, 500, 0) dbLoadRecords("NDCircularBuff.template", "P=21EIG1:,R=CB1:, PORT=CB1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") # Create an NDAttribute plugin with 8 attributes NDAttrConfigure("ATTR1", 20, 0, "EIG", 0, 8, 0, 0, 0) dbLoadRecords("NDAttribute.template", "P=21EIG1:,R=Attr1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048,NDARRAY_PORT=EIG") dbLoadRecords("NDAttributeN.template", "P=21EIG1:,R=Attr1:1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG1:,R=Attr1:2:, PORT=ATTR1,ADDR=1,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG1:,R=Attr1:3:, PORT=ATTR1,ADDR=2,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG1:,R=Attr1:4:, PORT=ATTR1,ADDR=3,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG1:,R=Attr1:5:, PORT=ATTR1,ADDR=4,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG1:,R=Attr1:6:, PORT=ATTR1,ADDR=5,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG1:,R=Attr1:7:, PORT=ATTR1,ADDR=6,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG1:,R=Attr1:8:, PORT=ATTR1,ADDR=7,TIMEOUT=1,NCHANS=2048") NDTimeSeriesConfigure("ATTR1_TS", 20, 0, "ATTR1", 1, 8) dbLoadRecords("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db/NDTimeSeries.template", "P=21EIG1:,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", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDFFT.template", "P=21EIG1:, R=FFT1:, PORT=FFT1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=EIG, NAME=FFT1, NCHANS=3110") # Create 2 Codec plugins NDCodecConfigure("CODEC1", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDCodec.template", "P=21EIG1:, R=Codec1:, PORT=CODEC1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=EIG") NDCodecConfigure("CODEC2", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDCodec.template", "P=21EIG1:, R=Codec2:, PORT=CODEC2, ADDR=0, TIMEOUT=1, NDARRAY_PORT=EIG") # Create a bad pixel plugin NDBadPixelConfigure("BADPIX1", 20, 0, "EIG", 0, 0, 0, 0, 0, 5) dbLoadRecords("NDBadPixel.template", "P=21EIG1:, R=BadPix1:, PORT=BADPIX1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=EIG") set_requestfile_path("./") set_requestfile_path("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/db") set_requestfile_path("/opt/epics/synApps-R6-2-1/support/areaDetector-R3-13/ADCore/iocBoot") set_requestfile_path("/opt/epics/synApps-R6-2-1/support/autosave-R5-11/db") set_savefile_path("./autosave") set_pass0_restoreFile("auto_settings.sav") set_pass1_restoreFile("auto_settings.sav") save_restoreSet_status_prefix("21EIG1:") dbLoadRecords("/opt/epics/synApps-R6-2-1/support/autosave-R5-11/db/save_restoreStatus.db", "P=21EIG1:") dbLoadRecords("/opt/epics/synApps-R6-2-1/support/autosave-R5-11/db/configMenu.db", "P=21EIG1:, CONFIG=ADAutoSave") # Load NDPluginPva plugin NDPvaConfigure("PVA1", 20, 0, "EIG", 0, 21EIG1:Pva1:Image, 0, 0, 0) dbLoadRecords("NDPva.template", "P=21EIG1:,R=Pva1:, PORT=PVA1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") #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)") #set_requestfile_path("$(FFMPEGSERVER)/db") # 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)/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)/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)/db") # Optional: load scan records #dbLoadRecords("$(SSCAN)/db/scan.db", "P=$(PREFIX),MAXPTS1=2000,MAXPTS2=200,MAXPTS3=20,MAXPTS4=10,MAXPTSH=10") #set_requestfile_path("$(SSCAN)/db") # Optional: load sseq record for acquisition sequence #dbLoadRecords("$(CALC)/db/sseqRecord.db", "P=$(PREFIX), S=AcquireSequence") #set_requestfile_path("$(CALC)/db") # Optional: load devIocStats records (requires DEVIOCSTATS module) #dbLoadRecords("$(DEVIOCSTATS)/db/iocAdminSoft.db", "IOC=$(PREFIX)") # Optional: load alive record (requires ALIVE module) #dbLoadRecords("$(ALIVE)/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-R6-2-1/support/areaDetector-R3-13/ADEiger/iocs/eigerIOC/../../eigerApp/Db") # RH: to remove error of "unable to open file sseq_settings.req. Exiting" # triggered by "auto_settings.req" -> "commonPlugin_settings.req" -> "NDStats_settings.req" # -> "sseq_settings.req". https://epics.anl.gov/tech-talk/2020/msg00305.php set_requestfile_path("/opt/epics/synApps-R6-2-1/support/calc-R3-7-5/calcApp/Db") iocInit() Starting iocInit ############################################################################ ## EPICS R7.0.8 ## Rev. 2024-04-05T14:18-0500 ## Rev. Date build date/time: ############################################################################ 2024/06/25 12:54:49.891 asynPortDriver:drvUserCreate: addr=0, cannot find parameter DCU_BUF_FREE 21EIG1:cam1:DCUBufferFree_RBV devAsynFloat64::initCommon drvUserCreate 2024/06/25 12:54:49.900 asynPortDriver:drvUserCreate: addr=0, cannot find parameter CLEAR 21EIG1:cam1:FWClear devAsynInt32::initCommon drvUserCreate recGblRecordError: ao: init_record Error (514,11) PV: 21EIG1:cam1:FWClear 2024/06/25 12:54:49.943 asynPortDriver:drvUserCreate: addr=0, cannot find parameter LINK_0 21EIG1:cam1:Link0_RBV devAsynInt32::initCommon drvUserCreate 2024/06/25 12:54:49.943 asynPortDriver:drvUserCreate: addr=0, cannot find parameter LINK_1 21EIG1:cam1:Link1_RBV devAsynInt32::initCommon drvUserCreate 2024/06/25 12:54:49.943 asynPortDriver:drvUserCreate: addr=0, cannot find parameter LINK_2 21EIG1:cam1:Link2_RBV devAsynInt32::initCommon drvUserCreate 2024/06/25 12:54:49.943 asynPortDriver:drvUserCreate: addr=0, cannot find parameter LINK_3 21EIG1:cam1:Link3_RBV devAsynInt32::initCommon drvUserCreate iocRun: All initialization complete # Avoid deluge of messages when debugging #dbpf $(PREFIX)cam1:PoolUsedMem.SCAN Passive # save things every thirty seconds create_monitor_set("auto_settings.req", 30, "P=21EIG1:") epics> auto_settings.sav: 2372 of 2372 PV's connected
| ||||||||||||||
ANJ, 11 Sep 2024 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |