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 2023 2024 2025 | 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 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Questions about arrays |
From: | William Layne via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Johnson, Andrew N." <anj at anl.gov> |
Cc: | "Wang, Andrew" <wang126 at llnl.gov>, EPICS tech-talk <tech-talk at aps.anl.gov> |
Date: | Tue, 30 Mar 2021 15:01:16 -0400 |
Hi William,
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
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.
Thus I wouldn’t hold your breath waiting, although I’m not trying to discourage Ben or Dirk from looking at these kinds of questions.
- Andrew
--
Complexity comes for free, simplicity you have to work for.