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  <20122013  2014  2015  2016  2017  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
<== Date ==> <== Thread ==>

Subject: RE: JCA problems and questions
From: Mark Rivers <rivers@cars.uchicago.edu>
To: "'J. Lewis Muir'" <jlmuir@imca-cat.org>
Cc: "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Mon, 22 Oct 2012 17:22:49 +0000
Hi Lewis,

Thanks, your message is very helpful. I was not aware of the jca.use_env flag. I think that must have been added since I started using CAJ?  That's what I will use, since the environment variable needs to be set to run the IOC and any C based clients anyway.

Mark


-----Original Message-----
From: J. Lewis Muir [mailto:jlmuir@imca-cat.org] 
Sent: Monday, October 22, 2012 11:05 AM
To: Mark Rivers
Cc: tech-talk@aps.anl.gov
Subject: Re: JCA problems and questions

On 10/22/12 9:53 AM, Mark Rivers wrote:
> - Is this change in behavior intentional?
> 
> - Is the change documented?  I cannot find detailed release notes for CAJ, only the one-line description of changes here: 
> http://epics-jca.sourceforge.net/caj/changes-report.html#a1.1.10
> 
> - Is there somewhere else to look for release notes?

Hi, Mark.

I'm sure Matej is the best person to answer your questions, but
I'll give a few things that might help.

You can look at the changelog in the Mercurial repository.
Here's a web interface:

http://epics-jca.hg.sourceforge.net/hgweb/epics-jca/caj/shortlog

And here's the changeset for your problem:

http://epics-jca.hg.sourceforge.net/hgweb/epics-jca/caj/rev/8c2734fb3b3a

You can see in the CATransport.java diff that it has been
changed to increase the array size only up to max-array-bytes
obtained from the CAJContext.  This is consistent with your
observation that setting the max-array-bytes value big enough is
now required to get the behavior you had previously.

You could explicitly set the max-array-bytes value in the ImageJ
areaDetector viewer plug-in to be very big.

An alternative to setting the max-array-bytes value in the CA
context would be to ensure that you've set the
EPICS_CA_MAX_ARRAY_BYTES environment variable appropriately for
the ImageJ areaDetector viewer plug-in and set the jca.use_env
system property to true.  Setting jca.use_env to true will of
course make it use a number of standard EPICS CA environment
variables if they are defined.  In general I like this behavior
because it makes JCA behave more like the EPICS Base CA library.

But if you want something that a user can just drop into ImageJ
as a plug-in requiring no other changes to their system, then
the jca.use_env=true approach probably won't cut it.

Matej could add an option to enable the unlimited array size
behavior.

Or you could do some kind of automatic configuration of the CA
context max-array-bytes value in the ImageJ areaDetector viewer
plug-in based on the image data type and dimensions from
areaDetector.

Lewis


Replies:
Re: JCA problems and questions J. Lewis Muir
References:
JCA problems and questions Mark Rivers
Re: JCA problems and questions J. Lewis Muir

Navigate by Date:
Prev: Re: JCA problems and questions J. Lewis Muir
Next: Re: JCA problems and questions J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
Navigate by Thread:
Prev: Re: JCA problems and questions J. Lewis Muir
Next: Re: JCA problems and questions J. Lewis Muir
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·