Experimental Physics and Industrial Control System
Folks,
asyn R4-23 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 some of the items from the R4-23 release notes:
asynManager.c
Fixed a bug in pasynManager->memMalloc. It could return a pointer that was not a multiple of 8 bytes. This led to subtle problems on some architectures (e.g. ARM) if a double was stored in the memory returned by memMalloc. Fixed the code so the pointer is always a multiple of 16 bytes (for future safety).
drvAsynUSBTMC
Added driver for USB TMC (Test and Measurement Class) devices.
Works on any system that provides libusb-1.0.
Requires no kernel modifications.
Tested with StreamDevice on Darwin, Linux and Windows.
Enabled by setting DRV_USBTMC=YES in configure/CONFIG_SITE.
drvAsynSerialPort
Fixed bug: the port was not always being disconnected when the OS returned serious errors. This was preventing USB serial devices from disconnecting and reconnecting properly.
drvAsynSerialPortWin32 (Windows serial port driver)
Fixed 2 bugs in pasynOctet->read() when pasynUserTimeout=0:
It was not returning immediately, it was waiting 16 ms.
If there were no characters to be read it was not returning asynTimeout, it was returning asynSuccess.
This prevented StreamDevice from working correctly.
drvAsynIPServerPort
Added support for UDP servers, in addition to TCP servers. Thanks to Helge Brands and Dirk Zimoch from PSI for this.
devEpics (asynInt32)
Sign-extend positive or unsigned values as well as negative values when DTYP=asynInt32 and asynMask value is non-zero.
devEpics (asynUInt32Digital)
Apply mask to longin and longout records.
asynPortDriver
Undid the change in R4-22 that changed the asynStdInterfaces from protected to private. That change was not compatible with areaDetector R1-9-1.
Removed paramList.h and paramList.cpp, put the code into asynPortDriver.cpp. These two classes had many interdependencies, so needed to include each other's header files. This was difficult when building dynamically on Windows, where imported and exported symbols need to be distinguished.
Added links to asynPortDriver.html to detailed tutorial on how to write a driver using asynPortDriver.
asynOctetSyncIO
Fixed a bug that could cause the values of *nbytesOut, *nbytesIn, and *eomReason to be garbage if an I/O error occurred.
Many files
Handled exporting symbols consistently, which is important when building dynamically for Windows with Visual Studio.
configure directory
Updated the files in the configure directory to the versions from EPICS base 3.14.12.3. Paths to EPICS base and other modules are still defined in configure/RELEASE. However, other configuration values, such as LINUX_GPIB and DRV_USBTMC are now defined in configure/CONFIG_SITE, not in RELEASE.
Mark Rivers
Eric Norum
- Navigate by Date:
- Prev:
RE: saveData vs 2G file size limit Mooney, Tim M.
- Next:
Re: sequencer installation Vikram Bhagat
- 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: saveData vs 2G file size limit Mooney, Tim M.
- Next:
Huber Unichiller 012-MPC support module? ronaldo.mercado
- 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