EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: asyn R4-29 testing
From: Mark Rivers <[email protected]>
To: "Stubbs, Scott A." <[email protected]>
Cc: EPICS Tech-Talk <[email protected]>, "Mitra, Ankush" <[email protected]>, "Browne, Michael C." <[email protected]>
Date: Sun, 7 Feb 2016 15:43:12 +0000
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  <20162017  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  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·