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  <20162017  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  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: asyn: drvInfo string vs. EPICS record name
From: Mark Rivers <[email protected]>
To: "'Phil Atkin'" <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 5 Feb 2016 16:20:36 +0000

Hi Phil,

 

Ø  areaDetector drivers and plug-ins seem to (mainly) use different names for these: for example

Ø      drvInfo string: QUEUE_SIZE

Ø      EPICS record name: $(P)$(R)QueueSize

Having the drvInfo strings use uppercase with underscores and the record names and C++ variable names use camel case is historical.  We started using upper case for drvInfo strings a long time ago, and just kept up the convention.

 

Ø  As far as I can see, the drvInfo string is not visible to any client.

 

The drvInfo string not visible to ChannelAccess clients.  However, it is visible to asyn port driver clients.  This includes not only EPICS support, but also standalone C++ programs.  The areaDetector drivers are written such that they depend only on the EPICS libCom library (for OS-independent threads, mutexes, signals, etc.) and asyn (for interfaces).  It is possible to write a C++ program that controls an areaDetector without running it in an IOC.  This is demonstrated in ADExample/iocs/simDetectorNoIOC/simDetectorNoIOCApp/src/simDetectorNoIOC.cpp.  In that case the drvInfo strings are required by the C++ program, which is an asyn client.  The strings are thus part of the public interface and cannot be changed.  The same goes for EPICS database files.  I could change the drvInfo strings in ADCore in asynNDArrayDriver.h, ADDriver.h, etc. and in NDArrayBase.template, ADBase.template, etc.  But users have their own databases with those drvInfo strings now too, so we cannot break the interface.

 

Mark



 

From: [email protected] [mailto:[email protected]] On Behalf Of Phil Atkin
Sent: Friday, February 05, 2016 9:07 AM
To: [email protected]
Subject: asyn: drvInfo string vs. EPICS record name

 

areaDetector drivers and plug-ins seem to (mainly) use different names for these: for example

    drvInfo string: QUEUE_SIZE
    EPICS record name: $(P)$(R)QueueSize

Is there any reason for this?  Any reason they should not be QueueSize and $(P)$(R)QueueSize, or even QUEUE_SIZE and $(P)$(R)QUEUE_SIZE?  As far as I can see, the drvInfo string is not visible to any client.

Thanks,

Phil

--
Pixel Analytics is a limited company registered in England. Company number: 7747526; Registered office: 93A New Road, Haslingfield, Cambridge CB23 1LP


Replies:
Re: asyn: drvInfo string vs. EPICS record name Phil Atkin
References:
asyn: drvInfo string vs. EPICS record name Phil Atkin

Navigate by Date:
Prev: Re: BOY Linking Container doesn't support OPI Search Path? Kasemir, Kay
Next: Re: asyn: drvInfo string vs. EPICS record name Phil Atkin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: asyn: drvInfo string vs. EPICS record name Phil Atkin
Next: Re: asyn: drvInfo string vs. EPICS record name Phil Atkin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·