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: Setting an array to zero length
From: Ben Franksen via Tech-talk <tech-talk at aps.anl.gov>
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Date: Fri, 3 Apr 2020 17:43:37 +0200
Am 03.04.20 um 17:28 schrieb Ben Franksen via Tech-talk:
> Am 03.04.20 um 16:25 schrieb Ralph Lange via Tech-talk:
>> On Fri, 3 Apr 2020 at 15:04, Ben Franksen via Tech-talk <
>> tech-talk at aps.anl.gov> wrote:
>>
>>> [...]
>>
>> You could also try to use another
>>> record with NELM=NORD=0 and that has an output link that you point to
>>> your WAVE record. There is no record type in base with such an output
>>> link [...]
>>>
>>
>> The aaoRecord since Base 3.12.2 (ca. 1995)
> 
> Thanks I completely forgot about this one. Indeed this works:
> 
> record(waveform, "wf") {
>     field(NELM, "10")
>     field(FTVL, "DOUBLE")
>     field(INP, [1, 2, 3, 4, 5, 6, 7, 8])
>     field(PINI, "YES")
> }
> record(aao, "reset") {
>     field(NELM, "0")
>     field(OUT, "wf PP")
> }
> 
> ben@juliana[1]:.../base/7.0>caget wf
> wf 10 1 2 3 4 5 6 7 8 0 0
> ben@juliana[1]:.../base/7.0>caget wf.NORD
> wf.NORD                        8
> ben@juliana[1]:.../base/7.0>caput reset.PROC 1
> Old : reset.PROC                     0
> New : reset.PROC                     1
> ben@juliana[1]:.../base/7.0>caget wf.NORD
> wf.NORD                        0
> ben@juliana[1]:.../base/7.0>caget wf
> wf 10 2.50321e-308 0 0 0 0 0 0 0 0 0
> 
> The last response is unexpected though. While caget -h indeed says:
> 
> Arrays: Value format: print number of requested values, then list of values
> 
> printing the actual number of values in the response (and only so many
> values) would be more useful. Does CA not return the current number of
> values in an array?

Ah, I see. This is a limitation of the simple ca_array_get call which is
used by default. It works as expected if I pass the -c option which
makes it use ca_array_get_callback which can return the current number
of elements.

Cheers
Ben
-- 
...it is impossible to speak of a depoliticized economy as the liberals
do, or of a separation between economic exploitation and political
oppression as the Marxists articulate. The basic distinction, rather, is
between power and creativity...
             -- Jonathan Nitzan and Shimshon Bichler: Capital as Power

Attachment: signature.asc
Description: OpenPGP digital signature


References:
Setting an array to zero length Rogers, Will (DLSLtd, RAL, LSCI) via Tech-talk
Re: Setting an array to zero length Ben Franksen via Tech-talk
Re: Setting an array to zero length Ralph Lange via Tech-talk
Re: Setting an array to zero length Ben Franksen via Tech-talk

Navigate by Date:
Prev: Re: Packages to build EPICS base, synApps, and areaDetector on Centos 8 J. Lewis Muir via Tech-talk
Next: Re: EDM in RHEL8 or Centos8 Ernesto Paiser 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: Setting an array to zero length Ben Franksen via Tech-talk
Next: Re: Setting an array to zero length Rogers, Will (DLSLtd, RAL, LSCI) 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, 08 Apr 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·