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  <20202021  2022  2023  2024  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Buffer full issue with ADAravis
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: 'Katie Matusik' <kmatusik at sigray.com>
Cc: tech-talk <tech-talk at aps.anl.gov>
Date: Fri, 21 Feb 2020 22:20:16 +0000

Hi Katie,

 

OK, that is useful.  This is the interesting part:

 

2020/02/21 21:28:36.198 asynPortDriver:readFloat64: function=57, name=POOL_USED_MEMORY, value=0.000000

2020/02/21 21:28:36.198 ARV1 addr -1 queueRequest priority 0 not lockHolder

2020/02/21 21:28:36.198 asynManager::portThread port=ARV1 callback

2020/02/21 21:28:36.198 asynPortDriver:readInt32: function=54, name=POOL_ALLOC_BUFFERS, value=0

2020/02/21 21:28:36.198 ARV1 addr -1 queueRequest priority 0 not lockHolder

2020/02/21 21:28:36.198 asynManager::portThread port=ARV1 callback

2020/02/21 21:28:36.198 asynPortDriver:readInt32: function=55, name=POOL_FREE_BUFFERS, value=0

 

2020/02/21 21:28:36.294 ARV1 addr -1 queueRequest priority 0 not lockHolder

2020/02/21 21:28:36.294 asynManager::portThread port=ARV1 callback

2020/02/21 21:28:36.294 asynNDArrayDriver:writeInt32: function=8, paramName=ACQUIRE, value=1

2020/02/21 21:28:36.294 ADDriver:writeInt32: function=8, paramName=ACQUIRE, value=1

2020/02/21 21:28:36.297 ARV1 addr -1 queueRequest priority 0 not lockHolder

2020/02/21 21:28:36.343 ADGenICam::writeInt32 function=8, value=1, status=0

2020/02/21 21:28:36.343 ADAravis:writeInt32: function=8 ACQUIRE, value=1

 

2020/02/21 21:28:36.343 asynManager::portThread port=ARV1 callback

2020/02/21 21:28:36.343 asynPortDriver:readFloat64: function=57, name=POOL_USED_MEMORY, value=114.257812

2020/02/21 21:28:36.343 ARV1 addr -1 queueRequest priority 0 not lockHolder

2020/02/21 21:28:36.343 asynManager::portThread port=ARV1 callback

2020/02/21 21:28:36.343 asynPortDriver:readInt32: function=54, name=POOL_ALLOC_BUFFERS, value=20

2020/02/21 21:28:36.343 ARV1 addr -1 queueRequest priority 0 not lockHolder

2020/02/21 21:28:36.343 asynManager::portThread port=ARV1 callback

2020/02/21 21:28:36.343 asynPortDriver:readInt32: function=55, name=POOL_FREE_BUFFERS, value=0

2020/02/21 21:28:36.397 ARV1 addr -1 queueRequest priority 0 not lockHolder

 

So up until 36.198 no memory buffers had been allocated.  At 36.294 the ACQUIRE=1 command was received, and the camera was told to start.  At 36.343 20 buffers using 114.3 MB had been allocated.

 

Unfortunately there is not enough debugging printout in the driver to see why 20 buffers were allocated (rather than only 1) and why it did not correctly increment the number of received images and do the callbacks to plugins.

 

I have created a new branch of ADAravis on Github called Teledyn_debug.  At the top level of your local ADAravis do

 

git pull

git checkout Teledyn_debug

make clean

make

 

Do the same thing you did for the last output and send it to me.  You can turn down the scan rate of Buffer and memory polling” from 0.1 second to 1 second to reduce the amount of output.

 

Mark

 

 

 

From: Katie Matusik <kmatusik at sigray.com>
Sent: Friday, February 21, 2020 3:35 PM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: tech-talk <tech-talk at aps.anl.gov>
Subject: Re: Buffer full issue with ADAravis

 

Hi Mark,

Please find the output attached.

Thank you!

Katie

 

On Fri, Feb 21, 2020 at 1:15 PM Mark Rivers <rivers at cars.uchicago.edu> wrote:

Hi Katie,

 

That output does not show what I want.

 

Please do the following:

 

-          Comment out the asynSetTraceMask line in the startup script again

-          Boot the IOC

-          Once it is done booting type that asynSetTraceMask command interactively on the command line

-          Press the Acquire button

-          Let it run for a few seconds and then type exit.

 

Send me the output.

 

Thanks,

Mark

 

 

From: Katie Matusik <kmatusik at sigray.com>
Sent: Friday, February 21, 2020 1:19 PM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: tech-talk <tech-talk at aps.anl.gov>
Subject: Re: Buffer full issue with ADAravis

 

Hi Mark,

When I press "acquire", I don't get any output in the iocsh console. I'm attaching a text file of the console output when asyntrace is enabled; I truncated at some point and am hopefully providing you with the relevant info. For wc, I get  2161 3959 58969 Teledyne_ShadoBox.template; when I use the original script version (i.e. remove "IntReg"), then I recover your exact output:  2119  3881 57783 GenICamApp/Db/Teledyne_ShadoBox.template.  

 

Thanks so much,

Katie

 

 

On Fri, Feb 21, 2020 at 10:19 AM Mark Rivers <rivers at cars.uchicago.edu> wrote:

Hi Katie,

 

Ø  I should mention that I made two changes to makeDb.py in order for it to generate the database file:  line 26 was changed to specify the encoding type, "genicam_lines = open(args[0], encoding="utf-8").readlines()" otherwise it threw an error (I'm using python v3.6.9),

 

I am using Python 3.7.3 and I did not get that error on the xml you attached to your previous message.  This is what I see when I run addCamera, which runs makeDb.py and makeAdl.py.

 

corvette:~/devel/areaDetector/ADGenICam>./addCamera.sh Teledyne_ShadoBox

Don't know what to do with IntReg

Don't know what to do with IntReg

Don't know what to do with IntReg

Don't know what to do with IntReg

Don't know what to do with IntReg

More than 16 enum entries for GevSupportedOptionSelector mbbi record, discarding additional options.

   If needed, edit the Enumeration tag for GevSupportedOptionSelector to select the 16 you want.

Don't know what to do with Register

Don't know what to do with IntReg

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

 

Ø  and I added "IntReg" to the list of data types in line 145, "if node.nodeName in ["Integer", "IntConverter", "IntSwissKnife", "IntReg"]:".

 

I do see messages that say “Don't know what to do with IntReg”, but I think they are harmless, just as the ones that say “Don't know what to do with Register”.  This is what I get running “wc” on the resulting .template file.

 

corvette:~/devel/areaDetector/ADGenICam>wc GenICamApp/Db/Teledyne_ShadoBox.template

2119  3881 57783 GenICamApp/Db/Teledyne_ShadoBox.template

 

What do you get?

 

Mark

 

 

 

 

 

 

From: Mark Rivers
Sent: Friday, February 21, 2020 12:03 PM
To: 'Katie Matusik' <kmatusik at sigray.com>
Cc: tech-talk <tech-talk at aps.anl.gov>
Subject: RE: Buffer full issue with ADAravis

 

Hi Katie,

 

Ø  When I press acquire, the buffer again immediately fills up and neither the values in the "Status" box nor in the stats plugin change.

 

The buffer is not actually “filling up”.  It does indicate that 20 NDArrays have been allocated, totaling 114.3 MB.  Your arrays are 2304x1300 pixels, presumably 2-bytes per pixel, which is  5.71 MB per array.  20 arrays would be 114.3 MB, which is excactly what it says it allocated.

 

When you press Acquire are there any messages on the iocsh console?

 

It looks like the ADAravis driver is allocating NDArrays, but it is never doing callbacks, and never realizing that acquisition is complete.

 

We are going to need to enable some debugging to figure out why.

 

The first thing to do is to enable all asynTrace information from the driver.  In your startup script uncomment this line after aravisConfig():

 

asynSetTraceMask($(PORT), 0, TRACE_ERROR|TRACEIO_DRIVER|TRACE_FLOW)

 

If that does not provide enough information you will need to add some more asynPrint statements in the driver to track down what is going wrong.

 

Mark

 

 

 

From: Katie Matusik <kmatusik at sigray.com>
Sent: Friday, February 21, 2020 10:54 AM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: tech-talk <tech-talk at aps.anl.gov>
Subject: Re: Buffer full issue with ADAravis

 

Hi Mark,

 

Please see attached for the plugins/all and statistics screens, as well as the xml file. The pixel format options are mono14 and mono12packed. I changed the status rate to 1 second and enabled the statistics plugin. When I press acquire, the buffer again immediately fills up and neither the values in the "Status" box nor in the stats plugin change. I should mention that I made two changes to makeDb.py in order for it to generate the database file:  line 26 was changed to specify the encoding type, "genicam_lines = open(args[0], encoding="utf-8").readlines()" otherwise it threw an error (I'm using python v3.6.9), and I added "IntReg" to the list of data types in line 145, "if node.nodeName in ["Integer", "IntConverter", "IntSwissKnife", "IntReg"]:".

 

Thanks so much,

Katie

 

Image removed by sender.

 

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


 

--

Katie Matusik

Systems Engineer

5750 Imhoff Drive, Suite I

Concord, CA 94520 USA

Office: 1 (925) 326 - 7926

 

Image removed by sender.

 

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


 

--

Katie Matusik

Systems Engineer

5750 Imhoff Drive, Suite I

Concord, CA 94520 USA

Office: 1 (925) 326 - 7926

 

 

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: Buffer full issue with ADAravis Katie Matusik via Tech-talk
References:
Buffer full issue with ADAravis Katie Matusik via Tech-talk
Re: Buffer full issue with ADAravis Mark Rivers via Tech-talk
Re: Buffer full issue with ADAravis Katie Matusik via Tech-talk
RE: Buffer full issue with ADAravis Mark Rivers via Tech-talk
RE: Buffer full issue with ADAravis Mark Rivers via Tech-talk
RE: Buffer full issue with ADAravis Mark Rivers via Tech-talk
Re: Buffer full issue with ADAravis Katie Matusik via Tech-talk

Navigate by Date:
Prev: Re: Buffer full issue with ADAravis Katie Matusik via Tech-talk
Next: Re: Buffer full issue with ADAravis Katie Matusik 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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Buffer full issue with ADAravis Katie Matusik via Tech-talk
Next: Re: Buffer full issue with ADAravis Katie Matusik 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  <20202021  2022  2023  2024 
ANJ, 21 Feb 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·