Is there a way to use, or new version of, vdct that does not eliminate autosave's info field when resaving a database with vdct?
arturo alarcon
To: Kay-Uwe Kasemir <[email protected]>
Subject: Re: Record info nodes? Re: PV save and restore tool sought
From: Tim Mooney <[email protected]>
Date: Wed, 01 Aug 2007 10:18:09 -0500
Cc: tech talk <[email protected]>
In-reply-to: <[email protected]>
References: <8CF98BE8D19EA84BA2271BE19BE8F83402976744@exch-mail2.win.slac.stanford.edu> <[email protected]> <1185908413.4109.242.camel@lewis> <[email protected]> <[email protected]>
Kay-Uwe Kasemir wrote:
On Jul 31, 2007, at 18:08 , Carl Lionberger wrote:
We had a version of autosave at LBNL that looked at characters stuck in the end of the record description file at boot time, using the static library, to find out what records should be saved.
Yes, one can use the DESC field to add additional information,
like in this case instructions for autosave.
I've also used it to provide additional parameters
to an analog input device module.
But that's of course somewhat of a hack.
I think there is now a better way to do this,
because the Database files support adding non-field
meta information to record instances,
beyond just the values of record fields.
I don't remember the exact syntax, even though Andrew
has pointed it out several times.
I think it's called "info node",
and could be used to add parameters for
autosave, archiving, ... anything to record instances.
Of course you would then also have to write the
tool that reads those info node values
and creates the autosave, archive, ... config files.
I found this in the AppDevGuide (sec 6.12), but I'm not sure how best to use it. VDCT doesn't seem to know about this. I can't find a way to add an info node using VDCT. If I add an info node to a database using a text editor, VDCT doesn't show the node, and it strips the node out next time it writes that database.
For clarity...
On input to VDCT, test.db looks like this:
record(bo, "$(P)myBoRecord") {
field(DTYP, "Soft Channel")
info(autosave, "VAL")
}
After saving, the info node is gone:
record(bo, "$(P)myBoRecord") {
field(DTYP, "Soft Channel")
}
Anyway, assuming VDCT does or will be made to honor this syntax in a database file, I'd like to use it with autosave. One possibility would be for autosave to provide a function that reads databases, looking for nodes that tell it what to do.
Autosave needs to know two things to handle a PV:
1) the name of the PV
2) when, during initialization, that PV should be restored. "When" can be one of "never", "during pass 0", "during pass 1", or "during both passes".
Currently, autosave can apply the "when" choice only to an entire save file, not to an individual PV. (But of course this could change.)
--
Tim Mooney ([email protected]) (630)252-5417
Beamline Controls & Data Acquisition Group
Advanced Photon Source, Argonne National Lab.
- Replies:
- Re: Vdct and autosave's info field Tim Mooney
- Navigate by Date:
- Prev:
Re: area Detector on cygwin, win32-x86 Andrew Johnson
- Next:
Newport ESP300 on Linux Patrick Thomas
- 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: area Detector on cygwin, win32-x86 Andrew Johnson
- Next:
Re: Vdct and autosave's info field Tim Mooney
- 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
|