This is the code in asyn drvAsynIPPort.c readIt() function:
thisRead = recv(tty->fd, data, maxchars, 0);
if (thisRead > 0) {
asynPrintIO(pasynUser, ASYN_TRACEIO_DRIVER, data, thisRead,
"%s read %d\n", tty->IPDeviceName, thisRead);
tty->nRead += thisRead;
}
So the socket recv() function is only returning a single character.
That's not how most devices work, most send multiple characters in a
single message. But you are presumably using the asynInterposeEos
layer, which repeatedly calls drvAsynIPPort::readIt() until it detects a
terminator, EOM, timeout, or the requested maximum number of characters.
Mark
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of John Dobbins
Sent: Monday, January 17, 2011 3:23 PM
To: EPICS Tech-Talk
Subject: StreamDevice/ASYN connection to a Telnet port
Dear All,
I am connecting to a Gamma Vacuum SPCe ion pump power supply. This
device has an ethernet port which accepts telnet connections.
I set up StremDevice to communicate with it on port 23,
I have asyn Trace Masks set as follows:
asynSetTraceMask("SPCe",-1,0x09)
asynSetTraceIOMask("SPCe",-1,0x2
I have a problem in that the response string , which I expect to look
like "OK 00 7.90E-13 TORR"
appears like this:
epics> 2011/01/17 16:14:55.995 172.18.32.21:23 write 7
spc 0B\r
2011/01/17 16:14:56.475 172.18.32.21:23 read 1
O
2011/01/17 16:14:56.475 172.18.32.21:23 read 1
K
2011/01/17 16:14:56.475 172.18.32.21:23 read 1
2011/01/17 16:14:56.475 172.18.32.21:23 read 1
0
2011/01/17 16:14:56.475 172.18.32.21:23 read 1
0
2011/01/17 16:14:56.476 172.18.32.21:23 read 1
2011/01/17 16:14:56.476 172.18.32.21:23 read 1
7
2011/01/17 16:14:56.476 172.18.32.21:23 read 1
.
2011/01/17 16:14:56.476 172.18.32.21:23 read 1
9
2011/01/17 16:14:56.477 172.18.32.21:23 read 1
0
2011/01/17 16:14:56.477 172.18.32.21:23 read 1
E
2011/01/17 16:14:56.477 172.18.32.21:23 read 1
-
2011/01/17 16:14:56.477 172.18.32.21:23 read 1
1
2011/01/17 16:14:56.478 172.18.32.21:23 read 1
3
2011/01/17 16:14:56.478 172.18.32.21:23 read 1
2011/01/17 16:14:56.478 172.18.32.21:23 read 1
T
2011/01/17 16:14:56.478 172.18.32.21:23 read 1
O
2011/01/17 16:14:56.478 172.18.32.21:23 read 1
R
2011/01/17 16:14:56.479 172.18.32.21:23 read 1
R
2011/01/17 16:14:56.479 172.18.32.21:23 read 1
\r
Can someone tell me what is going on here?
Regards and thanks,
John Dobbins
Cornell University
Lab for Elementary Particle Physics
- References:
- StreamDevice/ASYN connection to a Telnet port John Dobbins
- Navigate by Date:
- Prev:
RE: StreamDevice/ASYN connection to a Telnet port Mark Rivers
- Next:
Spilt the waveform by different indices in DB 勇克
- 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: StreamDevice/ASYN connection to a Telnet port Mark Rivers
- Next:
Re: StreamDevice/ASYN connection to a Telnet port Dirk Zimoch
- 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
|