EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: VXI driver support
From: "Jeff Hill" <[email protected]>
To: "'John Faucett'" <[email protected]>
Cc: "EPICS-tech-talk" <[email protected]>
Date: Mon, 7 Jan 2002 15:36:21 -0700
John, 

The original code was looking in the symbol table for the nivxi library
and calling its initialization only when the library was present.

I don't know what version you are using, but I seem to recall that
Andrew Johnson made source code changes to ifdef out the auto
initialization of the nivxi library in recent versions of drvEpvxi. I
think that Andrew now has it so that, if you would like to turn the
nivxi library auto initialization back on, you must specify -DNICPU030
on the command line when building the driver. See attached. 

Alternatively, you could call the nivxi library's initialization from
the vxWorks startup script.

Jeff

> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: Monday, August 27, 2001 4:24 PM
> To: Jeff Hill
> Cc: Andrew Johnson; Marty Kraimer
> Subject: Re: drvEpvix.c
> 
> Hi Jeff,
> 
> Jeff Hill wrote:
> >
> > Is there any reason why you shouldn't return the code to its
original
> > state with respect to this particular issue?
> 
> I thought that the CPU030 stuff might have been responsible for some
of
> the problems I was seeing under the PowerPC and so I took it out, but
that
> was before I found the bus timeout issue that really solved it.  I'm
still
> not convinced that we should load it unless it's needed, even if it is
> benign - it's still taking up room that some of our IOCs can make use
of.
> 
> Looking at the changes I made, all I really changed was to comment out
the
> NICPU030 macro definition and make the call to nicpu030_init() truly
> conditional on that macro.  The ability to exclude the cpu030 code was
> already there, I just tweaked it so it worked, and changed the default
> setting.  I can see that changing the default setting was what is
causing
> the problem, but my argument is that the default was wrong in the
first
> place.
> 
> All that the sites needing those routines have to do is define the
macro
> by appending -DNICPU030 to ARCH_DEP_CPPFLAGS in a
> config/CONFIG_SITE.Vx.<arch> file.  Maybe the macro should be renamed
to
> something like NIVXILIB to make it clearer what it is switching, in
which
> case the routines should also be renamed to match.  Unless we put in
some
> inverted-logic 'exclude' switch it's harder for those who don't want
this
> code to exclude it (originally by editing their copy of drvEpvxi.c,
but we
> don't want sites to have to do this kind of thing) than for those who
do
> to include it with an entry somewhere in config.
> 
> In a properly unbundled version the build system could switch this
based
> on the presence of a variable in the config/RELEASE file pointing to
the
> location of the NIVXI library, which presumably has to be loaded
anyway if
> it's needed.
> 
> > Who is the manufacture of the PPC based VXI slot zero controller
> > that you are using, or is APS using a pure VME to MXI to VXI
> > solution as in the past.
> 
> We're just using a VME to MXI-2 to VXI solution as before.
> 
> - Andrew
> --
> The world is such a cheerful place when viewed from upside-down
> It makes a rise of every fall, a smile of every frown

> -----Original Message-----
> From: John Faucett [mailto:[email protected]]
> Sent: Monday, January 07, 2002 2:49 PM
> To: [email protected]
> Subject: VXI driver support
> 
> I'm writing driver support for the KineticSystems V345 output
> register and using the V215 driver that comes with EPICS 3.13.4 as a
> pattern.  This is my first try at a VXI module.  The IOC is a KSC
> V150 and builds with hkbaja60 routines.
> 
> The drvVxi routine does not recognize that the V345 module is
> present.  The vxiMemProbe call in open_vxi_device returns a status
> value of -1 for all logical addresses (the V345 is set to logical
> address 1).  Therefore epvxiResourceMangerOK never becomes TRUE
> causing the device support to never fully initialize.
> 
> Is some sort of initialization for the V150 required before iocInit
runs?



Replies:
Re: VXI driver support Andrew Johnson
References:
VXI driver support John Faucett

Navigate by Date:
Prev: VXI driver support John Faucett
Next: Re: VXI driver support Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  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: VXI driver support John Faucett
Next: Re: VXI driver support Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·