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: subArray record [SEC=UNOFFICIAL] |
From: | "Johnson, Andrew N. via Tech-talk" <[email protected]> |
To: | "STARRITT, Andrew" <[email protected]> |
Cc: | "EPICS Tech Talk \([email protected]\)" <[email protected]> |
Date: | Tue, 24 Dec 2019 12:55:36 +0000 |
Hi Andrew,
On Dec 23, 2019, at 7:13 PM, STARRITT, Andrew via Tech-talk <tech-[email protected]> wrote: The code change that Michael pointed out was a correction to the original subArray record code – the maximum number of elements of a CA channel should be fixed since many clients rely on that to allocate local storage for channel data, but as
you saw unfortunately the subArray code was returning NELM or NORD, both of which can be changed at runtime. cainfo reports the maximum array size, not the current size.
However from 3.15.1 onward you may be able to avoid having to use any subArray records at all since the IOC’s CA server supports channel filters, and specifically the array
filter. To fetch the item at index 30 you should be able to do this:
$ caget 'SR07BM01FPM01:FILL_PATTERN_ABS_WAVEFORM.[30:30]'
I believe cainfo with that channel name will also report a single element.
HTH,
- Andrew
|