Folks,
asyn R4-25 is now available. Links to the new documentation, release notes and tar file can be found here:
http://www.aps.anl.gov/epics/modules/soft/asyn/
asyn is also available via the APS Subversion repository here:
https://svn.aps.anl.gov/epics/asyn/
These are the items from the R4-25 release notes:
- devAsynOctet
Fixed 2 bugs:
- The interrupt callback function for stringin records (e.g. with SCAN=I/O Intr) did not null-terminate the string
if the driver returned MAX_STRING_SIZE or more characters. Thanks to Freddie Akeroyd for fixing this.
- The interrupt callback function for stringin and waveform records were not properly locking the record when modifying the record fields.
- devAsynXXXArray
- Added optional support for ring buffers with waveform records.
Ring buffers were added to asyn device support for scalar (non-array) records in R4-10.
To enable ring buffer support on a waveform record the record info tag FIFO can be set to a value greater than 0.
For example this line in a db file for a waveform record sets a ring buffer size of 20 elements.
info("FIFO", "20")
Ring buffers are only used when records have SCAN=I/O Intr.
They allow the record to process all of the arrays from a rapid burst of callbacks from the driver.
However, because Channel Access does not provide any buffering for arrays, even if the record processes for each new array callback,
Channel Access will not necessarily send events for each value, because it just sends the current record value when the CA callbacks are done.
- A new test application, testArrayRingBufferApp was added to test this array ring buffer support. A new iocBoot/ioctestRingBuffer directory was also added.
- Interfaces
- Added new asynOptionSyncIO interface. This interface is needed so that the asynOption interface can be called synchronously when it is OK to block.
- 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 scripts that show how to use testAsynIPPortClient to communicate with a Web server, XPS motor controller, and a telnet host respectively.
- drvAsynUSBTMC
- Bruno Martins found and fixed a problem with data transfers that spanned multiple USB packets.
- Navigate by Date:
- Prev:
Re: Changing the Timeout for drvAsynSerialPort? Franklin Fuller
- Next:
Re: Build system EXPAND not working with INC Andrew Johnson
- 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: Build system EXPAND not working with INC Andrew Johnson
- Next:
caQtDM on ipad Mezger Anton Christian (PSI)
- 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
|