Folks,
asyn R4-40 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
The documentation and release notes are here:
https://epics-modules.github.io/master/asyn/
These are from the R4-40 release notes:
- ci-scripts
- Updated to v3.0.1 of ci-scripts.
- Added native Windows builds (VS2017) on Travis.
- Added AppVeyor builds for testing on many Windows configuations.
- asynPortDriver
- Fixed error in writeInt64 method.
- Added asynParamSet class.
- Added new constuctor that uses asynParamSet.
- Added new utility template function findDerivedAsynPortDriver() that returns a pointer to an asynPortDriver derived class object from its name.
- Build system
- Fixed logic for when CALC and SSCAN modules are needed.
- asynManager
- Take connect timestamp after connection attempt. autoConnectDevice() has a built-in protection that forces at least 2 seconds between connection attempts.
However, previously the timestamp was read before starting the connection, so if the connection attempt takes about 2 seconds (or more) to timeout then
that 2 second do-not-connect window was already expired (or about to expire) by the time connectAttempt() returns.
Now we read the timestamp after connectAttempt() returns.
- Made 2 changes to queueLockPort.
- If the queue request times out then return asynTimeout rather than asynError.
- If the call to pasynManager->queueRequest fails then return the actual failure status rather than asynError.
These changes improve the alarm handling when a device becomes unavailable. Previously it would toggle between TIMEOUT alarm when an actual read
request timed out and READ alarm when a queue request timed out. This caused too many alarms. Previously if the port was Disconnected then it was returning
asynError which sets READ alarm. In this case it should be returning asynDisconnected which sets COM alarm.
- asynTrace
- Changed the output with ASYN_TRACEINFO_SOURCE. Previously the file name included the complete path to the file, which could be very long. The path is now removed.
- asynPortClient
- Fix bug in asynUInt32DigitalClient::registerInterruptUser().
- asynRecord
- Fixed problem updating the CNCT field. Previously if an attempt to connect with CNCT failed CNCT stayed in the Connected state, rather than going back to Disconnected immediately.
- drvAsynIPPort
- Added new tcp&, udp& and udp*& protocols that specify that the SO_RESUSEPORT flag should be used.
On Windows and RTEMS SO_REUSEADDR is used instead of SO_RESUSEPORT, but it should have the same effect.
- unittest/Makefile
- Fixed to link with EPICS_BASE_IOC_LIBS unless EPICS_LIBCOM_ONLY=YES.
- devEpics
- Fixed bug in devAsynOctet when using output records with info tag asynREADBACK=1 and asynFIFO not specified.
It was supposed to be creating a ring buffer with one element, but was not, so the readback did not work.
- Many files
- Removed tabs and trailing white space.
- Minor changes to avoid compiler warnings.
Mark
- Navigate by Date:
- Prev:
Re: Asyn/StreamDevice for HP3458A through Agilent E5810 LAN/GPIB Gateway Hu, Yong via Tech-talk
- Next:
data acquisition strategies Valentyn Stadnytskyi 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
- Navigate by Thread:
- Prev:
PowerMaster II device support? DiMonte, Nicholas via Tech-talk
- Next:
data acquisition strategies Valentyn Stadnytskyi 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
|