EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 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: write to a single element of an array field
From: Ralph Lange via Core-talk <core-talk at aps.anl.gov>
To: EPICS Core Talk <core-talk at aps.anl.gov>
Date: Mon, 23 Mar 2020 12:00:24 +0100
Exactly.
That wrap-around feature is needed to handle the case of reading a circular buffer through the array field access API. Record types like the compressRecord keep their array value as a circular buffer, and the first filter (that gets its data from the record) has to be able to cope with that.

~Ralph


On Mon, 23 Mar 2020 at 06:07, Johnson, Andrew N. via Core-talk <core-talk at aps.anl.gov> wrote:
Hi Ben,

The ‘wrap-around’ feature as you describe it sounds like the circular buffer mode of array field access, which Is an essential feature for a few record types such as the histogram record IIRC. I’m not sure if/how it interacts with the filters (there may be bugs in those interactions, I have no idea) but we can’t afford to drop it. I suspect it’s described in the AppDevGuide since it’s been included for a very long time.

- Andrew

--
Complicity is easy, Simplexity takes real work

> On Mar 22, 2020, at 7:23 PM, Ben Franksen via Core-talk <core-talk at aps.anl.gov> wrote:
>
> Some of the filter tests appear questionable to me.
>
> test/ioc/db/dbChArrTest.cpp:144 reads:
>
>    const epicsInt32 res_10_4[] = {14,15,16,17,18,19,10,11,12,13};
>    TEST1(10, 4, "wrapped", res_10_4);
>
> I find this "wrap around" feature surprising. The array filter
> documentation does not mention it.
>
> The reason I am asking about this particular test is, of course, that my
> refactor breaks it. I think I could restore the behavior as expressed by
> the test but before I do that I wanted to ask if it is really intended
> and considered worth keeping.
>
> I should mention that this feature worked only in the dbfl_type_rec case
> and not in the case of dbfl_type_ref. This means that if another filter
> is run before the array filter, and that filter makes a copy of the
> array, then the "wrap around" feature doesn't work anymore.
>
> Cheers
> Ben
>
> ________________________________
>
> Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
>
> Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.
>
> Aufsichtsrat: Vorsitzender Dr. Volkmar Dietz, stv. Vorsitzende Dr. Jutta Koch-Unterseher
> Geschäftsführung: Prof. Dr. Bernd Rech (Sprecher), Prof. Dr. Jan Lüning, Thomas Frederking
>
> Sitz Berlin, AG Charlottenburg, 89 HRB 5583
>
> Postadresse:
> Hahn-Meitner-Platz 1
> D-14109 Berlin
> <pEpkey.asc>

References:
Re: write to a single element of an array field Ben Franksen via Core-talk
Re: write to a single element of an array field Ben Franksen via Core-talk
Re: write to a single element of an array field Ben Franksen via Core-talk
Re: write to a single element of an array field Ralph Lange via Core-talk
Re: write to a single element of an array field Ben Franksen via Core-talk
Re: write to a single element of an array field Ben Franksen via Core-talk
Re: write to a single element of an array field Ben Franksen via Core-talk
Re: write to a single element of an array field Johnson, Andrew N. via Core-talk

Navigate by Date:
Prev: Re: write to a single element of an array field Johnson, Andrew N. via Core-talk
Next: Re: write to a single element of an array field Ralph Lange via Core-talk
Index: 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: write to a single element of an array field Johnson, Andrew N. via Core-talk
Next: Re: write to a single element of an array field Ben Franksen via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 23 Mar 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·