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 2025 | 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 2025 |
<== 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 areaDetector drivers and plug-ins seem to (mainly) use different names for these: for example -- |