Other misc. issues:
on IOC start-up I see these messages:
2024/06/06 15:03:10.320 Param[GC_PIXEL_FORMAT] GenICamFeature::write: node PixelFormat is not writable
2024/06/06 15:03:10.440 Param[BIN_X] GenICamFeature::write: node BinningHorizontal is not writable
2024/06/06 15:03:10.460 Param[BIN_Y] GenICamFeature::write: node BinningVertical is not writable
2024/06/06 15:03:10.528 Param[SIZE_X] GenICamFeature::write: node Width is not writable
2024/06/06 15:03:10.548 Param[SIZE_Y] GenICamFeature::write: node Height is not writable
John
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of John Dobbins via Tech-talk <tech-talk at aps.anl.gov>
Sent: Thursday, June 6, 2024 1:58 PM
To: Mark Rivers <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: ADSpinnaker, BlackfkyS 161S7M Not enough available memory to allocate buffers for streaming
I changed USB-FS temporarily with
sh -c 'echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb'
I will try the GenICam suggested method next.
John
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Thursday, June 6, 2024 1:40 PM
To: John Dobbins <john.dobbins at cornell.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: RE: ADSpinnaker, BlackfkyS 161S7M Not enough available memory to allocate buffers for streaming
Hi John,
This problem is mentioned in the release notes for ADSpinnaker R3-5:
-
There is a known problem on CentOS 9. The maximum number of driver buffers that Spinnaker will allow is 3. This is not a problem on Ubuntu 22 where a value over 200
is allowed on my system. Even with the limit of 3 I am able to stream the full 163 frame/s on a GS3-U3-23S6M camera. FLIR is aware of the issue.
I reported the problem to FLIR in February, with the last update and demonstration of the problem in the attached message. I was promised that they would try to reproduce it, but I have
not heard anything. I sent them a reminder today.
-
After configuring USB-FS memory I now have the camera running.
Aha! Thanks for finding that. Did you configure it as described here?
https://areadetector.github.io/areaDetector/ADGenICam/ADGenICam.html#linux-usb-and-gige-system-settings
Can you tell me the command you used so I can check and update that documentation? I want to make sure it works on CentOS 9 as well.
I probably neglected to do that, which is why I thought there was a bug.
Thanks,
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of John Dobbins via Tech-talk
Sent: Thursday, June 6, 2024 10:56 AM
To: tech-talk at aps.anl.gov
Subject: ADSpinnaker, BlackfkyS 161S7M Not enough available memory to allocate buffers for streaming
I have built, base-7.0.6, areaDetectorR3-13 with ADSpinnaker master on Alma 9. I am using a FLIR BlackflyS 161S7M USB camera. This is large, 5320x3032 pixels.
The camera is detected but I get a "Not enough available memory to allocate buffers for streaming" error.
In ADSpinnakerConfig I have set numSPBuffer to minimum = 10 (?)
# ADSpinnakerConfig(const char *portName, const char *cameraId, int numSPBuffers,
# size_t maxMemory, int priority, int stackSize)
ADSpinnakerConfig("SP1", 22671882, 10, 0, 0,0)
The host computer has 16G, 13.7 G free,
Ideas?
John Dobbins
Research Support Specialist
Cornell High Energy Synchrotron Source
Cornell University
www.chess.cornell.edu
[root@lnx615 iocSpinnaker]# ../../bin/linux-x86_64/spinnakerApp st.cmd.BlackflyS_161S7M
< envPaths
epicsEnvSet("IOC","iocSpinnaker")
epicsEnvSet("TOP","/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADSpinnaker/iocs/spinnakerIOC")
epicsEnvSet("ADSPINNAKER","/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADSpinnaker/iocs/spinnakerIOC/../..")
epicsEnvSet("SUPPORT","/nfs/chess/epics/det/support_flir")
epicsEnvSet("ASYN","/nfs/chess/epics/det/support_flir/asyn-R4-45")
epicsEnvSet("AREA_DETECTOR","/nfs/chess/epics/det/support_flir/areaDetector-R3-13")
epicsEnvSet("ADSUPPORT","/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADSupport")
epicsEnvSet("ADCORE","/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADCore")
epicsEnvSet("AUTOSAVE","/nfs/chess/epics/det/support_flir/autosave-R5-11")
epicsEnvSet("BUSY","/nfs/chess/epics/det/support_flir/busy-R1-7-4")
epicsEnvSet("CALC","/nfs/chess/epics/det/support_flir/calc-R3-7-5")
epicsEnvSet("SNCSEQ","/nfs/chess/epics/det/support_flir/seq-R2-2-9")
epicsEnvSet("SSCAN","/nfs/chess/epics/det/support_flir/sscan-R2-11-5")
epicsEnvSet("DEVIOCSTATS","/nfs/chess/epics/det/support_flir/iocStats-3-1-16")
epicsEnvSet("EPICS_BASE","/nfs/chess/epics/det/base-7.0.6")
epicsEnvSet("ADGENICAM","/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADGenICam")
errlogInit(20000)
dbLoadDatabase("/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADSpinnaker/iocs/spinnakerIOC/dbd/spinnakerApp.dbd")
spinnakerApp_registerRecordDeviceDriver(pdbbase)
# Use this line for a specific camera by serial number, in this case a BlackFlyS GigE
epicsEnvSet("CAMERA_ID", "22671882")
epicsEnvSet("GENICAM_DB_FILE", "/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADGenICam/db/FLIR_BFS_U3_161S7M.template")
< st.cmd.base
# Prefix for all records
epicsEnvSet("PREFIX", "13SP1:")
# The port name for the detector
epicsEnvSet("PORT", "SP1")
# 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", "/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADCore/db;/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADGenICam/db;/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADSpinnaker/iocs/spinnakerIOC/../../db")
# This is for Linux
#epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(ADCORE)/db:$(ADGENICAM)/db:$(ADSPINNAKER)/db")
# Define NELEMENTS to be enough for a 5320x3032 (color) image
epicsEnvSet("NELEMENTS", "16130240")
# ADSpinnakerConfig(const char *portName, const char *cameraId, int numSPBuffers,
# size_t maxMemory, int priority, int stackSize)
ADSpinnakerConfig("SP1", 22671882, 10, 0, 0,0)
2024/06/06 11:46:16.990 ADSpinnaker::connectCamera exception Spinnaker: Not enough available memory to allocate buffers for streaming. [-1016]
2024/06/06 11:46:16.990 ADSpinnaker:ADSpinnaker: camera connection failed (3)
Number of cameras detected: 1
Camera 0
Device Vendor Name (DeviceVendorName):FLIR
Device Model Name (DeviceModelName):Blackfly S BFS-U3-161S7M
Device Serial Number (DeviceSerialNumber):22671882
Device Version (DeviceVersion):2210.0.657.0
Device Type (DeviceType):USB3Vision
|