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  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: enable pvAccess by default
From: Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov>
To: William Kirstaedter <kirstaedter at fhi-berlin.mpg.de>
Cc: "tech-talk at aps.anl.gov" <Tech-talk at aps.anl.gov>
Date: Wed, 3 Apr 2024 10:37:09 -0700
On 3/31/24 13:53, William Kirstaedter via Tech-talk wrote:
Hello Core Devs,

I would like to know if you have already considered activating pvAccess for softIOCs by default.

Changing defaults seems certain to surprise someone.  I understand
the desire for change though as out of date defaults confuse new
users.

Historically, epics-base development has prioritized unsurprising
upgrades over unconfused newbies.  Still, changes are possible if
folks want to propose something concrete.  (aka. PRs welcomed)


I would probably adapt the Makefile template and simply copy the section from the example IOC:

# Link QSRV (pvAccess Server) if available
ifdef EPICS_QSRV_MAJOR_VERSION
     _APPNAME__LIBS += qsrv
     _APPNAME__LIBS += $(EPICS_BASE_PVA_CORE_LIBS)
     _APPNAME__DBD += PVAServerRegister.dbd
     _APPNAME__DBD += qsrv.dbd
endif

When PVXS is included in RELEASE, then PVXS_MAJOR_VERSION will be defined.
So some similar logic can be used.

ifdef PVXS_MAJOR_VERSION
_APPNAME__DBD += pvxsIoc.dbd
_APPNAME__LIBS += pvxsIoc pvxs
endif

Of course this raises the question of what to do if both are defined?

I have tried to design PVXS/QSRV2 so that both QSRV1 and QSRV2 can be linked
into the same executable.  In this happens, then on startup QSRV2 should
detect the presence of QSRV1 and disable itself.

That said, I would recommend avoiding this situation with Makefile logic like:

ifdef PVXS_MAJOR_VERSION # prefer QSRV2 :)
nasaAcq_DBD += pvxsIoc.dbd
nasaAcq_LIBS += pvxsIoc pvxs
else
ifdef EPICS_QSRV_MAJOR_VERSION # fallback to QSRV1
nasaAcq_LIBS += qsrv
nasaAcq_LIBS += $(EPICS_BASE_PVA_CORE_LIBS)
nasaAcq_DBD += PVAServerRegister.dbd
nasaAcq_DBD += qsrv.dbd
endif
endif


Replies:
Re: enable pvAccess by default Han Lee via Tech-talk
References:
enable pvAccess by default William Kirstaedter via Tech-talk

Navigate by Date:
Prev: Pfeiffer Omnicontrol 200 Pierrick M Hanlet via Tech-talk
Next: Re: enable pvAccess by default Michael Davidsaver via Tech-talk
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
Navigate by Thread:
Prev: Re: enable pvAccess by default Ralph Lange via Tech-talk
Next: Re: enable pvAccess by default Han Lee via Tech-talk
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
ANJ, 11 Sep 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·