![]() |
![]() ![]()
Experimental Physics and
| ||||||||||||||||
|
Hi Mark, I tried (a) iocEiger1 using "eiger2.template", (b) iocEiger2, both have probably same IOC startup errors: cannot find parameters of: HV_RESET_TIME, THRESHOLD2, TRIGGER_START_DELAY, HV_RESET_TIME, THRESHOLD2, TRIGGER_START_DELAY, THRESHOLD1_ENABLE, THRESHOLD2_ENABLE, THRESHOLD_DIFF_ENABLE, HV_RESET, THRESHOLD1_ENABLE, THRESHOLD2_ENABLE, THRESHOLD_DIFF_ENABLE, EXT_GATE_MODE, EXT_GATE_MODE, HV_STATE Wondering if that is because these parameters are not available in Eiger1 hardware (I can check it tomorrow)? If that is the case, should we just remove these records from the template file (and to modify the medm adl file)? (Or maybe roll back to 1.6.0 for now?) Thank you, Rong ######## iocEiger2 IOC startup printout for eiger1 firmware release 2024.1 ####### /opt/epics/synApps/support/areaDetector-R3-13/ADEiger/iocs/eigerIOC/iocBoot/iocEiger2$ ./st_9M.cmd #!../../bin/linux-x86_64/eigerDetectorApp < envPaths epicsEnvSet("IOC","iocEiger2") 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", "13EIG2:") epicsEnvSet("PREFIX", "21EIG2:") epicsEnvSet("PORT", "EIG") epicsEnvSet("QSIZE", "20") epicsEnvSet("XSIZE", "3110") epicsEnvSet("YSIZE", "3269") epicsEnvSet("NCHANS", "2048") epicsEnvSet("CBUFFS", "500") # This is an Eiger2 500K #epicsEnvSet("EIGERIP", "10.54.160.13") epicsEnvSet("EIGERIP", "164.54.252.45") 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/eiger2.template", "P=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,R=ROIStat1: ,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG2:,R=ROIStat1:1:,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG2:,R=ROIStat1:2:,PORT=ROISTAT1,ADDR=1,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG2:,R=ROIStat1:3:,PORT=ROISTAT1,ADDR=2,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG2:,R=ROIStat1:4:,PORT=ROISTAT1,ADDR=3,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG2:,R=ROIStat1:5:,PORT=ROISTAT1,ADDR=4,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG2:,R=ROIStat1:6:,PORT=ROISTAT1,ADDR=5,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG2:,R=ROIStat1:7:,PORT=ROISTAT1,ADDR=6,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDROIStatN.template", "P=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,R=Gather1:, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG2:,R=Gather1:, N=1, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG2:,R=Gather1:, N=2, PORT=GATHER1,ADDR=1,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG2:,R=Gather1:, N=3, PORT=GATHER1,ADDR=2,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG2:,R=Gather1:, N=4, PORT=GATHER1,ADDR=3,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG2:,R=Gather1:, N=5, PORT=GATHER1,ADDR=4,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG2:,R=Gather1:, N=6, PORT=GATHER1,ADDR=5,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG2:,R=Gather1:, N=7, PORT=GATHER1,ADDR=6,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDGatherN.template", "P=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,R=Over1:, PORT=OVER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=EIG") dbLoadRecords("NDOverlayN.template","P=21EIG2:,R=Over1:1:,NAME=ROI1, SHAPE=1,O=Over1:,XPOS=21EIG2:ROI1:MinX_RBV,YPOS=21EIG2:ROI1:MinY_RBV,XSIZE=21EIG2:ROI1:SizeX_RBV,YSIZE=21EIG2:ROI1:SizeY_RBV,PORT=OVER1,ADDR=0,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21EIG2:,R=Over1:2:,NAME=ROI2, SHAPE=1,O=Over1:,XPOS=21EIG2:ROI2:MinX_RBV,YPOS=21EIG2:ROI2:MinY_RBV,XSIZE=21EIG2:ROI2:SizeX_RBV,YSIZE=21EIG2:ROI2:SizeY_RBV,PORT=OVER1,ADDR=1,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21EIG2:,R=Over1:3:,NAME=ROI3, SHAPE=1,O=Over1:,XPOS=21EIG2:ROI3:MinX_RBV,YPOS=21EIG2:ROI3:MinY_RBV,XSIZE=21EIG2:ROI3:SizeX_RBV,YSIZE=21EIG2:ROI3:SizeY_RBV,PORT=OVER1,ADDR=2,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21EIG2:,R=Over1:4:,NAME=ROI4, SHAPE=1,O=Over1:,XPOS=21EIG2:ROI4:MinX_RBV,YPOS=21EIG2:ROI4:MinY_RBV,XSIZE=21EIG2:ROI4:SizeX_RBV,YSIZE=21EIG2:ROI4:SizeY_RBV,PORT=OVER1,ADDR=3,TIMEOUT=1") dbLoadRecords("NDOverlayN.template","P=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,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=21EIG2:,R=Attr1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048,NDARRAY_PORT=EIG") dbLoadRecords("NDAttributeN.template", "P=21EIG2:,R=Attr1:1:, PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG2:,R=Attr1:2:, PORT=ATTR1,ADDR=1,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG2:,R=Attr1:3:, PORT=ATTR1,ADDR=2,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG2:,R=Attr1:4:, PORT=ATTR1,ADDR=3,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG2:,R=Attr1:5:, PORT=ATTR1,ADDR=4,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG2:,R=Attr1:6:, PORT=ATTR1,ADDR=5,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG2:,R=Attr1:7:, PORT=ATTR1,ADDR=6,TIMEOUT=1,NCHANS=2048") dbLoadRecords("NDAttributeN.template", "P=21EIG2:,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=21EIG2:,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=21EIG2:, 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=21EIG2:, 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=21EIG2:, 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=21EIG2:, 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("21EIG2:") dbLoadRecords("/opt/epics/synApps-R6-2-1/support/autosave-R5-11/db/save_restoreStatus.db", "P=21EIG2:") dbLoadRecords("/opt/epics/synApps-R6-2-1/support/autosave-R5-11/db/configMenu.db", "P=21EIG2:, CONFIG=ADAutoSave") # Load NDPluginPva plugin NDPvaConfigure("PVA1", 20, 0, "EIG", 0, 21EIG2:Pva1:Image, 0, 0, 0) dbLoadRecords("NDPva.template", "P=21EIG2:,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: remove error of "unable to open file sseq_settings.req. Exiting" # trigger 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 22:33:40.431 asynPortDriver:drvUserCreate: addr=0, cannot find parameter HV_RESET_TIME 21EIG2:cam1:HVResetTime_RBV devAsynFloat64::initCommon drvUserCreate 2024/06/25 22:33:40.431 asynPortDriver:drvUserCreate: addr=0, cannot find parameter THRESHOLD2 21EIG2:cam1:Threshold2Energy_RBV devAsynFloat64::initCommon drvUserCreate 2024/06/25 22:33:40.431 asynPortDriver:drvUserCreate: addr=0, cannot find parameter TRIGGER_START_DELAY 21EIG2:cam1:TriggerStartDelay_RBV devAsynFloat64::initCommon drvUserCreate 2024/06/25 22:33:40.435 asynPortDriver:drvUserCreate: addr=0, cannot find parameter HV_RESET_TIME 21EIG2:cam1:HVResetTime devAsynFloat64::initCommon drvUserCreate recGblRecordError: ao: init_record Error (514,11) PV: 21EIG2:cam1:HVResetTime 2024/06/25 22:33:40.435 asynPortDriver:drvUserCreate: addr=0, cannot find parameter THRESHOLD2 21EIG2:cam1:Threshold2Energy devAsynFloat64::initCommon drvUserCreate recGblRecordError: ao: init_record Error (514,11) PV: 21EIG2:cam1:Threshold2Energy 2024/06/25 22:33:40.435 asynPortDriver:drvUserCreate: addr=0, cannot find parameter TRIGGER_START_DELAY 21EIG2:cam1:TriggerStartDelay devAsynFloat64::initCommon drvUserCreate recGblRecordError: ao: init_record Error (514,11) PV: 21EIG2:cam1:TriggerStartDelay 2024/06/25 22:33:40.488 asynPortDriver:drvUserCreate: addr=0, cannot find parameter THRESHOLD1_ENABLE 21EIG2:cam1:Threshold1Enable_RBV devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.488 asynPortDriver:drvUserCreate: addr=0, cannot find parameter THRESHOLD2_ENABLE 21EIG2:cam1:Threshold2Enable_RBV devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.488 asynPortDriver:drvUserCreate: addr=0, cannot find parameter THRESHOLD_DIFF_ENABLE 21EIG2:cam1:ThresholdDiffEnable_RBV devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.492 asynPortDriver:drvUserCreate: addr=0, cannot find parameter HV_RESET 21EIG2:cam1:HVReset devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.492 asynPortDriver:drvUserCreate: addr=0, cannot find parameter THRESHOLD1_ENABLE 21EIG2:cam1:Threshold1Enable devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.492 asynPortDriver:drvUserCreate: addr=0, cannot find parameter THRESHOLD2_ENABLE 21EIG2:cam1:Threshold2Enable devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.492 asynPortDriver:drvUserCreate: addr=0, cannot find parameter THRESHOLD_DIFF_ENABLE 21EIG2:cam1:ThresholdDiffEnable devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.541 asynPortDriver:drvUserCreate: addr=0, cannot find parameter EXT_GATE_MODE 21EIG2:cam1:ExtGateMode_RBV devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.542 asynPortDriver:drvUserCreate: addr=0, cannot find parameter EXT_GATE_MODE 21EIG2:cam1:ExtGateMode devAsynInt32::initCommon drvUserCreate 2024/06/25 22:33:40.557 asynPortDriver:drvUserCreate: addr=0, cannot find parameter HV_STATE 21EIG2:cam1:HVState_RBV devAsynOctet::initDrvUser drvUserCreate failed 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=21EIG2:") epics> auto_settings.sav: 2380 of 2380 PV's connected On Tue, Jun 25, 2024 at 9:22 PM Mark Rivers <rivers at cars.uchicago.edu> wrote:
| ||||||||||||||||
ANJ, 11 Sep 2024 |
![]() · Download · Search · IRMIS · Talk · Documents · Links · Licensing · |