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  <20182019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: New/improved iocsh debug utility functions
From: Andrew Johnson <[email protected]>
To: <[email protected]>
Date: Thu, 1 Mar 2018 18:19:39 -0600
Hi Dirk,

On 03/01/2018 08:54 AM, Dirk Zimoch wrote:
> I had written/modified some iocsh debug utility functions I would like
> to share. I would like to share them and wonder which branch to make the
> merge request against.

Thanks for asking first, discussion below.

> I have originally developed them for 3.14 and some tiny modifications
> are necessary for newer EPICS versions. How to handle that? Make
> separate merge requests for 3.14, 3.15, 3.16 and 7? Or only a sub-set?
> Or can I somehow combine all changes into one merge request?

It would have to be a very unusual change for us to want separate merge
requests for different branches. If there are significant differences
needed for a later branch then posting the modifications as a patch file
attached to the discussion about the merge request should be enough.
Occasionally as needed I merge the 3.14 branch into 3.15 and the 3.15
branch into 3.16, which pulls all the fixes and enhancements forward and
makes sure we don't forget any. A separate merge request for a later
branch would thus be superfluous and result in merge conflicts.

Doing those merges is usually when I find out that a change has to be
modified due to other changes in the later branches, but if the fixes
are minor I can usually make them on the fly. If the differences are
more significant that might be an indication that the merge request
should be made against the new branch, which should then be covered in
the "which branch" discussion.

> These are the shell functions:
> 
> dbla (list aliases)
> Improvement: Instead of only finding the real record names for given
> aliases, also find the alias names of given real record names.

If an IOC has a lot of aliases the output from dbla doesn't help you
find all the pseudonyms of a specific record unless you do some
post-processing of its output. I can see the need for the reverse
search, but I think I'd like to see that provided as a new command since
it's conceptually slightly different. I looked up 'alias' in a thesaurus
and the term nicknames seems the most promising — how about dblnn:

epics> help dbla
dbla pattern
epics> dbla
ao -> anj:ao
ao1 -> anj:ao
ai -> anj:ai
ai1 -> anj:ai
epics> help dblnn
dblnn pattern
epics> dblnn anj:a*
anj:ao <- ao ao1
anj:ai <- ai ai1

How different is that to your current arguments and output format? Can
you show us an example?


> dbll (list links)
> New: List all database links to given records or fields.

"database links _to_ given records or fields", so it's finding DB links
that point to a particular record or field? Are you using the BKNLK list
field that Michael added to dbCommon in 3.16? This information can be
obtained from the DB LockSet Report command (dblsr with level=2) in all
versions of Base, although it's fairly verbose, e.g:

> epics> dblsr signal 2
> Lock Set 5 5 members 5 refs epicsMutexId 0x156e2b0
> signal:averaged
> 	INP	 INLINK NPP NMS signal
> signal
> 	FLNK	FWDLINK NPP NMS signal:averaged
> 	INPB	 INLINK NPP NMS signal:step
> 	INPC	 INLINK NPP NMS signal:amplitude
> 	INPD	 INLINK NPP NMS signal:noise
> signal:step
> signal:amplitude
> signal:noise


> dbli (list info)
> New: List all info fields matching given naming patterns.

Michael and/or Ralph have requested a command like this fairly recently,
so I am very interested in your code. Are you aware that in EPICS 7 the
tag value strings can be JSON objects and stretch over multiple lines?
This might affect how you have to show them. You can see some examples
in modules/pva2pva/testApp/testpdb-groups.db.


> cal (channel access list)
> New: List all channel access connections to given records or fields.

I take it this is a cut-down version of the information shown by the
command 'casr 2' (which has improved significantly in the later branches
BTW). Where is it implemented, and can you show us an example of the output?


Okay, I need to stop here, time to go home...

- Andrew

-- 
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon

Replies:
Re: New/improved iocsh debug utility functions (dbla) Dirk Zimoch
Re: New/improved iocsh debug utility functions (dbla) Dirk Zimoch
Re: New/improved iocsh debug utility functions (dbll) Dirk Zimoch
Re: New/improved iocsh debug utility functions (dbli) Dirk Zimoch
References:
New/improved iocsh debug utility functions Dirk Zimoch

Navigate by Date:
Prev: Jenkins build is back to normal : epics-master-windows » DLL,win64 #37 APS Jenkins
Next: MSI Makefile Madness Michael Davidsaver
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: New/improved iocsh debug utility functions Dirk Zimoch
Next: Re: New/improved iocsh debug utility functions (dbla) Dirk Zimoch
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
ANJ, 02 Mar 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·