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: asyn R4-32 available
From: Mark Rivers <rivers@cars.uchicago.edu>
To: epics Techtalk <tech-talk@aps.anl.gov>
Date: Fri, 15 Sep 2017 17:19:57 +0000

Folks,

 

asyn R4-32 is now available.

 

asyn is available on github here:

https://github.com/epics-modules/asyn

 

tar and zip files are available here:

https://github.com/epics-modules/asyn/releases  

 

Soon you will be able to find links to the new documentation and release notes here:

http://www.aps.anl.gov/epics/modules/soft/asyn/  

 

These are the items from the R4-32 release notes:

 

- asynManager.c

  - Fixes to queueLockPort() which is used by the asynXXXSyncIO interfaces.

    Previously queueLockPort() did not specify a timeout value or timeout callback function in the call to pasynManager->queueRequest().

    This meant that if a port disconnected while a lock request was queued it would hang until the port reconnected.

    For example, calls to the asynXXXSyncIO functions would not return until the port reconnected.

    Added a timeout callback for the queueRequest in queueLockPort(). This callback function prints a warning message with ASYN_TRACE_WARNING.

    It sets the psynUser->auxStatus field to asynTimeout so that queueLockPort() detects an error and returns an error status without locking the port.

    Callers must be sure to check the return status of queueLockPort and not call any port driver functions if it does.

    This was already done in all of the asynXXXSyncIO functions.

    The timeout for the queueLockPort queue request is determined as follows

        - Each port now has a queueLockPortTimeout value. This is set to a default of 2.0 seconds when the port is created.

        - This can be changed with a new iocsh command  asynSetQueueLockPortTimeout(portName, timeout)

        - If the pasynUser->timeout that is passed for a particular I/O operation is larger than the port timeout value this larger value is used instead.

  - In traceVprintIOSource if the traceIOMask is 0 or traceTruncateSize ≤ 0 output a newline, otherwise output is garbled

 

- asynPortDriver

  - Replaced "int" with "epicsInt32" in many places for consistency and to avoid compiler warnings on some architectures. Thanks to Scott Baily for this.

  - Added new asynPortDriver::getParamType() methods. Thanks to Mark Davis for this.

  - Added a new asynPortDriver constructor that removes the paramTableSize argument.

    Marked the previous constructor as EPICS_DEPRECATED. Added a new initialize() method that both constructors call to do the actual work.

    Changed all of the asynPortDriver example programs and unit test programs to use the new constructor. Thanks to Martin Konrad for this.

 

- Test application *Main.cpp files

  - The main programs in all of the test applications have been updated to the version in the template files in EPICS base 3.15.5.

    This includes a call to epicsExit() after the iocsh() returns. This is needed for epicsAtExit to work correctly on some platforms, including Windows.

 

- Files in configure/ directories

  - The Makefile, CONFIG, CONFIG_SITE, and RULES* files in configure/, makeSupport/top/configure/, and documentation/HowToDoSerial/AB300/configure/

    have been updated to the versions in the template files in EPICS base 3.15.5. The new versions are better suited to site-specific customization.

 

Mark

 

 


Navigate by Date:
Prev: Re: pre-ICALEPCS EPICS workshop reminder Andrew Johnson
Next: Modbus R2-10 available 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: triggerPV in DisplayBuilder Kasemir, Kay
Next: Modbus R2-10 available 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
ANJ, 15 Sep 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·