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: A question concerning rset->special()
From: Benjamin Franksen <[email protected]>
To: [email protected]
Date: Thu, 7 Sep 2006 11:34:08 +0200
On Wednesday 06 September 2006 16:53, Andrew Johnson wrote:
> Benjamin Franksen wrote:
> > can the record support special() routine find out how many (array)
> > elements have been resp. are going to be written (assuming SPC_MOD
> > is set for the field and there is actually more than one element
> > etc..)? And if yes, how?
>
> No, the arguments to the rset->special() routine are the DBADDR for
> the field that is being written to, and the pass (0 before, 1 after
> the actual put operation).
>
> However if there's more than one element in the buffer and the field
> is marked as special, immediately after calling rset->special() the
> rset->get_array_info() routine is called to get the offset value (for
> appending data to circular buffers), and after changing the array the
> rset->put_array_info() routine is also called to tell it how big the
> request was.

Ha, that was the kind of trick I was hoping for. Thanks a lot.

> Unfortunately this doesn't seem to provide any way to 
> reject a put based on size if that's what you're trying to do.

No, fortunately that wasn't the goal, I just wanted to remember the 
number of elements actually written, and do some special processing 
based on that. I'll do this in method put_array_info, then, not in 
special.

Thanks again,
Ben
-- 
You've never looked into my eyes but don't you want to know
What the dark and the wild and the different know -- Melissa Etheridge

References:
A question concerning rset->special() Benjamin Franksen
Re: A question concerning rset->special() Andrew Johnson

Navigate by Date:
Prev: Re: RE: Equipment Availability btanu
Next: Re: StripTool2_5_10_0 display of waveform records? Lawrence T. Hoff
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: A question concerning rset->special() Andrew Johnson
Next: Build failure under QNX 6.1 David Eisert
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 ·