EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  <20002001  2002  2003  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  <20002001  2002  2003  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: INP field for generic GPIB record
From: [email protected] (Allan Honey)
To: [email protected], [email protected]
Cc: [email protected]
Date: Thu, 16 Mar 2000 10:40:57 -1000 (HST)
Aloha All

Years ago, we at Keck, bypassed the module_types problem for those drivers
which we use and/or have control over. In fact we do not use module_types.

What we did was add a thin layer on top of devLib -which we had hoped 
would one day be rolled into devLib-  that provides for caching and 
retrieving card information (base addresses, interrupt vectors, interrupt 
levels, i/o port configuration etc). The drivers were then modified to call
functions within that module. 

In addition we added a configure routine to each driver. The configure 
routines are called prior to iocInit so that all card information is cached 
for valid cards (non-existant cards are rejected). During iocInit the driver 
init routines are called, as before, but invalid card numbers do not
cause problems.

The result is that we can add or remove cards without any changes
to config files, drivers, or startup scripts. If one calls a configure
routine for a non-existant card it is not registered and the driver
functions will never attempt to access it. Note that most drivers were 
modified to provide more stringent error checking by using koDevLib functions 
(layered on top of devLib) to probe the cached information.


We have a XYCOM XVME 240 driver with the aforementioned changes. 


If anyone is interested in this please let me know and I will ensure
that the code is current in our ftp site. 

Allan



>  
> > Dear Ned Arnold
> > 	Maybe this should have gone to the list, but the answer is
> > probably pretty obvious.
> > 
> > > 
> > > Old style drivers have the starting address, interrupt vectors, 
> > > max number of cards, etc stored in include/module_types.h .
> > > 
> > 
> > I want to use a bunch of XYCOM XVME-240's in a single crate.  The limit on
> > the number of these modules, as specified in include/module_types.h, is 2.
> > If I want to increase that to 10, is it just a matter of changing the
> > value to 10 in include/module_types.h and recompiling?
> > 
> > 					thanks for any help,
> > 								Steve Pate
>  
> 
> You could do it that way, but everytime you get a new EPICS release you
> would have to remember to change it.
> 
> The scheme that is recommended to change items defined in module_types.h is :
> 
> 1) Copy the file base/drv/old/module_types.c to your application area src
>    directory.
>    
> 2) Edit module_types.c to delete things you don't want to change and edit
>    those that you do.
>    
> 3) Add module_types.o into your xxxAppLib (Makefile.Vx) 
> 
> 4) In the startup file, after the "ld < xxxAppLib", exceute the function
>    module_types.  e.g.
>           
>           
> cd appbin     (example is for 3.13.2)
> ld < iocCore
> ld < seq
> 
> ld < xxxAppLib
> 
> module_types
>           
>           
>           
> This will over-write the default values before the drivers begin their
> initialization.
> 
> 
> 
> 	Ned
> 	
> 
> 


Navigate by Date:
Prev: Re: INP field for generic GPIB record Ned Arnold
Next: Joerger 100MHz VWG Korhonen Timo
Index: 1994  1995  1996  1997  1998  1999  <20002001  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: INP field for generic GPIB record Ned Arnold
Next: Compiling EPICS Robert Willson
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  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 ·