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: Re: streams drivers
From: Peter Blanco <[email protected]>
To: "Hu, Yong" <[email protected]>, Mark Rivers <[email protected]>, "[email protected]" <[email protected]>
Date: Thu, 23 Jun 2016 08:14:09 -0400
Will try,
Thank you

Peter Blanco Test/Software Eng. Kepco Inc.


From: "Hu, Yong" <[email protected]>
To: Mark Rivers <[email protected]>, Peter Blanco <[email protected]>, "[email protected]" <[email protected]>
Sent: 6/22/2016 5:45 PM
Subject: Re: streams drivers

I guess Peter is using the StreamDevice from PSI website or GitLab, which does not include the directory “configure” containing a few basic configuration files. That might explain why he put the “StreamDevice” in epics base directory. I actually did this kind of thing a few years ago when I was a graduate student.

From the attached output file in Peter’s previous email, I do not see “asyn” get compiled as I only see "... -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc ...". We should see "... -lasyn -lrecIoc -lsoftDevIoc -lmiscIoc -lrsrvIoc ...” if asyn is compiled in the StreamDevice.

So, get a version of stream from the link Mark gave and define ASYN in configure/RELEASE. Then make a clean rebuild.

@Dirk, why do not you include “configure” in your official StreamDevice release?

Yong


From: <[email protected]> on behalf of Mark Rivers <[email protected]>
Date: Wednesday, June 22, 2016 at 2:01 PM
To: Peter Blanco <[email protected]>, "[email protected]" <[email protected]>
Subject: RE: streams drivers

I am using the version of streamDevice from here:


That is probably slightly different from the version on the PSI Web site.  It was modified to work with the synApps directory structure.  This is the top-level Makefile:

***********************************
corvette:~/devel/stream>more Makefile
#Makefile at top of application tree
TOP = .
include $(TOP)/configure/CONFIG
DIRS += configure streamDevice
streamDevice_DEPEND_DIRS  = configure

include $(TOP)/configure/RULES_TOP
***********************************

Mark

________________________________
From: Peter Blanco [[email protected]]
Sent: Wednesday, June 22, 2016 12:55 PM
To: Mark Rivers; [email protected]
Subject: Re: streams drivers

trying to build StreamDevice in /home/blanco/Desktop/EPICS/support/StreamDevice

In release : by default TOP = ..

but that gives me :

blanco@kepcoubuntu-Precision-WorkStation-490:~/Desktop/EPICS/support/StreamDevice$ make
Makefile:10: ../config/CONFIG_APP: No such file or directory
Makefile:25: ../config/RULES_DIRS: No such file or directory
make: *** No rule to make target '../config/RULES_DIRS'. Stop.

tried changing TOP to many different things i.e. /home/blanco/Desktop/EPICS/base
that gives me:

blanco@kepcoubuntu-Precision-WorkStation-490:~/Desktop/EPICS/support/StreamDevice$ make
make -C ./src install
make[1]: Entering directory '/home/blanco/Desktop/EPICS/support/StreamDevice/src'
Makefile:26: ../../config/CONFIG_APP: No such file or directory
Makefile:28: ../../config/RULES_ARCHS: No such file or directory
make[1]: *** No rule to make target '../../config/RULES_ARCHS'. Stop.
make[1]: Leaving directory '/home/blanco/Desktop/EPICS/support/StreamDevice/src' /home/blanco/Desktop/EPICS/base/configure/RULES_DIRS:87: recipe for target 'src.install' failed
make: *** [src.install] Error 2

The confusion is where to put StreamDevice  directory. As I said if I put StreamDevice dir in /home/blanco/Desktop/EPICS/base , the build works, else it can't find things.

Peter Blanco Test/Software Eng. Kepco Inc.


From: Mark Rivers <[email protected]>
Sent: 6/22/2016 1:13 PM
Subject: RE: streams drivers

I think it would be good for you to move StreamDevice from EPICS/base to EPICS/support.  You said that did not work, but it should.  Perhaps that will show us the source of the problem.  Send us the StreamDevice build output when you do that.

Mark

________________________________________
From: [email protected] [[email protected]] on behalf of Mark Rivers [[email protected]]
Sent: Wednesday, June 22, 2016 12:06 PM
To: Peter Blanco; [email protected]
Subject: RE: streams drivers

OK, so your problem is starting with this line in your build output:

perl ../makeref.pl Interface Debug Dummy > streamReferences

This is what I get when I build 2.6

perl ../makeref.pl Interface Debug Dummy AsynDriver > streamReferences

It is also not compiling AsynDriverInterface.cc.

This really seems like it is a problem with the definition of ASYN in configure/RELEASE.  Are you sure that there is no typo there?

Mark


________________________________
From: Peter Blanco [[email protected]]
Sent: Wednesday, June 22, 2016 11:34 AM
To: Mark Rivers; [email protected]
Subject: Re: streams drivers

I rebuilt 2.6, same problem.  attaced is the output

Peter Blanco Test/Software Eng. Kepco Inc.


From: Mark Rivers <[email protected]>
Sent: 6/22/2016 11:54 AM
Subject: RE: streams drivers

Yes, dbior is getting reports both from StreamDevice and from asynManager.  That is normal.  But the problem is that StreamDevice is not listing the asyn bus interface.

Can you send the complete output when you rebuild StreamDevice 2.7.6?

Mark

________________________________
From: Peter Blanco [[email protected]]
Sent: Wednesday, June 22, 2016 10:46 AM
To: Mark Rivers; [email protected]
Subject: Re: streams drivers

I agree.
Actually I get 2 drivers listed separately :
epics> dbior
Driver: stream
StreamDevice 2.7.6 built Jun 21 2016 10:23:43
registered bus interfaces:
DebugInterface
DummyInterface
Driver: drvAsyn
L0 multiDevice:No canBlock:Yes autoConnect:Yes
epics>

According to the doc:
# asynDriver interface is added automatically
# if ASYN is defined in your RELEASE file.

I will try to use the 2.6 version, though I may have already done that.
Might it also be an issue with Ubuntu ?

Peter Blanco Test/Software Eng. Kepco Inc.


From: Mark Rivers <[email protected]>
Sent: 6/22/2016 10:01 AM
Subject: RE: streams drivers

Your problem can be seen in the output of the dbior command.  This is what I get

Driver: stream
StreamDevice 2.6.0 built May 11 2016 15:20:49
registered bus interfaces:
DebugInterface
DummyInterface
AsynDriverInterface

This is what you get:

Driver: stream
StreamDevice 2.7.6 built Jun 21 2016 10:23:43
registered bus interfaces:
DebugInterface
DummyInterface

Note that you are missing AsynDriverInterface.  That is the problem.  Now the question is why?

I see you are using a more recent version of StreamDevice than I am.  Perhaps there is something you need to set when you build StreamDevice now to enable the asyn bus interface?

Mark


________________________________
From: Peter Blanco [[email protected]]
Sent: Wednesday, June 22, 2016 8:37 AM
To: Mark Rivers; [email protected]
Subject: Re: streams drivers

here it is :


blanco@kepcoubuntu-Precision-WorkStation-490:~/Desktop/EPICS/DEBUG/Glassman$ grep -i stream dbd/Glassman.dbd
device(aai,INST_IO,devaaiStream,"stream")
device(aao,INST_IO,devaaoStream,"stream")
device(ai,INST_IO,devaiStream,"stream")
device(ao,INST_IO,devaoStream,"stream")
device(bi,INST_IO,devbiStream,"stream")
device(bo,INST_IO,devboStream,"stream")
device(calcout,INST_IO,devcalcoutStream,"stream")
device(longin,INST_IO,devlonginStream,"stream")
device(longout,INST_IO,devlongoutStream,"stream")
device(mbbi,INST_IO,devmbbiStream,"stream")
device(mbbiDirect,INST_IO,devmbbiDirectStream,"stream")
device(mbbo,INST_IO,devmbboStream,"stream")
device(mbboDirect,INST_IO,devmbboDirectStream,"stream")
device(stringin,INST_IO,devstringinStream,"stream")
device(stringout,INST_IO,devstringoutStream,"stream")
device(waveform,INST_IO,devwaveformStream,"stream")
driver(stream)
registrar(streamRegistrar)
variable(streamDebug,int)
blanco@kepcoubuntu-Precision-WorkStation-490:~/Desktop/EPICS/DEBUG/Glassman$



Peter Blanco Test/Software Eng. Kepco Inc.


From: Mark Rivers <[email protected]>
Sent: 6/22/2016 9:24 AM
Subject: RE: streams drivers

That looks OK.  Perhaps the problem is your application dbd file.

Send the output of

grep -i stream dbd/Glassman.dbd

I get the following for my application:


corvette:~/devel/CARS/dbd>grep -i stream CARSLinux.dbd
device(aai,INST_IO,devaaiStream,"stream")
device(aao,INST_IO,devaaoStream,"stream")
device(ai,INST_IO,devaiStream,"stream")
device(ao,INST_IO,devaoStream,"stream")
device(bi,INST_IO,devbiStream,"stream")
device(bo,INST_IO,devboStream,"stream")
device(calcout,INST_IO,devcalcoutStream,"stream")
device(longin,INST_IO,devlonginStream,"stream")
device(longout,INST_IO,devlongoutStream,"stream")
device(mbbi,INST_IO,devmbbiStream,"stream")
device(mbbiDirect,INST_IO,devmbbiDirectStream,"stream")
device(mbbo,INST_IO,devmbboStream,"stream")
device(mbboDirect,INST_IO,devmbboDirectStream,"stream")
device(stringin,INST_IO,devstringinStream,"stream")
device(stringout,INST_IO,devstringoutStream,"stream")
device(waveform,INST_IO,devwaveformStream,"stream")
device(scalcout,INST_IO,devscalcoutStream,"stream")
driver(stream)
registrar(streamRegistrar)
variable(streamDebug,int)


________________________________
From: Peter Blanco [[email protected]]
Sent: Wednesday, June 22, 2016 8:17 AM
To: Mark Rivers; [email protected]
Subject: Re: streams drivers


# RELEASE - Location of external support modules
#
# IF YOU MAKE ANY CHANGES to this file you must subsequently
# do a "gnumake rebuild" in this application's top level
# directory.
#
# The build process does not check dependencies against files
# that are outside this application, thus you should do a
# "gnumake rebuild" in the top level directory after EPICS_BASE
# or any other external module pointed to below is rebuilt.
#
# Host- or target-specific settings can be given in files named
#  RELEASE.$(EPICS_HOST_ARCH).Common
#  RELEASE.Common.$(T_A)
#  RELEASE.$(EPICS_HOST_ARCH).$(T_A)
#
# This file should ONLY define paths to other support modules,
# or include statements that pull in similar RELEASE files.
# Build settings that are NOT module paths should appear in a
# CONFIG_SITE file.

TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top

ASYN=/home/blanco/Desktop/EPICS/support/asyn

# If using the sequencer, point SNCSEQ at its top directory:
SNCSEQ=/home/blanco/Desktop/EPICS/support/seq

# EPICS_BASE usually appears last so other apps can override stuff:
EPICS_BASE=/home/blanco/Desktop/EPICS/base

# Set RULES here if you want to take build rules from somewhere
# other than EPICS_BASE:
#RULES=/path/to/epics/support/module/rules/x-y




Peter Blanco Test/Software Eng. Kepco Inc.


From: Mark Rivers <[email protected]>
Sent: 6/22/2016 9:11 AM
Subject: RE: streams drivers

It sounds to me like there is a problem with your StreamDevice/configure/RELEASE file for StreamDevice.  Can you please send the contents of that file?

Mark

________________________________
From: [email protected] [[email protected]] on behalf of Peter Blanco [[email protected]]
Sent: Wednesday, June 22, 2016 7:49 AM
Subject: streams drivers


Hello,

I'm trying to use the “Glassman” Power Supply driver which uses streams, also tried a couple other streams drivers & also went through the tutorial steps to build one from scratch, all have same problem.

Below is a screen printout that I got when running the "Glassman" driver TestApp .

I believe the problem may be with the StreamDevice itself.
The only place I could build StreamDevice without getting errors was EPICS/base, otherwise it would complain about not finding stuff.
ASYN is defined in my release file for StreamDevice, but is not listed by dbior, as you can see from the printout.  Instead AsynDriver is listed separately,. Is that normal ?

The call to drvAsynIPPortConfigure("L0", "192.168.1.93:5025", 0, 0, 0, 0) works fine, as it puts my device into Remote, but that's it.

The main errors I get for example are:
Cannot find a bus named 'L0' for 'glassmanTest:1:CurrentSetpoint ,
glassmanTest:1:CurrentSetpoint: Can't attach to bus L0

I also typed 'help'so you can see the cmnds available, asyn stuff is there. Do  you see anything that should be there that isn't ?
also, dbl does give me the list of PVs, (not shown)

Does anyone know what may be wrong ? Would greatly appreciate your help.

Thanks, P.Blanco


blanco@kepcoubuntu-Precision-WorkStation-490:~/Desktop/EPICS/DEBUG/Glassman/iocBoot/iocGlassman$ '/home/blanco/Desktop/EPICS/DEBUG/Glassman/iocBoot/iocGlassman/Glassman' st.cmd
#!../../bin/darwin-x86/Glassman
############################################################################
# Set up environment
epicsEnvSet("P", "glassmanTest:")
epicsEnvSet("R", "1:")
epicsEnvSet("GLASSMAN_IP", "192.168.1.93:5025")
< envPaths
epicsEnvSet("ARCH","linux-x86_64")
epicsEnvSet("IOC","iocGlassman")
epicsEnvSet("TOP","/home/blanco/Desktop/EPICS/DEBUG/Glassman")
epicsEnvSet("STREAM","/home/blanco/Desktop/EPICS/base/StreamDevice")
epicsEnvSet("ASYN","/home/blanco/Desktop/EPICS/support/asyn")
epicsEnvSet("EPICS_BASE","/home/blanco/Desktop/EPICS/base")
epicsEnvSet("STREAM_PROTOCOL_PATH", "../../db")
############################################################################
# Register support components
dbLoadDatabase "../../dbd/Glassman.dbd"
Glassman_registerRecordDeviceDriver pdbbase
############################################################################
# Configure hardware
drvAsynIPPortConfigure("L0", "192.168.1.93:5025", 0, 0, 0, 0)
#asynSetOption("L0", -1, "baud", "9600")
#asynSetOption("L0", -1, "bits", "8")
#asynSetOption("L0", -1, "parity", "none")
#asynSetOption("L0", -1, "stop", "1")
#asynSetOption("L0", -1, "clocal", "Y")
#asynSetOption("L0", -1, "crtscts", "N")
#asynSetTraceIOMask("L0",-1,0x2)
#asynSetTraceMask("L0",-1,0x09)
############################################################################
# Load record instances
dbLoadRecords("../../db/devGlassman.db","P=glassmanTest:,R=1:,PORT=L0,Vmax=1000,Imax=300")
dbLoadRecords("../../db/asynRecord.db","P=iocGlassman:,R=asyn,PORT=L0,ADDR=0,OMAX=100,IMAX=100")
############################################################################
# Start EPICS
# cd "${TOP}/iocBoot/${IOC}"
iocInit
Starting iocInit
############################################################################
## EPICS R3.14.12.5 $Date: Tue 2015-03-24 09:57:35 -0500$
## EPICS Base built Jun 21 2016
############################################################################
2016/06/21 10:39:25.764800 _main_ Cannot find a bus named 'L0' for 'glassmanTest:1:CurrentSetpoint'
2016/06/21 10:39:25.764890 _main_ glassmanTest:1:CurrentSetpoint: Can't attach to bus L0 0
2016/06/21 10:39:25.764902 _main_ glassmanTest:1:CurrentSetpoint: Record initialization failed
2016/06/21 10:39:25.764926 _main_ Cannot find a bus named 'L0' for 'glassmanTest:1:VoltageSetpoint'
2016/06/21 10:39:25.764940 _main_ glassmanTest:1:VoltageSetpoint: Can't attach to bus L0 0
2016/06/21 10:39:25.764955 _main_ glassmanTest:1:VoltageSetpoint: Record initialization failed
2016/06/21 10:39:25.764978 _main_ Cannot find a bus named 'L0' for 'glassmanTest:1:Version'
2016/06/21 10:39:25.764995 _main_ glassmanTest:1:Version: Can't attach to bus L0 0
2016/06/21 10:39:25.765009 _main_ glassmanTest:1:Version: Record initialization failed
2016/06/21 10:39:25.765032 _main_ Cannot find a bus named 'L0' for 'glassmanTest:1:StMon_'
2016/06/21 10:39:25.765048 _main_ glassmanTest:1:StMon_: Can't attach to bus L0 0
2016/06/21 10:39:25.765062 _main_ glassmanTest:1:StMon_: Record initialization failed
2016/06/21 10:39:25.765082 _main_ Cannot find a bus named 'L0' for 'glassmanTest:1:OnOff'
2016/06/21 10:39:25.765097 _main_ glassmanTest:1:OnOff: Can't attach to bus L0 0
2016/06/21 10:39:25.765112 _main_ glassmanTest:1:OnOff: Record initialization failed
2016/06/21 10:39:26.267138 _main_ glassmanTest:1:Version: Record not initialised correctly
iocRun: All initialization complete
epicsThreadSleep(2)
2016/06/21 10:39:26.766826 scan1 glassmanTest:1:StMon_: Record not initialised correctly
2016/06/21 10:39:27.766823 scan1 glassmanTest:1:StMon_: Record not initialised correctly
iocPause
iocPause: IOC suspended
epics> help
Type 'help <command>' to see the arguments of <command>.
#               ClockTime_Report
Glassman_registerRecordDeviceDriver             asDumpHash      asInit
asSetFilename   asSetSubstitutions              ascar           asdbdump
asphag          aspmem          asprules        aspuag          astac
asynAutoConnect asynEnable      asynInterposeEosConfig
asynInterposeFlushConfig        asynOctetConnect
asynOctetDisconnect             asynOctetFlush  asynOctetGetInputEos
asynOctetGetOutputEos           asynOctetRead   asynOctetSetInputEos
asynOctetSetOutputEos           asynOctetWrite  asynOctetWriteRead
asynRegisterTimeStampSource     asynReport      asynSetAutoConnectTimeout
asynSetMinTimerPeriod           asynSetOption   asynSetTraceFile
asynSetTraceIOMask              asynSetTraceIOTruncateSize
asynSetTraceInfoMask            asynSetTraceMask                asynShowOption
asynUnregisterTimeStampSource   asynWaitConnect callbackSetQueueSize
casr            cd              coreRelease     date
dbDumpBreaktable                dbDumpDevice    dbDumpDriver    dbDumpField
dbDumpFunction  dbDumpMenu      dbDumpPath      dbDumpRecord
dbDumpRecordType                dbDumpRegistrar dbDumpVariable  dbLoadDatabase
dbLoadRecords   dbLoadTemplate  dbLockShowLocked                dbNotifyDump
dbPvdDump       dbPvdTableSize  dbReportDeviceConfig            dba
dbap            dbb             dbc             dbcar           dbd
dbel            dbgf            dbgrep          dbhcr           dbior
dbl             dbla            dblsr           dbnr            dbp
dbpf            dbpr            dbs             dbstat          dbtgf
dbtpf           dbtpn           dbtr            drvAsynIPPortConfigure
drvAsynIPServerPortConfigure    drvAsynSerialPortConfigure      eltc
epicsEnvSet     epicsEnvShow    epicsMutexShowAll               epicsParamShow
epicsPrtEnvParams               epicsThreadResume
epicsThreadShow epicsThreadShowAll              epicsThreadSleep
errlog          errlogInit      errlogInit2     exit
generalTimeReport               gft             help
installLastResortEventProvider  iocBuild        iocInit         iocLogInit
iocLogShow      iocPause        iocRun          iocshCmd        pft
pwd             registryDeviceSupportFind       registryDriverSupportFind
registryDump    registryFunctionFind            registryRecordTypeFind
scanOnceSetQueueSize            scanpel         scanpiol        scanppl
setIocLogDisable                streamReload    taskwdShow      tpn
var
epics> dbior
Driver: stream
StreamDevice 2.7.6 built Jun 21 2016 10:23:43
registered bus interfaces:
DebugInterface
DummyInterface
Driver: drvAsyn
L0 multiDevice:No canBlock:Yes autoConnect:Yes
epics>




Peter Blanco Test/Software Eng. Kepco Inc.




References:
Re: streams drivers Hu, Yong

Navigate by Date:
Prev: ETHERCAT-4-3 on linux-arm yann
Next: Re: streams drivers Peter Blanco
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: Re: streams drivers Hu, Yong
Next: Re: streams drivers Peter Blanco
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 ·