> Is it possible to have conditional includes in the ipSupport.dbd file?
No. That is a weakness of .dbd files. It is not possible to put
architecture-specific includes or ifdefs in them, which means that if
some of your drivers or device support only works on some architectures
then you need mulitple dbd files.
But in the particular case of the the sequencer I consider it to be
"indispendible" and I treat it as if it were part of base (which it used
to be in earlier versions of EPICS).
Mark
> -----Original Message-----
> From: Emmanuel Mayssat [mailto:[email protected]]
> Sent: Thursday, April 17, 2008 1:21 PM
> To: Mark Rivers
> Cc: epics
> Subject: RE: sequence compilation in multi-device IOC
>
> Mark,
>
> Thank you for your answer. There is a problem with this compilation
> scheme (which is why I asked the question in the first place):
> >From then on, you need to have the sequencer installed prior to
> compiling the driver.
>
> This issue is actually mostly due to the registrar entry in ipSupport
> which is not conditional on the SNCSEQ compilation/makefile variable.
> Now, one could say, well I could have 2 Support.dbd files, but that
> means that at the IOC level I need to understand/remember how
> the device
> driver was implemented.
>
> Worse, if the device is improved/changed at a later time, the IOC
> compilation could break.
>
> Is it possible to have conditional includes in the ipSupport.dbd file?
>
> --
> E
>
> On Sat, 2008-03-08 at 17:48 -0600, Mark Rivers wrote:
> > Hi Emmanuel,
> >
> > I'm not sure I understand your question, but in general
> state programs ARE included in the respective EPICS device libraries.
> >
> > Here is part of a Makefile for a module called "ip"
> >
> > ******************
> > LIBRARY_IOC_solaris = -nil-
> > LIBRARY_IOC_DEFAULT += ip
> > DBD += ipSupport.dbd
> > DBD += ipVXSupport.dbd
> > DBD += ip.dbd
> > DBD += ipVX.dbd
> > ip_SRCS += devXxStrParm.c
> > ip_SRCS += devXxEurotherm.c
> > ip_SRCS += devAiHeidND261.c
> > ip_SRCS += devAiMKS.c
> > ip_SRCS += Keithley2kDMM.st
> > ip_SRCS += Federal.st
> > ip_SRCS += devMPC.c
> > ip_SRCS += devGP307gpib.c
> > ******************
> > Note that the library includes a seq program, Keithley2kDMM.st.
> >
> > Here is part of ipSupport.dbd
> >
> >
> >
> > ******************
> >
> > # Pfeiffer TPG261 Vacuum Controller
> > device(ai, INST_IO, devAiTPG261, "asyn TPG261")
> > device(bi, INST_IO, devBiTPG261, "asyn TPG261")
> > device(mbbi, INST_IO, devMbbiTPG261, "asyn TPG261")
> > device(stringin, INST_IO, devSiTPG261, "asyn TPG261")
> > device(ao, INST_IO, devAoTPG261, "asyn TPG261")
> > device(bo, INST_IO, devBoTPG261, "asyn TPG261")
> > device(mbbo, INST_IO, devMbboTPG261, "asyn TPG261")
> >
> >
> > registrar(Keithley2kDMMRegistrar)
> > ******************
> >
> > Note that it includes the line to register the seq program.
> >
> > Any EPICS application that wants to use this seq program
> simply includes the ip library and ipSupport.dbd.
> >
> > In the st.cmd for an IOC that uses that application you
> just execute the "seq" command to start the seq program.
> >
> > Does this answer your question?
> >
> > Mark
> >
> >
> > ________________________________
> >
> > From: [email protected] on behalf of Emmanuel Mayssat
> > Sent: Sat 3/8/2008 5:27 PM
> > To: epics
> > Subject: sequence compilation in multi-device IOC
> >
> >
> >
> > Hello,
> >
> > I have two different devices drivers.
> > Each one of them:
> > * uses the sequencer
> > * compiles a basic/simpleOC that works
> > * build dset/rset epics libraries
> >
> > I notice that the state programs are compiled in the IOC directly.
> > That is, they are not included in the respective epics
> device libraries
> >
> > Now, I would like to create a more complex IOC that
> supports all of my
> > devices. How can I compile in the state programs? (without
> referencing
> > directly the individual st file ?)
> >
> > Cheers,
> > --
> > E
> >
> >
> >
> >
> >
> >
>
>
- References:
- RE: sequence compilation in multi-device IOC Emmanuel Mayssat
- Navigate by Date:
- Prev:
RE: sequence compilation in multi-device IOC Emmanuel Mayssat
- Next:
edm runtime XtAddCallback errors John M. Skinner
- 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: sequence compilation in multi-device IOC Emmanuel Mayssat
- Next:
SDDS package David Dudley
- 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
|