EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: ADSpinnaker Grasshopper 3 NIR crashes on acquire
From: Benjamin Stripe via Tech-talk <tech-talk at aps.anl.gov>
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 14 Sep 2023 08:25:55 -0700
Hi Mark,

Thanks for the response. I don't believe memory should be an issue. On the other hand I can't seem to set that parameter to 1 either. Every value I try bellow 10 defaults to 10 which is of course > than the 1 that is making the error.


Setting to 1
#                   size_t maxMemory, int priority, int stackSize)
ADSpinnakerConfig("FLIR10x", 22246598,1,0,0,0)
2023/09/14 15:09:14.132 ADSpinnaker::connectCamera exception Spinnaker: GenICam::OutOfRangeException= Value = 10 must be equal or smaller than Max = 1. : OutOfRangeException thrown in node 'StreamBufferCountManual' while calling 'StreamBufferCountManual.SetValue()' (file 'IntegerT.h', line 79) [-2002]
2023/09/14 15:09:14.132 ADSpinnaker:ADSpinnaker:  camera connection failed (3)

Number of cameras detected: 1
Camera 0
Device Vendor Name   (DeviceVendorName):Point Grey Research
Device Model Name (DeviceModelName):Grasshopper3 GS3-U3-41C6NIR
Device Serial Number (DeviceSerialNumber):22246598
Device Version (DeviceVersion):FW:v2.23.3.02 FPGA:v2.02
Device Type (DeviceType):USB3Vision

Report for camera in use:
Feature list
Port: FLIR10x
  Timestamp: <undefined>
  Input EOS[0]:
  Output EOS[0]:
Parameter list 0
Number of parameters is: 103
Parameter 0 type=string, name=PORT_NAME_SELF, value=FLIR10x, status=0
Parameter 1 type=string, name=ADCORE_VERSION, value=3.12.1, status=0
Parameter 2 type=string, name=DRIVER_VERSION, value=3.12.1, status=0
Parameter 3 type=string, name=MANUFACTURER, value is undefined

setting to 3

# ADSpinnakerConfig(const char *portName, const char *cameraId, int numSPBuffers,
#                   size_t maxMemory, int priority, int stackSize)
ADSpinnakerConfig("FLIR10x", 22246598,3,0,0,0)
2023/09/14 15:21:45.609 ADSpinnaker::connectCamera exception Spinnaker: GenICam::OutOfRangeException= Value = 10 must be equal or smaller than Max = 1. : OutOfRangeException thrown in node 'StreamBufferCountManual' while calling 'StreamBufferCountManual.SetValue()' (file 'IntegerT.h', line 79) [-2002]
2023/09/14 15:21:45.609 ADSpinnaker:ADSpinnaker:  camera connection failed (3)

Number of cameras detected: 1
Camera 0
Device Vendor Name   (DeviceVendorName):Point Grey Research
Device Model Name (DeviceModelName):Grasshopper3 GS3-U3-41C6NIR
Device Serial Number (DeviceSerialNumber):22246598
Device Version (DeviceVersion):FW:v2.23.3.02 FPGA:v2.02
Device Type (DeviceType):USB3Vision

Report for camera in use:
Feature list
Port: FLIR10x
  Timestamp: <undefined>
  Input EOS[0]:
  Output EOS[0]:
Parameter list 0
Number of parameters is: 103
Parameter 0 type=string, name=PORT_NAME_SELF, value=FLIR10x, status=0
Parameter 1 type=string, name=ADCORE_VERSION, value=3.12.1, status=0
Parameter 2 type=string, name=DRIVER_VERSION, value=3.12.1, status=0
Parameter 3 type=string, name=MANUFACTURER, value is undefined
Parameter 4 type=string, name=MODEL, value is undefined
Parameter 5 type=string, name=SERIAL_NUMBER, value is undefined


setting to 13

# ADSpinnakerConfig(const char *portName, const char *cameraId, int numSPBuffers,
#                   size_t maxMemory, int priority, int stackSize)
ADSpinnakerConfig("FLIR10x", 22246598,13,0,0,0)
2023/09/14 15:23:21.421 ADSpinnaker::connectCamera exception Spinnaker: GenICam::OutOfRangeException= Value = 13 must be equal or smaller than Max = 1. : OutOfRangeException thrown in node 'StreamBufferCountManual' while calling 'StreamBufferCountManual.SetValue()' (file 'IntegerT.h', line 79) [-2002]
2023/09/14 15:23:21.421 ADSpinnaker:ADSpinnaker:  camera connection failed (3)

Number of cameras detected: 1
Camera 0
Device Vendor Name   (DeviceVendorName):Point Grey Research
Device Model Name (DeviceModelName):Grasshopper3 GS3-U3-41C6NIR
Device Serial Number (DeviceSerialNumber):22246598
Device Version (DeviceVersion):FW:v2.23.3.02 FPGA:v2.02
Device Type (DeviceType):USB3Vision

Report for camera in use:
Feature list
Port: FLIR10x
  Timestamp: <undefined>
  Input EOS[0]:
  Output EOS[0]:
Parameter list 0
Number of parameters is: 103
Parameter 0 type=string, name=PORT_NAME_SELF, value=FLIR10x, status=0
Parameter 1 type=string, name=ADCORE_VERSION, value=3.12.1, status=0
Parameter 2 type=string, name=DRIVER_VERSION, value=3.12.1, status=0
Parameter 3 type=string, name=MANUFACTURER, value is undefined
Parameter 4 type=string, name=MODEL, value is undefined


On Thu, Sep 14, 2023 at 5:16 AM Mark Rivers <rivers at cars.uchicago.edu> wrote:
ADSpinnakerConfig failed:

ADSpinnakerConfig("FLIR10x", 22246598)
2023/09/14 01:27:04.906 ADSpinnaker::connectCamera exception Spinnaker: GenICam::OutOfRangeException= Value = 100 must be equal or smaller than Max = 1. : OutOfRangeException thrown in node 'StreamBufferCountManual' while calling 'StreamBufferCountManual.SetValue()' (file 'IntegerT.h', line 79) [-2002]
2023/09/14 01:27:04.906 ADSpinnaker:ADSpinnaker:  camera connection failed (3)

You omitted the numSPBuffers argument to that function, which causes it to default to 100. Normally that is OK. But in this case it is reporting that the maximum allowed value is 1. That could be something specific to this model, or because your computer has too little memory.  You need to add that argument with a value of 1.

Mark

Sent from my iPhone

On Sep 13, 2023, at 11:12 PM, Benjamin Stripe via Tech-talk <tech-talk at aps.anl.gov> wrote:


I'm trying to get a FLIR/Point grey Grasshopper 3 working in ADSpinnaker. For the most part it is working. I can start the IOC. It connects to the camera. I can set exposure time, change auto exposure on and off, even access all the features in the camera specific features adl screens. The problem is if you actually press acquire I get a segmentation Fault.

Running : Ubuntu 22.04
Latest assemble synApps script
Change withPva = NO
and Areadetector to R3-12-1
Otherwise compiled just fine for the most part

Extracted the Camera xml using aravis.
Got the template file and generated db and adl.

There are a couple errors with parameter values being undefined when the IOC starts and I have a traceback from gdb. I'll paste the backtrace  first as it is shorter. Then the IOC boot.

Any ideas on what I am doing wrong would be greatly appreciated!


traceback gdb

Thread 9 "FLIR10x" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff17e8640 (LWP 1438)]
___pthread_mutex_lock (mutex=0x0) at ./nptl/pthread_mutex_lock.c:80
80 ./nptl/pthread_mutex_lock.c: No such file or directory.
(gdb) backtrace
#0  ___pthread_mutex_lock (mutex=0x0) at ./nptl/pthread_mutex_lock.c:80
#1  0x00007ffff7baf9ed in epicsEventTrigger ()
   from /opt/epics/base-3.15.9/lib/linux-x86_64/libCom.so.3.15.9
#2  0x00007ffff7ba80dd in epicsEventMustTrigger ()
   from /opt/epics/base-3.15.9/lib/linux-x86_64/libCom.so.3.15.9
#3  0x00007ffff7fb1327 in ADSpinnaker::startCapture() ()
   from /opt/epics/synApps/support/areaDetector-R3-12-1/ADSpinnaker/lib/linux-x86_64/libADSpinnaker.so
#4  0x00007ffff79283c5 in ADGenICam::writeInt32(asynUser*, int) ()
   from /opt/epics/synApps/support/areaDetector-R3-12-1/ADGenICam/lib/linux-x86_64/libADGenICam.so
#5  0x00007ffff7dc0c71 in writeInt32 ()
   from /opt/epics/synApps/support/asyn-R4-44-2/lib/linux-x86_64/libasyn.so
#6  0x00007ffff7dd5f49 in processCallbackOutput ()
   from /opt/epics/synApps/support/asyn-R4-44-2/lib/linux-x86_64/libasyn.so
#7  0x00007ffff7da07dc in portThread ()
   from /opt/epics/synApps/support/asyn-R4-44-2/lib/linux-x86_64/libasyn.so
#8  0x00007ffff7bacfd4 in start_routine ()
   from /opt/epics/base-3.15.9/lib/linux-x86_64/libCom.so.3.15.9
#9  0x00007ffff79c6b43 in start_thread (arg=<optimized out>)
    at ./nptl/pthread_create.c:442
#10 0x00007ffff7a57bb4 in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
(gdb)
      Wed Sep 13 18:15:56 PDT 2023



IOC Boot


root@mfg-02:/opt/epics/synApps/support/areaDetector-R3-12-1/ADSpinnaker/iocs/spi
nnakerIOC/iocBoot/iocSpinnaker# ../../bin/linux-x86_64/spinnakerApp st.cmd
< envPaths
epicsEnvSet("IOC","iocSpinnaker")
epicsEnvSet("TOP","/opt/epics/synApps/support/areaDetector-R3-12-1/ADSpinnaker/iocs/spinnakerIOC")
epicsEnvSet("ADSPINNAKER","/opt/epics/synApps/support/areaDetector-R3-12-1/ADSpinnaker/iocs/spinnakerIOC/../..")
epicsEnvSet("SUPPORT","/opt/epics/synApps/support")
epicsEnvSet("ASYN","/opt/epics/synApps/support/asyn-R4-44-2")
epicsEnvSet("AREA_DETECTOR","/opt/epics/synApps/support/areaDetector-R3-12-1")
epicsEnvSet("ADSUPPORT","/opt/epics/synApps/support/areaDetector-R3-12-1/ADSupport")
epicsEnvSet("ADCORE","/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore")
epicsEnvSet("AUTOSAVE","/opt/epics/synApps/support/autosave-master")
epicsEnvSet("BUSY","/opt/epics/synApps/support/busy-R1-7-4")
epicsEnvSet("CALC","/opt/epics/synApps/support/calc-R3-7-5")
epicsEnvSet("SNCSEQ","/opt/epics/synApps/support/sequencer-mirror-R2-2-9")
epicsEnvSet("SSCAN","/opt/epics/synApps/support/sscan-master")
epicsEnvSet("DEVIOCSTATS","/opt/epics/synApps/support/iocStats-master")
epicsEnvSet("EPICS_BASE","/opt/epics/base")
epicsEnvSet("ADGENICAM","/opt/epics/synApps/support/areaDetector-R3-12-1/ADGenICam")
errlogInit(20000)
dbLoadDatabase("/opt/epics/synApps/support/areaDetector-R3-12-1/ADSpinnaker/iocs/spinnakerIOC/dbd/spinnakerApp.dbd")
spinnakerApp_registerRecordDeviceDriver(pdbbase)
# Use this line for a specific camera by serial number, in this case a BlackFly GigE
epicsEnvSet("CAMERA_ID", "22246598")
#epicsEnvSet("CAMERA_ID", "0")
epicsEnvSet("GENICAM_DB_FILE", "/opt/epics/synApps/support/areaDetector-R3-12-1/ADGenICam/db/Grasshopper3_GS3_U3_41C6NIR.template")
< st.cmd.base
# Prefix for all records
epicsEnvSet("PREFIX", "FLIR10x:")
# The port name for the detector
epicsEnvSet("PORT",   "FLIR10x")
# Really large queue so we can stream to disk at full camera speed
epicsEnvSet("QSIZE",  "2000")  
# The maximim image width; used for row profiles in the NDPluginStats plugin
epicsEnvSet("XSIZE",  "2048")
# The maximim image height; used for column profiles in the NDPluginStats plugin
epicsEnvSet("YSIZE",  "2048")
# 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
# This is for Windows
#epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db;$(ADGENICAM)/db;$(ADSPINNAKER)/db")
# This is for Linux
epicsEnvSet("EPICS_DB_INCLUDE_PATH", "/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore/db:/opt/epics/synApps/support/areaDetector-R3-12-1/ADGenICam/db:/opt/epics/synApps/support/areaDetector-R3-12-1/ADSpinnaker/iocs/spinnakerIOC/../../db")
# Define NELEMENTS to be enough for a 2048x2048x1 (mono) image
epicsEnvSet("NELEMENTS", "4194304")
# ADSpinnakerConfig(const char *portName, const char *cameraId, int numSPBuffers,
#                   size_t maxMemory, int priority, int stackSize)
ADSpinnakerConfig("FLIR10x", 22246598)
2023/09/14 01:27:04.906 ADSpinnaker::connectCamera exception Spinnaker: GenICam::OutOfRangeException= Value = 100 must be equal or smaller than Max = 1. : OutOfRangeException thrown in node 'StreamBufferCountManual' while calling 'StreamBufferCountManual.SetValue()' (file 'IntegerT.h', line 79) [-2002]
2023/09/14 01:27:04.906 ADSpinnaker:ADSpinnaker:  camera connection failed (3)

Number of cameras detected: 1
Camera 0
Device Vendor Name   (DeviceVendorName):Point Grey Research
Device Model Name (DeviceModelName):Grasshopper3 GS3-U3-41C6NIR
Device Serial Number (DeviceSerialNumber):22246598
Device Version (DeviceVersion):FW:v2.23.3.02 FPGA:v2.02
Device Type (DeviceType):USB3Vision

Report for camera in use:
Feature list
Port: FLIR10x
  Timestamp: <undefined>
  Input EOS[0]:
  Output EOS[0]:
Parameter list 0
Number of parameters is: 103
Parameter 0 type=string, name=PORT_NAME_SELF, value=FLIR10x, status=0
Parameter 1 type=string, name=ADCORE_VERSION, value=3.12.1, status=0
Parameter 2 type=string, name=DRIVER_VERSION, value=3.12.1, status=0
Parameter 3 type=string, name=MANUFACTURER, value is undefined
Parameter 4 type=string, name=MODEL, value is undefined
Parameter 5 type=string, name=SERIAL_NUMBER, value is undefined
Parameter 6 type=string, name=SDK_VERSION, value is undefined
Parameter 7 type=string, name=FIRMWARE_VERSION, value is undefined
Parameter 8 type=asynInt32, name=ACQUIRE, value=0, status=0
Parameter 9 type=asynInt32, name=ACQUIRE_BUSY, value=0, status=0
Parameter 10 type=asynInt32, name=WAIT_FOR_PLUGINS, value is undefined
Parameter 11 type=asynInt32, name=ARRAY_SIZE_X, value=0, status=0
Parameter 12 type=asynInt32, name=ARRAY_SIZE_Y, value=0, status=0
Parameter 13 type=asynInt32, name=ARRAY_SIZE_Z, value=0, status=0
Parameter 14 type=asynInt32, name=ARRAY_SIZE, value=0, status=0
Parameter 15 type=asynInt32, name=ARRAY_NDIMENSIONS, value=0, status=0
Parameter 16 type=asynInt32, name=ARRAY_DIMENSIONS, value is undefined
Parameter 17 type=asynInt32, name=DATA_TYPE, value=1, status=0
Parameter 18 type=asynInt32, name=COLOR_MODE, value=0, status=0
Parameter 19 type=asynInt32, name=UNIQUE_ID, value=0, status=0
Parameter 20 type=asynFloat64, name=TIME_STAMP, value=0, status=0
Parameter 21 type=asynInt32, name=EPICS_TS_SEC, value=0, status=0
Parameter 22 type=asynInt32, name=EPICS_TS_NSEC, value=0, status=0
Parameter 23 type=asynInt32, name=BAYER_PATTERN, value=0, status=0
Parameter 24 type=string, name=CODEC, value is undefined
Parameter 25 type=asynInt32, name=COMPRESSED_SIZE, value is undefined
Parameter 26 type=asynInt32, name=ARRAY_COUNTER, value=0, status=0
Parameter 27 type=string, name=FILE_PATH, value=, status=0
Parameter 28 type=asynInt32, name=FILE_PATH_EXISTS, value is undefined
Parameter 29 type=string, name=FILE_NAME, value=, status=0
Parameter 30 type=asynInt32, name=FILE_NUMBER, value=0, status=0
Parameter 31 type=string, name=FILE_TEMPLATE, value=%s%s_%3.3d.dat, status=0
Parameter 32 type=asynInt32, name=AUTO_INCREMENT, value=0, status=0
Parameter 33 type=string, name=FULL_FILE_NAME, value is undefined
Parameter 34 type=asynInt32, name=FILE_FORMAT, value is undefined
Parameter 35 type=asynInt32, name=AUTO_SAVE, value is undefined
Parameter 36 type=asynInt32, name=WRITE_FILE, value=0, status=0
Parameter 37 type=asynInt32, name=READ_FILE, value=0, status=0
Parameter 38 type=asynInt32, name=WRITE_MODE, value is undefined
Parameter 39 type=asynInt32, name=WRITE_STATUS, value=0, status=0
Parameter 40 type=string, name=WRITE_MESSAGE, value=, status=0
Parameter 41 type=asynInt32, name=NUM_CAPTURE, value is undefined
Parameter 42 type=asynInt32, name=NUM_CAPTURED, value=0, status=0
Parameter 43 type=asynInt32, name=CAPTURE, value=0, status=0
Parameter 44 type=asynInt32, name=DELETE_DRIVER_FILE, value is undefined
Parameter 45 type=asynInt32, name=FILE_LAZY_OPEN, value is undefined
Parameter 46 type=asynInt32, name=CREATE_DIR, value=0, status=0
Parameter 47 type=string, name=FILE_TEMP_SUFFIX, value=, status=0
Parameter 48 type=string, name=ND_ATTRIBUTES_FILE, value=, status=0
Parameter 49 type=asynInt32, name=ND_ATTRIBUTES_STATUS, value=1, status=0
Parameter 50 type=string, name=ND_ATTRIBUTES_MACROS, value=, status=0
Parameter 51 is undefined, name=ARRAY_DATA
Parameter 52 type=asynInt32, name=ARRAY_CALLBACKS, value is undefined
Parameter 53 type=asynInt32, name=POOL_MAX_BUFFERS, value is undefined
Parameter 54 type=asynInt32, name=POOL_ALLOC_BUFFERS, value=0, status=0
Parameter 55 type=asynInt32, name=POOL_FREE_BUFFERS, value=0, status=0
Parameter 56 type=asynFloat64, name=POOL_MAX_MEMORY, value=0, status=0
Parameter 57 type=asynFloat64, name=POOL_USED_MEMORY, value=0, status=0
Parameter 58 type=asynInt32, name=POOL_EMPTY_FREELIST, value is undefined
Parameter 59 type=asynInt32, name=NUM_QUEUED_ARRAYS, value=0, status=0
Parameter 60 type=asynFloat64, name=GAIN, value is undefined
Parameter 61 type=asynInt32, name=BIN_X, value is undefined
Parameter 62 type=asynInt32, name=BIN_Y, value is undefined
Parameter 63 type=asynInt32, name=MIN_X, value=0, status=0
Parameter 64 type=asynInt32, name=MIN_Y, value=0, status=0
Parameter 65 type=asynInt32, name=SIZE_X, value is undefined
Parameter 66 type=asynInt32, name=SIZE_Y, value is undefined
Parameter 67 type=asynInt32, name=MAX_SIZE_X, value=1, status=0
Parameter 68 type=asynInt32, name=MAX_SIZE_Y, value=1, status=0
Parameter 69 type=asynInt32, name=REVERSE_X, value is undefined
Parameter 70 type=asynInt32, name=REVERSE_Y, value is undefined
Parameter 71 type=asynInt32, name=FRAME_TYPE, value is undefined
Parameter 72 type=asynInt32, name=IMAGE_MODE, value is undefined
Parameter 73 type=asynInt32, name=NEXPOSURES, value is undefined
Parameter 74 type=asynInt32, name=NEXPOSURES_COUNTER, value=0, status=0
Parameter 75 type=asynInt32, name=NIMAGES, value is undefined
Parameter 76 type=asynInt32, name=NIMAGES_COUNTER, value=0, status=0
Parameter 77 type=asynFloat64, name=ACQ_TIME, value is undefined
Parameter 78 type=asynFloat64, name=ACQ_PERIOD, value is undefined
Parameter 79 type=asynFloat64, name=TIME_REMAINING, value=0, status=0
Parameter 80 type=asynInt32, name=STATUS, value=0, status=0
Parameter 81 type=asynInt32, name=TRIGGER_MODE, value is undefined
Parameter 82 type=asynInt32, name=SHUTTER_CONTROL, value is undefined
Parameter 83 type=asynInt32, name=SHUTTER_CONTROL_EPICS, value is undefined
Parameter 84 type=asynInt32, name=SHUTTER_STATUS, value=0, status=0
Parameter 85 type=asynInt32, name=SHUTTER_MODE, value is undefined
Parameter 86 type=asynFloat64, name=SHUTTER_OPEN_DELAY, value is undefined
Parameter 87 type=asynFloat64, name=SHUTTER_CLOSE_DELAY, value is undefined
Parameter 88 type=asynFloat64, name=TEMPERATURE, value is undefined
Parameter 89 type=asynFloat64, name=TEMPERATURE_ACTUAL, value is undefined
Parameter 90 type=asynInt32, name=READ_STATUS, value is undefined
Parameter 91 type=string, name=STATUS_MESSAGE, value=, status=0
Parameter 92 type=string, name=STRING_TO_SERVER, value=<not used by driver>, status=0
Parameter 93 type=string, name=STRING_FROM_SERVER, value=<not used by driver>, status=0
Parameter 94 type=asynFloat64, name=GC_FRAMERATE, value is undefined
Parameter 95 type=asynInt32, name=GC_FRAMERATE_ENABLE, value is undefined
Parameter 96 type=asynInt32, name=GC_TRIGGER_SOURCE, value is undefined
Parameter 97 type=asynInt32, name=GC_TRIGGER_OVERLAP, value is undefined
Parameter 98 type=asynInt32, name=GC_TRIGGER_SOFTWARE, value is undefined
Parameter 99 type=asynInt32, name=GC_EXPOSURE_MODE, value is undefined
Parameter 100 type=asynInt32, name=GC_EXPOSURE_AUTO, value is undefined
Parameter 101 type=asynInt32, name=GC_GAIN_AUTO, value is undefined
Parameter 102 type=asynInt32, name=GC_PIXEL_FORMAT, value is undefined
asynSetTraceIOMask(FLIR10x, 0, 2)
# Set ASYN_TRACE_WARNING and ASYN_TRACE_ERROR
#asynSetTraceMask($(PORT), 0, 0xff)
#asynSetTraceFile($(PORT), 0, "asynTrace.out")
#asynSetTraceInfoMask($(PORT), 0, 0xf)
# Main database.  This just loads and modifies ADBase.template
dbLoadRecords("/opt/epics/synApps/support/areaDetector-R3-12-1/ADSpinnaker/iocs/spinnakerIOC/../../db/spinnaker.template", "P=FLIR10x:,R=cam1:,PORT=FLIR10x")
# Load the autogenerated file of GenICam features
dbLoadRecords("/opt/epics/synApps/support/areaDetector-R3-12-1/ADGenICam/db/Grasshopper3_GS3_U3_41C6NIR.template", "P=FLIR10x:,R=cam1:,PORT=FLIR10x")
# Transport diagnostics
#dbLoadRecords("$(ADSPINNAKER)/db/spinnakerIntReadback.template", "P=$(PREFIX),R=cam1:,PORT=$(PORT),PROP=TransmitFailureCount,PN=SP_TRANSMIT_FAILURE_COUNT")
#dbLoadRecords("$(ADSPINNAKER)/db/spinnakerIntReadback.template", "P=$(PREFIX),R=cam1:,PORT=$(PORT),PROP=BufferUnderrunCount, PN=SP_BUFFER_UNDERRUN_COUNT")
#dbLoadRecords("$(ADSPINNAKER)/db/spinnakerIntReadback.template", "P=$(PREFIX),R=cam1:,PORT=$(PORT),PROP=FailedBufferCount,   PN=SP_FAILED_BUFFER_COUNT")
#dbLoadRecords("$(ADSPINNAKER)/db/spinnakerIntReadback.template", "P=$(PREFIX),R=cam1:,PORT=$(PORT),PROP=FailedPacketCount,   PN=SP_FAILED_PACKET_COUNT")
# Create a standard arrays plugin
NDStdArraysConfigure("Image1", 5, 0, "FLIR10x", 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-R3-12-1/ADCore/db/NDStdArrays.template", "P=FLIR10x:,R=image1:,PORT=Image1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x,TYPE=Int16,FTVL=SHORT,NELEMENTS=4194304")
# Load all other plugins using commonPlugins.cmd
< /opt/epics/synApps/support/areaDetector-R3-12-1/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, "FLIR10x", 0)
dbLoadRecords("NDFileNetCDF.template","P=FLIR10x:,R=netCDF1:,PORT=FileNetCDF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create a TIFF file saving plugin
NDFileTIFFConfigure("FileTIFF1", 2000, 0, "FLIR10x", 0)
dbLoadRecords("NDFileTIFF.template",  "P=FLIR10x:,R=TIFF1:,PORT=FileTIFF1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create a JPEG file saving plugin
NDFileJPEGConfigure("FileJPEG1", 2000, 0, "FLIR10x", 0)
dbLoadRecords("NDFileJPEG.template",  "P=FLIR10x:,R=JPEG1:,PORT=FileJPEG1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create a NeXus file saving plugin
NDFileNexusConfigure("FileNexus1", 2000, 0, "FLIR10x", 0)
dbLoadRecords("NDFileNexus.template", "P=FLIR10x:,R=Nexus1:,PORT=FileNexus1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create an HDF5 file saving plugin
NDFileHDF5Configure("FileHDF1", 2000, 0, "FLIR10x", 0)
dbLoadRecords("NDFileHDF5.template",  "P=FLIR10x:,R=HDF1:,PORT=FileHDF1,ADDR=0,TIMEOUT=1,XMLSIZE=2048,NDARRAY_PORT=FLIR10x")
# 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, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDROI.template",       "P=FLIR10x:,R=ROI1:,  PORT=ROI1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
NDROIConfigure("ROI2", 2000, 0, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDROI.template",       "P=FLIR10x:,R=ROI2:,  PORT=ROI2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
NDROIConfigure("ROI3", 2000, 0, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDROI.template",       "P=FLIR10x:,R=ROI3:,  PORT=ROI3,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
NDROIConfigure("ROI4", 2000, 0, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDROI.template",       "P=FLIR10x:,R=ROI4:,  PORT=ROI4,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create 8 ROIStat plugins
NDROIStatConfigure("ROISTAT1", 2000, 0, "FLIR10x", 0, 8, 0, 0, 0, 0, 5)
dbLoadRecords("NDROIStat.template",   "P=FLIR10x:,R=ROIStat1:  ,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x,NCHANS=2048")
dbLoadRecords("NDROIStatN.template",  "P=FLIR10x:,R=ROIStat1:1:,PORT=ROISTAT1,ADDR=0,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template",  "P=FLIR10x:,R=ROIStat1:2:,PORT=ROISTAT1,ADDR=1,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template",  "P=FLIR10x:,R=ROIStat1:3:,PORT=ROISTAT1,ADDR=2,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template",  "P=FLIR10x:,R=ROIStat1:4:,PORT=ROISTAT1,ADDR=3,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template",  "P=FLIR10x:,R=ROIStat1:5:,PORT=ROISTAT1,ADDR=4,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template",  "P=FLIR10x:,R=ROIStat1:6:,PORT=ROISTAT1,ADDR=5,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template",  "P=FLIR10x:,R=ROIStat1:7:,PORT=ROISTAT1,ADDR=6,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDROIStatN.template",  "P=FLIR10x:,R=ROIStat1:8:,PORT=ROISTAT1,ADDR=7,TIMEOUT=1,NCHANS=2048")
# Create a processing plugin
NDProcessConfigure("PROC1", 2000, 0, "FLIR10x", 0, 0, 0)
dbLoadRecords("NDProcess.template",   "P=FLIR10x:,R=Proc1:,  PORT=PROC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create a TIFF file plugin to read dark and flatfield images into the processing plugin
NDFileTIFFConfigure("PROC1TIFF", 2000, 0, "FLIR10x", 0)
dbLoadRecords("NDFileTIFF.template",  "P=FLIR10x:,R=Proc1:TIFF:,PORT=PROC1TIFF,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create a scatter plugin
NDScatterConfigure("SCATTER1", 2000, 0, "FLIR10x", 0, 0, 0)
dbLoadRecords("NDScatter.template",   "P=FLIR10x:,R=Scatter1:,  PORT=SCATTER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create a gather plugin with 8 ports
NDGatherConfigure("GATHER1", 2000, 0, 8, 0, 0)
dbLoadRecords("NDGather.template",   "P=FLIR10x:,R=Gather1:, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDGatherN.template",   "P=FLIR10x:,R=Gather1:, N=1, PORT=GATHER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDGatherN.template",   "P=FLIR10x:,R=Gather1:, N=2, PORT=GATHER1,ADDR=1,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDGatherN.template",   "P=FLIR10x:,R=Gather1:, N=3, PORT=GATHER1,ADDR=2,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDGatherN.template",   "P=FLIR10x:,R=Gather1:, N=4, PORT=GATHER1,ADDR=3,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDGatherN.template",   "P=FLIR10x:,R=Gather1:, N=5, PORT=GATHER1,ADDR=4,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDGatherN.template",   "P=FLIR10x:,R=Gather1:, N=6, PORT=GATHER1,ADDR=5,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDGatherN.template",   "P=FLIR10x:,R=Gather1:, N=7, PORT=GATHER1,ADDR=6,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDGatherN.template",   "P=FLIR10x:,R=Gather1:, N=8, PORT=GATHER1,ADDR=7,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create 5 statistics plugins
NDStatsConfigure("STATS1", 2000, 0, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDStats.template",     "P=FLIR10x:,R=Stats1:,  PORT=STATS1,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2048,YSIZE=2048,NCHANS=2048,NDARRAY_PORT=FLIR10x")
NDTimeSeriesConfigure("STATS1_TS", 2000, 0, "STATS1", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore/db/NDTimeSeries.template",  "P=FLIR10x:,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=FLIR10x:,R=Stats2:,  PORT=STATS2,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2048,YSIZE=2048,NCHANS=2048,NDARRAY_PORT=FLIR10x")
NDTimeSeriesConfigure("STATS2_TS", 2000, 0, "STATS2", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore/db/NDTimeSeries.template",  "P=FLIR10x:,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=FLIR10x:,R=Stats3:,  PORT=STATS3,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2048,YSIZE=2048,NCHANS=2048,NDARRAY_PORT=FLIR10x")
NDTimeSeriesConfigure("STATS3_TS", 2000, 0, "STATS3", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore/db/NDTimeSeries.template",  "P=FLIR10x:,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=FLIR10x:,R=Stats4:,  PORT=STATS4,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2048,YSIZE=2048,NCHANS=2048,NDARRAY_PORT=FLIR10x")
NDTimeSeriesConfigure("STATS4_TS", 2000, 0, "STATS4", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore/db/NDTimeSeries.template",  "P=FLIR10x:,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=FLIR10x:,R=Stats5:,  PORT=STATS5,ADDR=0,TIMEOUT=1,HIST_SIZE=256,XSIZE=2048,YSIZE=2048,NCHANS=2048,NDARRAY_PORT=FLIR10x")
NDTimeSeriesConfigure("STATS5_TS", 2000, 0, "STATS5", 1, 23)
dbLoadRecords("/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore/db/NDTimeSeries.template",  "P=FLIR10x:,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, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDTransform.template", "P=FLIR10x:,R=Trans1:,  PORT=TRANS1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create an overlay plugin with 8 overlays
NDOverlayConfigure("OVER1", 2000, 0, "FLIR10x", 0, 8, 0, 0, 0, 0, 5)
dbLoadRecords("NDOverlay.template", "P=FLIR10x:,R=Over1:, PORT=OVER1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDOverlayN.template","P=FLIR10x:,R=Over1:1:,NAME=ROI1,   SHAPE=1,O=Over1:,XPOS=FLIR10x:ROI1:MinX_RBV,YPOS=FLIR10x:ROI1:MinY_RBV,XSIZE=FLIR10x:ROI1:SizeX_RBV,YSIZE=FLIR10x:ROI1:SizeY_RBV,PORT=OVER1,ADDR=0,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=FLIR10x:,R=Over1:2:,NAME=ROI2,   SHAPE=1,O=Over1:,XPOS=FLIR10x:ROI2:MinX_RBV,YPOS=FLIR10x:ROI2:MinY_RBV,XSIZE=FLIR10x:ROI2:SizeX_RBV,YSIZE=FLIR10x:ROI2:SizeY_RBV,PORT=OVER1,ADDR=1,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=FLIR10x:,R=Over1:3:,NAME=ROI3,   SHAPE=1,O=Over1:,XPOS=FLIR10x:ROI3:MinX_RBV,YPOS=FLIR10x:ROI3:MinY_RBV,XSIZE=FLIR10x:ROI3:SizeX_RBV,YSIZE=FLIR10x:ROI3:SizeY_RBV,PORT=OVER1,ADDR=2,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=FLIR10x:,R=Over1:4:,NAME=ROI4,   SHAPE=1,O=Over1:,XPOS=FLIR10x:ROI4:MinX_RBV,YPOS=FLIR10x:ROI4:MinY_RBV,XSIZE=FLIR10x:ROI4:SizeX_RBV,YSIZE=FLIR10x:ROI4:SizeY_RBV,PORT=OVER1,ADDR=3,TIMEOUT=1")
dbLoadRecords("NDOverlayN.template","P=FLIR10x:,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=FLIR10x:,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=FLIR10x:,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=FLIR10x:,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, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDColorConvert.template", "P=FLIR10x:,R=CC1:,  PORT=CC1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
NDColorConvertConfigure("CC2", 2000, 0, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDColorConvert.template", "P=FLIR10x:,R=CC2:,  PORT=CC2,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create a circular buffer plugin
NDCircularBuffConfigure("CB1", 2000, 0, "FLIR10x", 0, 500, 0)
dbLoadRecords("NDCircularBuff.template", "P=FLIR10x:,R=CB1:,  PORT=CB1,ADDR=0,TIMEOUT=1,NDARRAY_PORT=FLIR10x")
# Create an NDAttribute plugin with 8 attributes
NDAttrConfigure("ATTR1", 2000, 0, "FLIR10x", 0, 8, 0, 0, 0)
dbLoadRecords("NDAttribute.template",  "P=FLIR10x:,R=Attr1:,    PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048,NDARRAY_PORT=FLIR10x")
dbLoadRecords("NDAttributeN.template", "P=FLIR10x:,R=Attr1:1:,  PORT=ATTR1,ADDR=0,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=FLIR10x:,R=Attr1:2:,  PORT=ATTR1,ADDR=1,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=FLIR10x:,R=Attr1:3:,  PORT=ATTR1,ADDR=2,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=FLIR10x:,R=Attr1:4:,  PORT=ATTR1,ADDR=3,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=FLIR10x:,R=Attr1:5:,  PORT=ATTR1,ADDR=4,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=FLIR10x:,R=Attr1:6:,  PORT=ATTR1,ADDR=5,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=FLIR10x:,R=Attr1:7:,  PORT=ATTR1,ADDR=6,TIMEOUT=1,NCHANS=2048")
dbLoadRecords("NDAttributeN.template", "P=FLIR10x:,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-R3-12-1/ADCore/db/NDTimeSeries.template",  "P=FLIR10x:,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, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDFFT.template", "P=FLIR10x:, R=FFT1:, PORT=FFT1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=FLIR10x, NAME=FFT1, NCHANS=2048")
# Create 2 Codec plugins
NDCodecConfigure("CODEC1", 2000, 0, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDCodec.template", "P=FLIR10x:, R=Codec1:, PORT=CODEC1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=FLIR10x")
NDCodecConfigure("CODEC2", 2000, 0, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDCodec.template", "P=FLIR10x:, R=Codec2:, PORT=CODEC2, ADDR=0, TIMEOUT=1, NDARRAY_PORT=FLIR10x")
# Create a bad pixel plugin
NDBadPixelConfigure("BADPIX1", 2000, 0, "FLIR10x", 0, 0, 0, 0, 0, 5)
dbLoadRecords("NDBadPixel.template", "P=FLIR10x:, R=BadPix1:, PORT=BADPIX1, ADDR=0, TIMEOUT=1, NDARRAY_PORT=FLIR10x")
set_requestfile_path("./")
set_requestfile_path("/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore/db")
set_requestfile_path("/opt/epics/synApps/support/areaDetector-R3-12-1/ADCore/iocBoot")
set_requestfile_path("/opt/epics/synApps/support/autosave-master/db")
set_savefile_path("./autosave")
set_pass0_restoreFile("auto_settings.sav")
set_pass1_restoreFile("auto_settings.sav")
save_restoreSet_status_prefix("FLIR10x:")
dbLoadRecords("/opt/epics/synApps/support/autosave-master/db/save_restoreStatus.db", "P=FLIR10x:")
dbLoadRecords("/opt/epics/synApps/support/autosave-master/db/configMenu.db", "P=FLIR10x:, CONFIG=ADAutoSave")
# 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)/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-R3-12-1/ADGenICam/GenICamApp/Db")
set_requestfile_path("/opt/epics/synApps/support/areaDetector-R3-12-1/ADSpinnaker/iocs/spinnakerIOC/../../spinnakerApp/Db")
iocInit()
Starting iocInit
############################################################################
## EPICS R3.15.9
## EPICS Base built Sep 13 2023
############################################################################
dbFindRecord for 'FLIR10x:Proc1:LowClipThresh.VAL' failed
dbFindRecord for 'FLIR10x:Proc1:LowClipValue.VAL' failed
dbFindRecord for 'FLIR10x:Proc1:HighClipThresh.VAL' failed
dbFindRecord for 'FLIR10x:Proc1:HighClipValue.VAL' failed
2023/09/14 01:27:04.976 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_CONVERT_PIXEL_FORMAT
FLIR10x:cam1:ConvertPixelFormat devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_STARTED_FRAME_COUNT
FLIR10x:cam1:StartedFrameCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_DELIVERED_FRAME_COUNT
FLIR10x:cam1:DeliveredFrameCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_RECEIVED_FRAME_COUNT
FLIR10x:cam1:ReceivedFrameCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_INCOMPLETE_FRAME_COUNT
FLIR10x:cam1:IncompleteFrameCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_LOST_FRAME_COUNT
FLIR10x:cam1:LostFrameCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_DROPPED_FRAME_COUNT
FLIR10x:cam1:DroppedFrameCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_INPUT_BUFFER_COUNT
FLIR10x:cam1:InputBufferCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_OUTPUT_BUFFER_COUNT
FLIR10x:cam1:OutputBufferCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_RECEIVED_PACKET_COUNT
FLIR10x:cam1:ReceivedPacketCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_MISSED_PACKET_COUNT
FLIR10x:cam1:MissedPacketCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_RESEND_REQUESTED_PACKET_COUNT
FLIR10x:cam1:ResendRequestedPacketCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:04.984 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_RESEND_RECEIVED_PACKET_COUNT
FLIR10x:cam1:ResendReceivedPacketCount devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:05.005 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_TIME_STAMP_MODE
FLIR10x:cam1:TimeStampMode devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:05.005 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_UNIQUE_ID_MODE
FLIR10x:cam1:UniqueIdMode devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:05.009 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_CONVERT_PIXEL_FORMAT
FLIR10x:cam1:ConvertPixelFormat_RBV devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:05.019 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_TIME_STAMP_MODE
FLIR10x:cam1:TimeStampMode_RBV devAsynInt32::initCommon drvUserCreate
2023/09/14 01:27:05.019 asynPortDriver:drvUserCreate: addr=0, cannot find parameter SP_UNIQUE_ID_MODE
FLIR10x:cam1:UniqueIdMode_RBV devAsynInt32::initCommon drvUserCreate
dbFindRecord for 'FLIR10x:Proc1:LowClipThresh.VAL' failed
dbFindRecord for 'FLIR10x:Proc1:LowClipValue.VAL' failed
dbFindRecord for 'FLIR10x:Proc1:HighClipThresh.VAL' failed
dbFindRecord for 'FLIR10x:Proc1:HighClipValue.VAL' failed
iocRun: All initialization complete
# save things every thirty seconds
create_monitor_set("auto_settings.req", 30,"P=FLIR10x:")
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.
# Wait for enum callbacks to complete
epicsThreadSleep(1.0)




~Ben

~Ben



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: ADSpinnaker Grasshopper 3 NIR crashes on acquire Benjamin Stripe via Tech-talk
Re: ADSpinnaker Grasshopper 3 NIR crashes on acquire Mark Rivers via Tech-talk
References:
ADSpinnaker Grasshopper 3 NIR crashes on acquire Benjamin Stripe via Tech-talk
Re: ADSpinnaker Grasshopper 3 NIR crashes on acquire Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: ADSpinnaker Grasshopper 3 NIR crashes on acquire Mark Rivers via Tech-talk
Next: Re: ADSpinnaker Grasshopper 3 NIR crashes on acquire Benjamin Stripe 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  <20232024 
Navigate by Thread:
Prev: Re: ADSpinnaker Grasshopper 3 NIR crashes on acquire Mark Rivers via Tech-talk
Next: Re: ADSpinnaker Grasshopper 3 NIR crashes on acquire Benjamin Stripe 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  <20232024 
ANJ, 14 Sep 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·