EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  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  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS Device Driver question
From: "David Dudley" <[email protected]>
To: <[email protected]>
Date: Tue, 31 Oct 2006 12:55:39 -0600
Almost got the question entirely answered.  Just one more thing:
Once the initialize routine is executed, can additional records be added?  For instance, can an additional I/O item by defined?  I'm not giving access to change addresses, but can I also infer that you can't add or delete any?

David Dudley

>>> Andrew Johnson <[email protected]> 10/31/2006 10:51 AM >>>
Hi David,

David Dudley wrote:
> 
> From the talk on Device Support is says that the DSET - initialize
> routine, when passed a parameter of 1, "Can be used as a final
> startup step.  All device address information is now known."
> 
> Does this imply that once the iocinit() routine has called the
> initialize routine with the parameter of 1, I can infer that no
> additional I/O items could be defined?

Unless you're providing the ability to change addresses at runtime (by 
implementing Extended Device Support, see the R3.14.8.2 iocAppDevGuide 
section 12.5 for details) the answer is yes.  The full initialization 
order for a device support is

1. For all dsets, call dset->init(0)
2. For all records, call rset->init_record(prec, 0) which in turn calls 
dset->init_record(prec, 0)
3. For all records, if a dsxt was registered call dsxt->add_record(prec)
4. For all records, call rset->init_record(prec, 1) which in turn calls 
dset->init_record(prec, 1)
5. For all dsets, call dset->init(1)

If you don't register a dsxt during your dset->init(0) call then it is 
not possible to change the record's INP/OUT field at runtime so your 
inference would be correct.

- Andrew
-- 
There is considerable overlap between the intelligence of the smartest
bears and the dumbest tourists -- Yosemite National Park Ranger


BEGIN:VCARD
VERSION:2.1
X-GWTYPE:USER
FN:David Dudley
TEL;WORK:880-3740
ORG:;MIS
TEL;PREF;FAX:880-3741
EMAIL;WORK;PREF;NGW:[email protected]
N:Dudley;David
END:VCARD


Replies:
Re: EPICS Device Driver question Andrew Johnson

Navigate by Date:
Prev: Re: EPICS Device Driver question Andrew Johnson
Next: Re: EPICS Device Driver question Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS Device Driver question Andrew Johnson
Next: Re: EPICS Device Driver question Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·