Experimental Physics and
| |||||||||||||||
|
"Hot add/delete" has been an often discussed desirable feature for the past 15 years ... I'm not surprised that someone has actually attempted it ... go for it ! However, this approach might be a bother if you have to do an unplanned reboot after someone has added several new record instances ... Other discussions I've heard hypothesized reloading .db files (without rebooting) so a reboot would always catch the latest ... maybe add the feature to your record to read the .db file and skip over any records that already exist ??? Just a thought ... Ned ----- Original Message ----- From: Steve Lewis <[email protected]> Date: Friday, October 24, 2008 9:15 am Subject: Re: recordGenerator record To: Kalantari Babak <[email protected]> Cc: [email protected] > This is definitely a good idea. I often wish I had just > one more > calc record on a running IOC so I could add a derived value > (power > from voltage and current; take a logarithm; etc). You can > always > leave a few around named "temp_1", "temp_2" and so forth, but > this > seems much more elegant. Another use is adding a history > record. To > avoid any lock-set issues, records like these can always use > "CPP" > links--which I do anyway in such circumstances since I don't > like to > clutter the "hard" code with forward links to "soft" code. > > At 3:56 PM +0200 2008/10/24, Kalantari Babak wrote: > >I have spent some time on writing a new EPICS record type which can > >create new record instances at IOC runtime. At the moment the > code is in > >very preliminary level but it works. "It works" means I am able to > >generate instances of almost any record types at IOC runtime. The > >behavior is as the following: > > > >1. User specifies record type e.g. "ao", "calc", etc. by CA/DB- > write to > >a field of "recordGenerator" record > > > >2. User specifies the channel name by CA/DB-write to a field of > >"recordGenerator" record > > > >- As a result a channel with soft device support (soft channel) with > >corresponding type and name is generated. > > > >The generated records behave like a normal record which is > generated at > >init time from static EPICS database (template files). They can be > >accessed by clients, linked to other records, etc. I have > mainly used > >facilities provided by "dbStatic" library to do this > implementation. I > >had some difficulties with lock-sets but made a work-around > just to get > >it working, but I believe it can be done in a proper way. > > > >One potential usage of this may be to have (soft) waveform > records which > >can have changeable size. One way to do this is to copy the > content of > >the generated waveform record, then delete existing record and > generate>another one with the new size and fill it in with the > data copied from > >the previous waveform. > > > >The questions to me are: > > > >1. are there any interests (now/in future) in such a record > type, in > >another word, is it worth at all to put efforts for such thing? > > > >2. (if yes) what features such record type can/must have? > > > >Any idea/comment is welcome.
| ||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |