EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  <19971998  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  Index 1994  1995  1996  <19971998  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 
<== Date ==> <== Thread ==>

Subject: Re: Subarray records with a minummum profile
From: [email protected] (Tim Mooney)
To: [email protected], [email protected]
Date: Tue, 21 Oct 1997 18:35:22 -0500
John P. Hammonds writes:

> I am looking at using EPICS for a data acquisition system for an array
> of detectors.  We are thinking of using subArray records to hold the
> data but need some flexibility that does not seem to be worked in.  
> 
> First of all we will routinely rebin the array from one run to the next
> so that it would be nice to resize the array on the fly.
> We often combine data on the fly to conserve memory.  Again, we change
> how this is done on the fly.
> 
> To get around the resizing problem I was thinking about defining one
> large subArray record that would predefine the entire data space for the
> crate.  I would then use a subArray record that points into the larger
> dataspace to allow access data for each detector.  For now I can limit
> myself to the 16KB limit for CA transfers within this limit.  This also
> allows data to be binned together on the fly since two of the smaller
> subArrays can point to the same space.  
> 
> One problem that I have with this is that the smaller subarrays seem to
> copy the data from the larger subArray to the smaller one.  This seems
> to be a waste of both time (for copy) and memory for this purpose.  What
> I was thinking of doing was making the BPTR of the smaller array point
> directly to the BPTR of the larger array (+the INDX offset).
> 
> Has anyone done this or does anyone see a problem/improvement with this
> approach?

I think you need a custom record and custom device support.  Device
support could allocate the data array and incoming-data buffers, spawn
and send messages to a binning task, point the task at incoming data,
and give record support pointers to the binned-data array.  Record
support could tell device support how to bin data, and would not
allocate any memory.  It's cvt_dbaddr() routine would just return a
pointer into the data array owned by device support.

Tim Mooney

Navigate by Date:
Prev: pb of acces fault when using save/restore Frederic MICHAUD
Next: edd 2.3 files to edd 1.22 files Manuel Gonzalez Berges
Index: 1994  1995  1996  <19971998  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: Subarray records with a minummum profile Hammonds, John
Next: dm byte widget Sean Prior
Index: 1994  1995  1996  <19971998  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 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·