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  <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: EPICS Clients in C++
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: Fujita Jiro <jiro.fujita at gmail.com>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Tue, 24 Jun 2025 20:42:30 +0000

Actually, the CA client library implementation in Base is written in C++, but it was designed to provide the exact same C API as the original C-based version. It was also written long before modern C++ standards, and was designed for targets where real-time code was required to minimize how often it allocated and released memory to avoid fragmentation.

 

If someone were so inclined it should be possible to create a new C++ API for it that calls the private implementation, but there might be some impedance mismatches when doing that because of the way the code does memory allocation and uses containers.

 

The libCa code was written by Jeff Hill who retired from the Los Alamos National Lab quite a few years ago now, and the current Core Developers don’t often make changes to the implementation. It is very stable code that does what it was designed for well, but the community went in a different direction when we chose to use PV Access as a new network protocol. Some labs are likely to continue using CA for many years so we won’t be throwing it out, but new projects are being steered towards PVA since it can support IPv6 and secure communications. Those could be retro-fitted onto CA, but we have chosen to spend the effort on the newer protocol.

 

- Andrew

 

-- 

Complexity comes for free, Simplicity you have to work for.

 

 

On 6/24/25, 4:26AM, "Tech-talk" <tech-talk-bounces at aps.anl.gov> wrote:

 

Hi Laurenz and Abdalla,

I too have some experience with CAFE from PSI.  It is quite good in my opinion once you get the CAFE working (not difficult).  On the other hand, I am not sure if CAFE is what Abdalla is after; he is looking for C++ library, not a wrapper.  At least when I looked at CAFE the last, it was more of a wrapper than a true C++ library (except that I have not used it for several years that it might have changed).

In fact, I thought about replying to Abdalla with CAFE, until I read his original e-mail very carefully. 

Best,
Jiro

 

On 06/24/2025 9:28 AM, Laurenz Rettig via Tech-talk wrote:

Hi Abdalla, 

I have used café in the past: https://gitlab.psi.ch/cafe

 

Best, Laurenz 

 

 

 

Sent mobile 

 

 

-------- Ursprüngliche Nachricht --------

Von: Abdalla Ahmad via Tech-talk <tech-talk at aps.anl.gov>

Datum: 24.06.25 08:42 (GMT+02:00)

An: Ralph Lange <ralph.lange at gmx.de>

Betreff: RE: EPICS Clients in C++

 

Thanks Ralph. Is there something similar for channel access? In other words, a C++ implementation of channel access?

 

Best Regards,

Abdalla Al-Dalleh

Control Engineer

SESAME

P.O. Box 7, Allan 19252, Jordan
Tel: +96253511348 , ext. 265

Fax: +96253511423

Email : abdalla.ahmad at sesame.org.jo
Website: www.sesame.org.jo

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Ralph Lange via Tech-talk
Sent: Sunday, June 22, 2025 4:15 PM
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: Re: EPICS Clients in C++

 

On Sun, 22 Jun 2025 at 10:57, Abdalla Ahmad via Tech-talk <tech-talk at aps.anl.gov> wrote:

 

Is there a client API for EPICS implemented in C++ not just a wrapper for the C API? Possibly using recent C++ standards?

 

PVXS.

 

Cheers,
~Ralph


References:
RE: EPICS Clients in C++ Laurenz Rettig via Tech-talk
Re: EPICS Clients in C++ Fujita Jiro via Tech-talk

Navigate by Date:
Prev: RE: [EXTERNAL] Re: Suggestions wanted on IOC hardware Leblanc, Gregory via Tech-talk
Next: Re: Diagnosing and overcoming GigE camera freezes Daykin, Evan 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  <2025
Navigate by Thread:
Prev: Re: EPICS Clients in C++ Fujita Jiro via Tech-talk
Next: RE: EPICS Clients in C++ [SEC=OFFICIAL] STARRITT, Andrew 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  <2025
ANJ, 26 Jun 2025 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·