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 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
<== Date ==> <== Thread ==>

Subject: RE: Asyn support
From: Mark Rivers <rivers@cars.uchicago.edu>
To: Stefen Paul <stefen4114@gmail.com>, EPICS Tech Talk <tech-talk@aps.anl.gov>
Date: Tue, 3 Jan 2017 13:38:11 +0000
Hi Stefan,

asyn uses the following logic in drvAsynIPPort.c to try to determine if WSAPoll is supported:

# if defined(vxWorks)
#  define FAKE_POLL
# elif defined(_WIN32)
#  if defined(POLLIN)
#   define poll(fd,nfd,t) WSAPoll(fd,nfd,t)
#  else
#   define FAKE_POLL
#  endif
# else
#  include <sys/poll.h>
# endif

So it checks to see if POLLIN is defined by some system header file, and if it is then it assumes that WASPoll is available.  That is apparently not working on your XP system.  What compiler (and version) are you using?  You could edit the above lines so that FAKE_POLL is always defined for you, and WSAPoll is not used.

Mark

________________________________
From: Mark Rivers
Sent: Tuesday, January 03, 2017 7:24 AM
To: Stefen Paul; EPICS Tech Talk
Subject: RE: Asyn support

Hi Stefan,

> But when I executed st.cmd  (using <app>.exe , on win32 PC), first I got the error "asyn.dll not found".
> So I added the path of asyn.dll to the system variable PATH.

There is a better way to do that. In the Makefile in the IOC directory modify to have the following 2 lines:

ARCH = windows-x64
TARGETS = envPaths dllPath.bat

This is assuming that you are building for the windows-x64 architecture.  If you are using 32-bit system change that line to ARCH = win32-x86.

When you run "make" in that IOC directory you will then get a file called dllPath.bat.  Execute that file before you run the application and it will put all the required directories for DLLs in your path.

> "The procedure entry point WSAPoll could not be located in the dynamic link library WS2_32.dll"

This is due to a Windows version problem.  What version of Windows are you using?  Are you running on the same Windows system that you build with?

Mark



________________________________
From: Stefen Paul [stefen4114@gmail.com]
Sent: Tuesday, January 03, 2017 7:01 AM
To: Mark Rivers; EPICS Tech Talk
Subject: Re: Asyn support

Hi,

I have something more to add ....

I could add asyn record in the VDCT database.

There was no problem till the point of adding asyn records and building (make) the application

But when I executed st.cmd  (using <app>.exe , on win32 PC), first I got the error "asyn.dll not found".

So I added the path of asyn.dll to the system variable PATH.

Now when I execute st.cmd , I get the following error :

"The procedure entry point WSAPoll could not be located in the dynamic link library WS2_32.dll"

I tried adding the path of this dll to the system PATH but the I keep getting the same error on executing st.cmd

Any Clues about this problem ?

(Note : No such error was seen when I added Calc module for acalcout & scalcout records, I just had to add path of calc.dll to PATH)

Thanks,
Stefen






On Mon, Jan 2, 2017 at 7:28 PM, Mark Rivers <rivers@cars.uchicago.edu<mailto:rivers@cars.uchicago.edu>> wrote:
Hi Stefen,

You are missing one step.  In the exampleApp/Makefile you need to add the lines:

example_DBD += asyn.dbd
example_DBD += drvAsynSerialPort.dbd

Mark


________________________________
From: tech-talk-bounces@aps.anl.gov<mailto:tech-talk-bounces@aps.anl.gov> [tech-talk-bounces@aps.anl.gov<mailto:tech-talk-bounces@aps.anl.gov>] on behalf of Stefen Paul [stefen4114@gmail.com<mailto:stefen4114@gmail.com>]
Sent: Monday, January 02, 2017 6:30 AM
To: EPICS Tech Talk
Subject: Re: Asyn support

Hi,

I’ve  followed these steps trying to include ‘asyn’ record in a win32-x86 EPICS application :

(1) Downloaded asyn4-30 and unzipped in a particular location (epics\modules).

(2) In the configure/RELEASE file of asyn, specified the path EPICS_BASE.

(3) Did the ‘make clean install’ for asyn that completed without error.

(4) Created a win32-x86 application using ‘makeBaseApp –i –t example’.

(5) In the configure/RELEASE file for this app, added the appropriate paths EPICS_BASE and  ASYN.

(6) In the src/MAKEFILE, added <app>_LIBS += asyn

(7) Did the ‘make clean install’ for the application that completed without error.

(8) Opened the default dbd/db combination of the app (<app>.dbd & dbExample1.db) using VDCT.
Now when I try to create a new record, I don’t find the ‘asyn’  in the drop-down list for record type.

Am I missing any step ?

Thanks,
Stefen


On Thu, Dec 29, 2016 at 10:15 PM, Mark Rivers <rivers@cars.uchicago.edu<mailto:rivers@cars.uchicago.edu><mailto:rivers@cars.uchicago.edu<mailto:rivers@cars.uchicago.edu>>> wrote:
Hi Stephen,

I would recommend using the most recent version of asyn. Older versions will also work, but don't have all the bug fixes. It will work with your version of base.

Mark


Sent from my iPhone

On Dec 29, 2016, at 9:57 AM, "freddie.akeroyd@stfc.ac.uk<mailto:freddie.akeroyd@stfc.ac.uk><mailto:freddie.akeroyd@stfc.ac.uk<mailto:freddie.akeroyd@stfc.ac.uk>><mailto:freddie.akeroyd@stfc.ac.uk<mailto:freddie.akeroyd@stfc.ac.uk><mailto:freddie.akeroyd@stfc.ac.uk<mailto:freddie.akeroyd@stfc.ac.uk>>>" <freddie.akeroyd@stfc.ac.uk<mailto:freddie.akeroyd@stfc.ac.uk><mailto:freddie.akeroyd@stfc.ac.uk<mailto:freddie.akeroyd@stfc.ac.uk>><mailto:freddie.akeroyd@stfc.ac.uk<mailto:freddie.akeroyd@stfc.ac.uk><mailto:freddie.akeroyd@stfc.ac.uk<mailto:freddie.akeroyd@stfc.ac.uk>>>> wrote:

Hi,

Using asyn will make developing a driver easier, but in most cases you can use StreamDevice (a separate install which works with asyn) and you only then need to provide a text based protocol definition file for new devices. See http://www.aps.anl.gov/epics/modules/soft/asyn/ for links to versions of asyn compatible with your EPICS base as well as links to using SteamDevice. If you will be installing other EPICS modules too, you may want to consider the synApps collection https://www1.aps.anl.gov/BCDA/synApps which includes asyn and StreamDevice as well as many other useful EPICS modules

Regards,

Freddie


From: tech-talk-bounces@aps.anl.gov<mailto:tech-talk-bounces@aps.anl.gov><mailto:tech-talk-bounces@aps.anl.gov<mailto:tech-talk-bounces@aps.anl.gov>><mailto:tech-talk-bounces@aps.anl.gov<mailto:tech-talk-bounces@aps.anl.gov><mailto:tech-talk-bounces@aps.anl.gov<mailto:tech-talk-bounces@aps.anl.gov>>> [mailto:tech-talk-bounces@aps.anl.gov<mailto:tech-talk-bounces@aps.anl.gov><mailto:tech-talk-bounces@aps.anl.gov<mailto:tech-talk-bounces@aps.anl.gov>>] On Behalf Of Stefen Paul
Sent: 27 December 2016 07:14
To: EPICS Tech Talk
Subject: Asyn support

Hi All,

I have downloaded and built epics base 3.14.12.4 for windows, on a PC running winXP.

I wanna use serial COM ports from epics application. I believe I will be needing asyn support to make that happen.

plz suggest which asyn version will work with my epics version, how to integrate asyn in my setup and how to use it in application.

Thanks,
Stefen



--
Thanks,
Stefen



--
Thanks,
Stefen


References:
Re: Asyn support Stefen Paul
RE: Asyn support Mark Rivers
Re: Asyn support Stefen Paul
RE: Asyn support Mark Rivers

Navigate by Date:
Prev: RE: Asyn support Mark Rivers
Next: RE: Installing areadetector on raspberry-pi2 OS raspbian pixels Mark Rivers
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
Navigate by Thread:
Prev: RE: Asyn support Mark Rivers
Next: RE: All PV dosconnect in css-BPY Shroff, Kunal
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
ANJ, 14 Feb 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·