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

Subject: RE: Using asynDriver outside of an EPICS IOC
From: Mark Rivers <[email protected]>
To: "'Jimmy Johnson'" <[email protected]>, "'[email protected]'" <[email protected]>
Date: Thu, 22 Jan 2015 23:32:58 +0000

Hi Jimmy,

 

> Has anyone used the asynDriver framework outside of an EPICS IOC and if so would you be willing to share your experience?

 

In R4-25 of the asyn module there are some additions to make it easier to accomplish this.  This is from the R4-25 release notes:

 

****************************************************************************

Building asyn with only using libCom from EPICS base

It has always been asserted that except for devEpics asyn only really depends on libCom from EPICS base. People who are interested in using asyn drivers from other control systems, want to minimize the dependencies of libraries from EPICS base. The following lines have been added to asyn/configure/CONFIG_SITE:

-------------------------------------------------------------------------------

# If you want to build asyn so the only dependency on EPICS base is libCom then set the following flag

#EPICS_LIBCOM_ONLY=YES

-------------------------------------------------------------------------------

If EPICS_LIBCOM_ONLY is YES then the build is done so that only libCom is needed. This does the following:

  • Omits building all of the device support for EPICS records
  • Omits building the test applications that create IOC applications
  • Sets asyn_LIBS to Com rather than $(EPICS_BASE_IOCS_LIBS) when creating the library
  • Changes the logic in asynPortDriver which uses interruptAccept. If EPICS_LIBCOM_ONLY is set then dbDefs.h is not included and interruptAccept is defined as a static variable set to 1.

A new C++ class was added, asyn/asynPortClient/asynPortClient.cpp. This class makes it easy to write a C++ application that starts existing asyn port drivers and communicates with them over standard asyn interfaces without running an IOC.

A new test application directory was added testAsynPortClient. This tests running C++ applications that communicate with asyn port drivers without running an IOC. This currently contains a single test application, testAsynIPPortClient.cpp. This program creates an asynIPPort driver, and uses the command line arguments to set the hostInfo string, a single command string to send to the server, and optionally the input and output EOS. It then prints out the response from the server. There are 3 example shell scipts that show how to use testAsynIPPortClient to communicate with a Web server, XPS motor controller, and a telnet host respectively.

****************************************************************************

 

In addition the master branch of areaDetector/ADCore (https://github.com/areaDetector/ADCore) contains an example of instantiating a simDetector and a number of areaDetector plugins in a standalone C++ program, without running an EPICS IOC.

 

Let me know if you have more questions.

 

Mark

 

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of Jimmy Johnson
Sent: Thursday, January 22, 2015 12:48 PM
To: '[email protected]'
Subject: Using asynDriver outside of an EPICS IOC

 

Has anyone used the asynDriver framework outside of an EPICS IOC and if so would you be willing to share your experience?

 

Thanks

Jimmy Johnson


Replies:
RE: Using asynDriver outside of an EPICS IOC Jimmy Johnson
References:
Using asynDriver outside of an EPICS IOC Jimmy Johnson

Navigate by Date:
Prev: Using asynDriver outside of an EPICS IOC Jimmy Johnson
Next: RE: Using asynDriver outside of an EPICS IOC Jimmy Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Using asynDriver outside of an EPICS IOC Jimmy Johnson
Next: RE: Using asynDriver outside of an EPICS IOC Jimmy Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·