EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Redundancy Patch: db
From: Andrew Johnson <[email protected]>
To: EPICS core-talk <[email protected]>
Date: Fri, 16 Nov 2007 17:21:47 -0600
Andrew Johnson wrote:
**************
Modified
**************

# source files
(1) base-3.14.9/src/db/dbAccess.c
    dbPutSpecial() is added for CCE. This function is just a pipe to
    call the static function putSpecial(). dbPutSpecial() is written
    by John L. Dalesio and Bernd Schoeneburg originally.

Rather than add a new function, rename the existing static
putSpecial() function to dbPutSpecial() and remove the static
keyword.  All callers to the static putSpecial() routine are local to
this source file.


(2) base-3.14.9/src/db/dbScan.c
    Register periodic scan tasks at RMT. When the IOC is SLAVE, these
    tasks are changed to be inactive.

The #ifndef vxWorks block will not be accepted.

The changes here that provide the ability to stop periodic scan tasks
represent functionality that should be part of Base, although I may
want to change their implementation somewhat.

The code that registers the periodic scan tasks with the RMT should be
replaced with a call through a global function pointer that the RMT
initialization code can set before iocInit().  By removing any need
for the scan code to perform the registration itself this also drops
the requirement for epicsFindSymbol() and for the rmtDrvIf.h header to
be included in Base.


(3) base-3.14.9/src/dbStatic/dbBase.h
    enum type "redUp" and the element of struct dbFldDes "red_update"
    are added for CCE. They are added by Bernd Schoeneburg originally.

(4) base-3.14.9/src/dbStatic/dbLexRoutines.c
    Deal with pdbFldDes->red_update for CCE, by Bernd Schoeneburg
    originally.

This change adds 2 bytes to the field description structure of every field of every record type in every IOC (that's about 1.7 KBytes for all the record types in Base, which will be completely wasted on IOCs that are not redundant) and provides the means for these values to be set from the DBD file that defines the record type. We might want to include a switch in the site configuration to turn on/off whether this structure should include the red_update field.

I note that you did not include any modified record.dbd files; was that an oversight, or do redundant IOCs have to use a completely different set of record types? If you have to add a redUp() line to any of the base record.dbd files then those changes need to go into Base too — you should never use a record.dbd file in an IOC if a different record.dbd file was used to generate the record.h file.


**************
Added
**************
(1) base-3.14.9/src/db/rmtDrvIf.h
    The head file for RMT driver interface.

This header is not required if the task registration code is moved into the redundancy application and hooked into the IOC by setting a global function pointer before iocInit(). In any case it also appears in the rsrv patch; only one instance of any header file should be included.

- Andrew
--
When a distinguished but elderly scientist states that something is
possible, he is almost certainly right.  When he states that something
is impossible, he is very probably wrong.  -- Arthur C. Clarke

Replies:
Re: Redundancy Patch: db Liu, Gongfa
References:
Redundancy Patch: db Andrew Johnson

Navigate by Date:
Prev: Re: Redundancy Patch: iocsh Andrew Johnson
Next: Re: Redundancy Patch: libCom Andrew Johnson
Index: 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Redundancy Patch: db Andrew Johnson
Next: Re: Redundancy Patch: db Liu, Gongfa
Index: 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·