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: write to a single element of an array field
From: Ben Franksen via Tech-talk <tech-talk at aps.anl.gov>
To: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Tue, 17 Mar 2020 12:06:17 +0100
Am 14.03.20 um 00:05 schrieb Johnson, Andrew N. via Tech-talk:
> However as Ralph said there isn’t a way for a filter to
> modify data that is being written to the IOC yet, so far we only have
> methods for filtering on reads (similar paths are used for both Get
> and Monitor operations).
>
> Hope this is enough to get you started.

Apparently not.

I have been looking at this for a few hours now and still don't have the
slightest clue where to start. I guess one of the reasons I am having
such problems is that access via link now goes through interfaces (a
struct of functions, lset in this case) which makes it extremely hard to
find out how things fit together. For instance, I see that lset has a
method getValue. But when I grep for "getValue" I only get the call
sites, but not the places that /set/ the getValue method. Because the
interfaces are constructed using C initializers which don't mention the
method names i.e. the names of the struct members. So there is no easy
way to find out how a typical method implementation looks like. This is
the same problem I have every time I try to understand OO code of any
sort. I wonder how others perceive this.

Strangely, I didn't seem to have this difficulty with record and device
supports. Perhaps this is because all record and device supports in base
live in their own directory (modules/database/src/stdto /{dev,rec}).
There are some lset definitions under modules/database/src/std/link. It
looks as if lnkState.c has some relation to JSON links but I haven't
found out how exactly it is related.

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

Attachment: pEpkey.asc
Description: application/pgp-keys


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

Navigate by Date:
Prev: How can I add multiple serial ports in a single IOC? yincx--- via Tech-talk
Next: Re: How can I add multiple serial ports in a single IOC? Mark Rivers 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: write to a single element of an array field Ralph Lange via Tech-talk
Next: RE: write to a single element of an array field Di Wang 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, 17 Mar 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·