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  2016  2017  2018  <20192020  2021  2022  2023  2024  2025  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  <20192020  2021  2022  2023  2024  2025 
<== Date ==> <== Thread ==>

Subject: Re: drvAsynIPPortConfigure and I/O Intr with asynRecord possible?
From: Mark Rivers via Tech-talk <[email protected]>
To: Christoph Schroeder <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Thu, 4 Apr 2019 12:07:52 +0000
Hi Christophe,


The asyn record does work with SCAN=I/O Intr for TCP devices.  The problem is that drvAsynIPPort does not have a mechanism to do callbacks when there is new data, so asyn client needs to poll.  The only code I know of that does this is StreamDevice.


However, I think you could probably do what you want with the asyn record.  Rather than setting it to periodically poll (which is limited to 10 Hz) use a seq record whose link 1 processes the asyn record with a short delay (is .01 or .001 seconds) and link 2 back to processing itself.


Mark



________________________________
From: [email protected] <[email protected]> on behalf of Christoph Schroeder via Tech-talk <[email protected]>
Sent: Thursday, April 4, 2019 2:38 AM
To: [email protected]
Subject: drvAsynIPPortConfigure and I/O Intr with asynRecord possible?

Hello everyone,

I have a device, that sends unsolicited binary data at a rather high
rate to a TCP/IP client. All blocks have the same length and are not
terminated. Since I just want to read them, my Idea was to use the
asynRecord and it's asynRecordDevice support / the asynOctet interface.
The documentation states, that I/O Intr is fully supported, but it
doesn't seem to work. I made a small test setup with netcat and asyn
R4-35 to reproduce this:

in the startup script:
#drvAsynIPPortConfigure("portName","hostInfo",priority,noAutoConnect,noProcessEos)
drvAsynIPPortConfigure("ASYNTEST","localhost:60000",0,0,1)

template:
record(asyn,"$(DEVN):rdRawData") {
     field(DESC, "asyn record test")
     field(DTYP, "asynRecordDevice")
     field(PORT, "$(P)")
     field(ADDR, "$(A)")
     field(IFACE,"asynOctet")
     field(TMOD, "Read")
     field(TMOT, "-1")
     field(IFMT, "Binary")
     field(IMAX, "4")
     field(NRRD, "4")
     field(SCAN, "I/O Intr")
}

If I send data it keeps getting buffered by the socket and is only read,
if I force processing e.g. by caput to the PROC field. Is this a bug or
is it simply not supported?

Tanks and best regards,
Christoph

--
(bb|[^b]{2})


________________________________

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH

Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.

Aufsichtsrat: Vorsitzender Dr. Karl Eugen Huthmacher, stv. Vorsitzende Dr. Jutta Koch-Unterseher
Geschäftsführung: Prof. Dr. Bernd Rech (kommissarisch), Thomas Frederking

Sitz Berlin, AG Charlottenburg, 89 HRB 5583

Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin

Replies:
RE: drvAsynIPPortConfigure and I/O Intr with asynRecord possible? Mark Rivers via Tech-talk
Re: drvAsynIPPortConfigure and I/O Intr with asynRecord possible? Dirk Zimoch via Tech-talk
References:
drvAsynIPPortConfigure and I/O Intr with asynRecord possible? Christoph Schroeder via Tech-talk

Navigate by Date:
Prev: Query about control system choices for insertion devices ronaldo.mercado--- via Tech-talk
Next: Re: firewalld configuration for EPICS? Dirk Zimoch 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  <20192020  2021  2022  2023  2024  2025 
Navigate by Thread:
Prev: drvAsynIPPortConfigure and I/O Intr with asynRecord possible? Christoph Schroeder via Tech-talk
Next: RE: drvAsynIPPortConfigure and I/O Intr with asynRecord possible? Mark Rivers 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  <20192020  2021  2022  2023  2024  2025 
ANJ, 05 Apr 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·