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: [Bug 1908305] Re: Default DTYP can be changed by DBD file order
From: Andrew Johnson via Core-talk <core-talk at aps.anl.gov>
To: core-talk at aps.anl.gov
Date: Tue, 15 Dec 2020 21:05:24 -0000
This happens because dbdExpand.pl now allows device support to be
defined before the record type it refers to has been loaded, so if
base.dbd isn't the first DBD file some other support can become the
first device support entry for one of the base record types instead of
Soft Channel, and hence become the default for records that don't
explicitly set DTYP.

I have a fix, which is to have the IOC always insert a device named
"Soft Channel" at the beginning of the device list (zeroth position) for
the record type. This makes "Soft Channel" a special device name which
it actually wasn't before, but this is about the only nice way I can see
to resolve this.

My new code also aborts the parser if a new device support called "Soft
Channel" is ever loaded after the record type already has record
instances loaded.

** Changed in: epics-base
    Milestone: None => 7.0.5

-- 
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/1908305

Title:
  Default DTYP can be changed by DBD file order

Status in EPICS Base:
  In Progress

Bug description:
  Kay Kasemir reported:

  I was always silently expecting that a record from a *.db file that
  doesn't specifically list the DTYP would default to "Soft Channel".
  Example:

  record(ai, "XXX")
  {
    field(INP, "SomeOtherRecord")
  }
  just works because the field DTYP="Soft Channel" is the default.

  Now I notice that at least with R7.0.3.1, the default is not "Soft
  Channel" but whatever is listed first in the *.dbd file. If that file
  looks like this:

  device(ai, CONSTANT, devAiSoft, "Soft Channel")
  device(ai, INST_IO, devAiXXXX, "MyDeviceSupport")

  then the default for an ai record DTYP is indeed "Soft Channel".

  But if I put "MyDeviceSupport" on top, that becomes the default, as
  can happen when you change the order of XXX_DBD file entries in the
  Makefile.

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

References:
[Bug 1908305] [NEW] Default DTYP can be changed by DBD file order Andrew Johnson via Core-talk

Navigate by Date:
Prev: [Bug 1908305] [NEW] Default DTYP can be changed by DBD file order Andrew Johnson via Core-talk
Next: [Bug 1908305] Re: Default DTYP can be changed by DBD file order Andrew Johnson 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: [Bug 1908305] [NEW] Default DTYP can be changed by DBD file order Andrew Johnson via Core-talk
Next: [Bug 1908305] Re: Default DTYP can be changed by DBD file order Andrew Johnson 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, 15 Dec 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·