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

Subject: [Bug 1824277] Re: Regression in calcout setting constant links at runtime
From: Ben Franksen via Core-talk <[email protected]>
To: [email protected]
Date: Tue, 23 Apr 2019 16:33:23 -0000
My immediate reaction was the same as Ralph's: if we agree that this is
desired behavior then it should apply to all input links in a generic
manner, independent of record support and not requiring special
processing. I am not familiar with the internal workings of how writing
to a link field is implemented, but given that redirection to another PV
works, I guess it shouldn't be too hard to make it work for numeric
constants?

-- 
You received this bug notification because you are a member of EPICS
Core Developers, which is subscribed to EPICS Base.
Matching subscriptions: epics-core-list-subscription
https://bugs.launchpad.net/bugs/1824277

Title:
  Regression in calcout setting constant links at runtime

Status in EPICS Base:
  In Progress
Status in EPICS Base 7.0 series:
  In Progress

Bug description:
  With the 3.15 branch, writing a literal number to a calcout.INP[A-L]
  field causes the corresponding [A-L] field to be set to that number.
  This works because the calcout record marks the INP fields as
  special(SPC_MOD) and the calcout::special() routine calls
  recGblInitConstantLink() to initialize the corresponding [A-L] field
  from the new link string. I suspect that a number of the synApps
  record types (transform, scalc, acalc etc.) probably use this same
  technique.

  Keenan Lang reported that this doesn't currently work on the 7.0
  branch; the value in the [A-L] field doesn't change, which I have
  confirmed.

  This use of special() to reinitialize constant links is unusual,
  normally putting a literal into a link field after record
  initialization has no effect, but someone who worked on the calcout
  record discovered this way to get it to work.

  I think I know what's going on and how to fix it (change
  dbPutFieldLink() to call dbAddLink() before the second call to
  dbPutSpecial()), but I need to check that this won't break other
  cases.

To manage notifications about this bug go to:
https://bugs.launchpad.net/epics-base/+bug/1824277/+subscriptions

Navigate by Date:
Prev: Re: [Merge] ~anj/epics-base/+git/base-7.0:fix-1824277 into epics-base:7.0 Keenan Lang via Core-talk
Next: [Bug 1824277] Re: Regression in calcout setting constant links at runtime Ralph Lange via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: [Bug 1824277] Re: Regression in calcout setting constant links at runtime Andrew Johnson via Core-talk
Next: [Bug 1824277] Re: Regression in calcout setting constant links at runtime Ralph Lange via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 23 Apr 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·