Folks,
asyn R4-19 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/
This is from the release notes:
*********************************************
- Interfaces
Added a new interface, asynEnum. This interface is designed to allow drivers to set the strings, values, and severities for record enum fields. This can be done both at iocInit(), in init_record() with the pasynEnumSyncIO->read() function, and after iocInit via callbacks to device support.
- devEpics
Added support for the new asynEnum interface for bo, bi, mbbo, and mbbi records in the asynInt32 and asynUInt32Digital device support. These records now attempt to read the initial values of the strings, values (mbbo and mbbi only) and severities for the enum fields. They also support callbacks on the asynEnum interface, so that enum values can be set dynamically at run-time.
Improved the support for setting the alarm status of records. Previously for records that were not I/O Intr scanned STAT was always set to READ_ALARM or WRITE_ALARM, and SEVR was set to INVALID_ALARM. A new function, pasynEpicsUtils->asynStatusToEpicsAlarm() was added that converts asynStatus values to EPICS alarm values. This allows records to have STAT=TIMEOUT_ALARM, DISABLE_ALARM, etc. More values of STAT can be supported in the future by adding more values to the asynStatus enum.
Previously it was not possible for input records with SCAN=I/O Intr to have their alarm status set at all. This support has been added. Device support now uses the pasynUser->auxStatus field in the pasynUser passed to the callback function. If auxStatus != asynSuccess then the record alarm STAT and SEVR are set to values based on the asynStatus. asyn port drivers can now signal error status to clients in callback functions by setting pasynUser->auxStatus to asynSuccess, asynTimeout, asynError, etc. This change should be backwards compatible with all drivers because the pasynUser that is used for the callbacks is private to the callback function, and the auxStatus field is initialized to 0, which is asynSuccess.
Added new waveform record device support, asynInt32TimeSeries and asynFloat64TimeSeries. These use callbacks from the driver on those respective interfaces to collect a time series of values in a waveform record. Added new medm file asynTimeSeries.adl for this, and added an example waveform record to testEpics/Db/devInt32.db.
- asynRecord
Fixed bugs that caused crashes if SCAN=I/O Intr was set at iocInit.
- asynDriver and asynShellCommands
Added support for I/O redirection to the "dbior" and "asynPrint" commands.
- asynPortDriver
Added support for the new asynEnum interface described above.
Added support in asynPortDriver for passing status information to clients in callbacks. Each parameter in the parameter library now has an associated asynStatus variable. New functions setParamStatus() and getParamStatus() are provided to access this variable. For example, if setParamStatus(paramIndex, asynError) is called then callParamCallbacks() will cause any input records with SCAN=I/O Intr to go into alarm state.
Moved asynPortDriver from the miscellaneous directory to its own directory. Improved the internals, but did not change the API. Thanks to John Hammonds for this.
- Other
Added a new test application, testErrorsApp. This application uses a driver based on asynPortDriver to test error handling for all interfaces and all records support by the asyn standard device support (asyn/devEpics). It can be used to test error handling of records with both periodic scanning and I/O Intr scanning. It also tests the new asynEnum interface for setting enum strings, values, and severities at iocInit.
Removed the newline terminator from all messages in pasynUser->errorMessage. This formatting does not belong in the error message. Thanks to Lewis Muir for this.
drvAsynIPServerPort. Added call to epicsSocketEnableAddressReuseDuringTimeWaitState which fixes problems when the IOC is restarted and the port is still in TIME_WAIT state. Thanks to Lewis Muir for this.
****************************************************
Mark
- Navigate by Date:
- Prev:
RE: [CSS] commas in TextUpdate Steiner, Mathias
- Next:
Re: dbReportDeviceConfig bug 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: VMware : won't allow cagets Mogamad Amien Crombie
- Next:
New sequencer snapshot / release candidate Benjamin Franksen
- 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
|