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 2020 <2021> 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 2020 <2021> 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: PINI field for lsi record doesn't seem to work? |
From: | "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov> |
To: | "Rivers, Mark L." <rivers at cars.uchicago.edu> |
Cc: | "Wang, Andrew" <wang126 at llnl.gov>, EPICS tech-talk <tech-talk at aps.anl.gov> |
Date: | Fri, 18 Jun 2021 18:40:40 +0000 |
On Jun 18, 2021, at 12:38 PM, Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> wrote:
Actually having DCT=No won’t prevent you from setting a field in your .db file; you won’t get an error message and
dbLoadRecords() will write that value to the field if it can, but it’s generally an indication that the field isn't intended to be set by hand and nothing different is likely to happen if you do so. Setting the PROC field
of any record demonstrates this nicely.
The DCT column in the record reference tables shows as No when the field has no
promptgroup() setting in its Record.dbd file, implying that there’s no point in an EPICS Database Configuration tool such as VisualDCT or the original dct showing it to the user at design time.
In this particular case both EPICS 7.0 and 3.15 give me an error when trying to set lsi.VAL because the field is actually
DBF_NOACCESS at dbLoadRecords() time, the record support code must be initialized and a buffer allocated for it for the field to become accessible. I’m a bit surprised that Andy didn’t get the same result...
- Andrew
--
Complexity comes for free, simplicity you have to work for.
|