Folks,
I am getting ready to release asyn R4-29 and would appreciate any testing people can do. This is from the release notes:
**********************************************
drvAsynIPPort
* Revert the change made in R4-27 to drvAsynIPPortConfigure that changed the noProcessEos flag to userFlags. The final argument to drvAsynIPPortConfigure is now noProcessEos again.
* Implemented the asynOption interface which allows configuring options using key/value pairs. This interface is used in the drvAsynSerialPort driver for configuring baud rate, stop bits, etc. It is also used on drvAsynIPPort for configuring these same items if the port was configured with the COM qualifier, used for Ethernet/Serial terminal servers that use the TELNET RFC 2217 protocol. For that drvAsynIPPort uses the asynInterposeCOM to interpose the asynOctet and asynOption interfaces.
* drvAsynIPPort now also directly supports the asynOption interface for 2 key/value pairs.
* key="disconnectOnReadTimeout", value="Y" or "N". This option replaces the USERFLAG_CLOSE_ON_READ_TIMEOUT that was introduced in R4-27. The advantage of using the asynOption interface is that this behavior can now be changed at run-time, rather than being set once when the driver is created.
* key="hostInfo", value="host:port protocol", i.e. the Internet host name, port number and optional protocol, using the same syntax used in the drvAsynIPPortConfigure command. This allows changing at run time the Internet host and port to which this asyn port is connected. The only restriction is that the setting of the COM (TELNET RFC 2217) protocol cannot be changed from that specified with drvAsynIPPortConfigure. This is because if COM is specified in the drvAsynIPPortConfigure command then asynOctet and asynOption interpose interfaces are used, and asynManager does not support removing interpose interfaces.
testBroadcastApp
Added new test application testBroadcastBurst. This application periodically sends a burst of broadcast packets. The number of packets per burst and the interval between bursts can be specified on the command line. It is useful for testing devices to see how tolerant they are of broadcast bursts.
**********************************************
The code to test can be found in the "drvIP_option" branch on github:
https://github.com/epics-modules/asyn
Thanks,
Mark
________________________________
________________________________________
From: Stubbs, Scott A. [[email protected]]
Sent: Thursday, February 04, 2016 12:32 PM
To: Mark Rivers
Cc: Hill, Bruce; Mitra, Ankush; Browne, Michael C.
Subject: Re: Changing asyn IPPort hostname/port on the fly
Hi Mark,
Excellent, maybe Bruce or the others can chime in, but that sounds like it would work for us. Any thoughts of what version it's going to be wrapped into? We're still on 4-23 here (on the photon side, anyway).
Thanks much,
Scott
---
Scott Stubbs
LCLS Controls & Data Systems
[email protected]
________________________________________
From: Mark Rivers <[email protected]>
Sent: Monday, February 1, 2016 3:55 PM
To: Stubbs, Scott A.
Cc: Hill, Bruce; Mitra, Ankush; Browne, Michael C.
Subject: RE: Changing asyn IPPort hostname/port on the fly
Hi Scott,
This is actually a timely request.
In the drvAsynIPPort driver there is no interface over which we could easily pass the TCP address/port information. I guess it could be passed over the asynOctet interface with a different pasynUser->reason, but that is messy.
However, for other reasons I am thinking of implementing the asynOption interface in this driver, like it is implemented in the drvAsynSerialPort driver. The asynOption interface uses keyword/value pairs, and in the serial driver these are things like "baud"/"9600" or "parity"/"none". For the drvAsynIPPort driver we could implement "address"/"164.54.160.12 UDP", which would close the current socket connection and open a new one. There are a few other options that I have been thinking of implementing in that driver.
Mark
> On Jun 17, 2015, at 1:33 AM, Stubbs, Scott A. <[email protected]> wrote:
>
> Hi Dr. Rivers,
>
> My name is Scott, I am an intern working with the controls group in LCLS at SLAC. I had a question about newer versions of asyn - it appears you cannot change the hostname/port associated with a portName once you use drvAsynIPPortConfigure(). It would be very helpful if we could do this as occasionally our serial servers have bad ports (or their power supplies fail) and this way we would be able to change a port on-the-fly with an IOC shell command, if not a record. Is that correct?
>
> It appears to me this functionality used to exist in asynRecord for TCP connections, but I don't see it in the documentation for 4-23 which is what we use.
>
> Thanks,
> Scott
>
> P.S. My internship is ending soon, so after next week it may be Mike, Bruce and/or Ankush (cc'ed) who continue the discussion.
- Navigate by Date:
- Prev:
CSS BOY Custom Widgets Abdalla Ahmad
- Next:
Sequencer release 2.1.21 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
- Navigate by Thread:
- Prev:
CSS BOY Custom Widgets Abdalla Ahmad
- Next:
Sequencer release 2.1.21 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
|