#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)/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=164.54.100.11") # 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) #- INSTANCE - Used for Camera Port Name and detector pv name #- XSIZE - Image Width #- YSIZE - Image Height #- TYPE - Image Datatype, default: Int8 epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(EPICS_DB_INCLUDE_PATH):$(ADCORE)/db:$(ADSIMDETECTOR)/db") # Create a simDetector driver, need to determine index from data type iocshRun('simDetectorConfig("$(INSTANCE)", $(XSIZE), $(YSIZE), $($(TYPE=Int8)_VAL), 50, 0)', "Int8_VAL=0, UInt8_VAL=1, Int16_VAL=2, UInt16_VAL=3, Int32_VAL=4, UInt32_VAL=5, Float32_VAL=6, Float64_VAL=7") dbLoadRecords("$(ADSIMDETECTOR)/db/simDetector.template","P=$(PREFIX),R=$(INSTANCE):,PORT=$(INSTANCE),ADDR=0,TIMEOUT=1") # Create a standard arrays plugin, set it to get data from first simDetector driver. NDStdArraysConfigure("$(INSTANCE)Image", 3, 0, "$(INSTANCE)", 0, 2000000) # Need to determine certain values from input parameters iocshRun('epicsEnvSet("__FTVL", "$($(TYPE=Int8)_VAL)")', "Int8_VAL=UCHAR, UInt8_VAL=UCHAR, Int16_VAL=SHORT, UInt16_VAL=SHORT, Int32_VAL=LONG, UInt32_VAL=LONG, Float32_VAL=DOUBLE, Float64_VAL=DOUBLE") iocshRun('epicsEnvSet("__TYPE", "$($(TYPE=Int8)_VAL)")', "Int8_VAL=Int8, UInt8_VAL=Int8, Int16_VAL=Int16, UInt16_VAL=Int16, Int32_VAL=Int32, UInt32_VAL=Int32, Float32_VAL=Float32, Float64_VAL=Float64") luaCmd("epicsEnvSet('__SIZE', tostring((XSIZE*YSIZE)|0))", "XSIZE=$(XSIZE), YSIZE=$(YSIZE)") dbLoadRecords("$(ADCORE)/ADApp/Db/NDStdArrays.template", "P=$(PREFIX),R=image1:,PORT=$(INSTANCE)Image,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(INSTANCE),TYPE=$(__TYPE),FTVL=$(__FTVL),NELEMENTS=$(__SIZE)") epicsEnvUnset("__FTVL") epicsEnvUnset("__TYPE") epicsEnvUnset("__SIZE") #! iocshLoad("$(ADCORE)/iocBoot/commonPlugins.cmd", "PREFIX=$(PREFIX), PORT=$(INSTANCE), QSIZE=20, XSIZE=$(XSIZE), YSIZE=$(YSIZE), NCHANS=1024, CBUFFS=20, MAX_THREADS=5") ############################################################################### iocInit ############################################################################### # write all the PV names to a local file dbl > dbl-all.txt # Diagnostic: CA links in all records dbcar(0,1) # print the time our boot was finished date cd .. exit