The only document on asynTrace is the section in the asynDriver manual:
http://www.aps.anl.gov/epics/modules/soft/asyn/R4-21/asynDriver.html
From that document these define the bits for when to print messages:
/*asynTrace is implemented by asynManager*/
/*All asynTrace methods can be called from any thread*/
/* traceMask definitions*/
#define ASYN_TRACE_ERROR 0x0001
#define ASYN_TRACEIO_DEVICE 0x0002
#define ASYN_TRACEIO_FILTER 0x0004
#define ASYN_TRACEIO_DRIVER 0x0008
#define ASYN_TRACE_FLOW 0x0010
These define the bits for how to display I/O data:
/* traceIO mask definitions*/
#define ASYN_TRACEIO_NODATA 0x0000
#define ASYN_TRACEIO_ASCII 0x0001
#define ASYN_TRACEIO_ESCAPE 0x0002
#define ASYN_TRACEIO_HEX 0x0004
In your case if you issue this command it will print messages in ASCII with escape codes. The 0 means address 0, since you have a device that supports only a single address. The 2 means ASYN_TRACEIO_ESCAPE.
asynSetTraceIOMask 0 HX86PA 2
This command will turn on all possible debugging messages. The 255 sets all the bits ASYN_TRACE_ERROR | ASYN_TRACEIO_DEVICE, etc.
asynSetTraceMask 0 HX86PA 255
Note that streamDevice does not use the asynTrace facility, so you will have to look at the streamDevice documentation on how to turn on debugging messages for your records at the device support level. asynTrace will only tell you what is going on in the TCP driver and in asynManager.
Mark
________________________________________
From: [email protected] [[email protected]] on behalf of Brian McAllister [[email protected]]
Sent: Monday, July 01, 2013 3:56 PM
To: [email protected]
Subject: asyn+streamDevice hangs with synchronousLock:Yes
I'm using Asyn 4-21 and StreamDevice 2-6, working with a device that uses
serial I/O to send a periodic, unsolicited string which does not have a
terminating character.
The string contains 3 data fields, so I have 3 records using the same INP,
all set to I/O Event scanning.
It works for a few minutes after starting the IOC, but eventually it gets
stuck. The records stop updating and "Characters read" from asynReport
stops increasing. Packet inspection with Wireshark shows that the device
is still sending data.
After this happens, the "synchronousLock" field in asynReport is always
"Yes".
istCooling> asynReport 2 HX86PA
HX86PA multiDevice:No canBlock:Yes autoConnect:Yes
enabled:Yes connected:Yes numberConnects 1
nDevices 0 nQueued 0 blocked:No
asynManagerLock:No synchronousLock:Yes
exceptionActive:No exceptionUsers 0 exceptionNotifys 0
interposeInterfaceList
asynOctet pinterface 0x8198120 drvPvt 0x82d2608
interfaceList
asynCommon pinterface 0x8192e10 drvPvt 0x82d3ad0
asynOctet pinterface 0x82d3b20 drvPvt 0x82d3ad0
Port 172.18.0.13:2000 TCP: Connected
fd: 8
Characters written: 0
Characters read: 3366
Is there a document that shows how to use asynTrace effectively ? The
asynDriver and asynRecord docs don't explain very much about it.
----
Brian McAllister Senior Software Engineer
[email protected] Bates Lab
(617) 253-9537 Middleton, MA
- Replies:
- Re: asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
- References:
- asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
- Navigate by Date:
- Prev:
Re: ChanneIRPC never connected White, Greg
- Next:
naming services Silver
- 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:
asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
- Next:
Re: asyn+streamDevice hangs with synchronousLock:Yes Brian McAllister
- 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
|