Hi Dirk,
Unfortunately this does not solve my problem. I am using epics R3.14.9 and asyn 4-9. This is the output I get with my simple test soft IOC:
-------------------------------------
zms@esaux1 $ ../../bin/linux-x86/atest st.cmd
#!../../bin/linux-x86/atest
< envPaths
epicsEnvSet(ARCH,"linux-x86")
epicsEnvSet(IOC,"iocagwfg")
epicsEnvSet(TOP,"/afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/atest")
epicsEnvSet(ASYN,"/afs/slac/g/esa/ilc/epics/modules/asyn/4-9")
epicsEnvSet(STRM,"/afs/slac/g/esa/ilc/epics/modules/streamdevice-2-3")
epicsEnvSet(EPICS_BASE,"/afs/slac/g/esa/ilc/epics/base/R3-14-9-ilc1")
epicsEnvSet( "STREAM_PROTOCOL_PATH","../../atestApp/Db:.")
cd /afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/atest
dbLoadDatabase("dbd/atest.dbd",0,0)
atest_registerRecordDeviceDriver(pdbbase)
vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,0)
#asynSetTraceMask( "L0",0,255)
asynSetTraceMask( "L0",8,0)
dbLoadRecords("db/atest.db","P=AG:")
cd /afs/slac.stanford.edu/g/esa/ilc/epics/iocTop/atest/iocBoot/iocagwfg
iocInit()
Starting iocInit
############################################################################
## EPICS R3.14.9-lcls1 $R3-14-9$ $2007/02/05 16:31:45$
## EPICS Base built Oct 2 2007
############################################################################
2007/11/05 09:51:13.140 AG:WFreq: asynError in write: L0 port is not connected
2007/11/05 09:51:13.141 AG:WFreq: @init handler failed
2007/11/05 09:51:13.141 AG:WFreq: Record initialization failed
Bad init_rec return value PV: AG:WFreq ao: init_record
iocInit: All initialization complete
epics> 2007/11/05 09:51:23.143 AG:RFreq: asynError in write: L0 port is not conn
ected
exit
zms@esaux1 $
---------------------------------------
Here are my atest.db and atest.proto files:
---------------------------------------
record( ai,"$(P)RFreq"){
field( DESC, "read frequency")
field( DTYP, "stream")
field( SCAN, "10 second")
field( PREC, "2")
field( EGU, "Hz")
field( INP, "@atest.proto rFreq L0 8")
}
record( ao,"$(P)WFreq"){
field( DESC, "write frequency")
field( DTYP, "stream")
field( SCAN, "Passive")
field( PREC, "2")
field( EGU, "Hz")
field( OUT, "@atest.proto wFreq L0 8")
}
# file: atest.proto
Terminator=LF;
rFreq{ out "FREQ?"; in "%f";}
wFreq{ out "FREQ %f"; @init{ rFreq;}}
---------------------------------------------
Here is the tail end of constructed atest.dbd file:
---------------------------
device(waveform,INST_IO,asynFloat64ArrayWfOut,"asynFloat64ArrayOut")
device(asyn,INST_IO,asynRecordDevice,"asynRecordDevice")
driver(stream)
driver(drvAsyn)
registrar(asSub)
registrar(streamRegistrar)
registrar(asynRegister)
registrar(asynInterposeFlushRegister)
registrar(asynInterposeEosRegister)
registrar(vxi11RegisterCommands)
registrar(drvAsynIPPortRegisterCommands)
registrar(drvAsynSerialPortRegisterCommands)
variable(asCaDebug,int)
variable(dbRecordsOnceOnly,int)
variable(dbBptNotMonotonic,int)
variable(streamDebug,int)
----------------------------------
And finally, her is atestApp/src/Makefile:
-----------------------------------
TOP=../..
include $(TOP)/configure/CONFIG
PROD_IOC = atest
DBD += atest.dbd
atest_DBD += base.dbd
atest_DBD += stream.dbd
atest_DBD += asyn.dbd
atest_DBD += drvVxi11.dbd
atest_DBD += atestSup.dbd
# <name>_registerRecordDeviceDriver.cpp will be created from <name>.dbd
atest_SRCS += atest_registerRecordDeviceDriver.cpp
atest_SRCS_DEFAULT += atestMain.cpp
atest_SRCS_vxWorks += -nil-
#The following adds support from base/src/vxWorks
atest_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
#add a definition for each support application used by this application
atest_LIBS += stream
atest_LIBS += asyn
atest_LIBS += $(EPICS_BASE_IOC_LIBS)
include $(TOP)/configure/RULES
---------------------------------
Are you using earlier versions of Epics or asyn? If you are using the same version of these two packages, am I missing something in my Makefile or some other files?
Thanks for helping,
Zen
-----Original Message-----
From: Dirk Zimoch [mailto:[email protected]]
Sent: Monday, November 05, 2007 5:59 AM
To: Szalata, Zenon M.
Subject: Re: Stream device
Hello Zen,
I tested @init handlers with several devices today. I found that TCP ports as well as serial ports work as expected. The problem only occurs with vxi11 ports.
However, I got different error messages:
--------------------------------------------------------------
2007/11/05 13:57:32.057 gpib0,8 vxiCreateDeviceLink RPC error : RPC: Timed out
2007/11/05 13:57:32.058 L0 vxiCreateDevLink failed for addr 8
2007/11/05 13:57:32.058 asynManager::asynConnectCallback, port L0 error calling
asynCommon->connect
2007/11/05 13:57:36.067 L0 vxi11 clientCall errno 0 clnt_stat 5 L0 vxiBusStatus RPC error : RPC: Timed out
2007/11/05 13:57:36.067 L0 asynGpib:srqPoll srqStatus error timeout
2007/11/05 13:57:40.077 L0 vxi11 clientIoCall errno 0 clnt_stat 5
2007/11/05 13:57:40.077 DZ:cmd: asynError in write: L0 RPC failed
2007/11/05 13:57:40.078 DZ:cmd: @init handler failed
2007/11/05 13:57:40.078 DZ:cmd: Record initialization failed
----------------------------------------------------------------
StreamDevice error messages start with "asynError in write: L0 RPC failed". All above is drvVxi11 or asynManager.
I tried to do some debugging with the asynTrace facility and found that the problem disappears as soon as I call asynSetTraceMask, even with a 0 mask!
Thus try this in your startup script:
...
vxi11Configure( "L0","134.79.64.25",0,0.0,"gpib0",0,0)
asynSetTraceMask ("L0",8,0)
...
However, I still have not the slightest idea what goes wrong in the vxi11 driver.
I Hope this helps.
Dirk
- Replies:
- RE: Stream device Mark Rivers
- References:
- Stream device Szalata, Zenon M.
- Re: Stream device Dirk Zimoch
- Navigate by Date:
- Prev:
Re: alh not handling log files correctly Chris Timossi
- Next:
RE: Stream device Mark Rivers
- 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: Stream device Mark Rivers
- Next:
RE: Stream device Mark Rivers
- 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
|