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
<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:
Subarray records with a minummum profile Hammonds, John
- Next:
dm byte widget Sean Prior
- 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
|