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  <20212022  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  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Questions about arrays
From: Ben Franksen via Tech-talk <tech-talk at aps.anl.gov>
To: "Johnson, Andrew N." <anj at anl.gov>, William Layne <william.casey.layne at gmail.com>
Cc: "Wang, Andrew" <wang126 at llnl.gov>, EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 30 Mar 2021 21:39:38 +0200
Am 30.03.21 um 19:25 schrieb Johnson, Andrew N. via Tech-talk:
> On Mar 30, 2021, at 11:22 AM, William Layne
> <william.casey.layne at gmail.com> wrote:
>> Unsure if this is still relevant, but I remember there being talk
>> about trying to get channel filters working on put operations. Do
>> you know if that's still being discussed, or even possible? If it
>> is, it could possibly solve this question in the future.
> 
> There is no support inside the EPICS 7.0.5 IOC at the moment for
> running channel filters on puts, and I’m not sure how easy it will be
> to let filters modify an existing array field instead of just
> overwriting it with a new value (which is what the existing put API
> implements).
> 
> Another complexity that I see is agreeing on the semantics of what it
> should mean to run commands like these:
> 
> $ caput ‘array1.[4]' 100 $ caput -a ‘array2.[2:3]' 5 1 2 3 4 5

In my implementation I opted for truncating requests that exceed the
target field's (current) array bounds. This was the simplest thing to do
and the most conservative.

> If array1 holds doubles and starts out empty, would the first command
> set elements 0 through 3 to NaN values, or to zeros? Presumably the
> second command would leave the first 2 elements of array2 alone,
> replace elements 2 and 3 with the values 1 and 2, then insert the
> values 3 4 5 after element 3. Unfortunately implementing these might
> be tricky without breaking the support for circular buffers that the
> array field API currently provides.

Another good reason for request truncation. I agree that in the end we
want to have a way to increase the array length, too, but I am happy to
leave that for a future extension ;-)

Ben
-- 
I would rather have questions that cannot be answered, than answers that
cannot be questioned.  -- Richard Feynman

Attachment: signature.asc
Description: OpenPGP digital signature


References:
Questions about arrays Wang, Andrew via Tech-talk
Re: Questions about arrays Johnson, Andrew N. via Tech-talk
Re: Questions about arrays William Layne via Tech-talk
Re: Questions about arrays Johnson, Andrew N. via Tech-talk

Navigate by Date:
Prev: Re: Questions about arrays Ben Franksen via Tech-talk
Next: Question on Multiple Instruments in one IOC or Multiple IOCs for each Manoussakis, Adamandios 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  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: Questions about arrays William Layne via Tech-talk
Next: Re: Questions about arrays Ben Franksen 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  <20212022  2023  2024 
ANJ, 30 Mar 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·