EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: areaDetector plugin with multiple outputs
From: "Pearson, Matthew R." <[email protected]>
To: Mark Rivers <[email protected]>
Cc: "[email protected] list" <[email protected]>
Date: Fri, 23 Sep 2016 12:41:09 +0000
Hi Mark,

Am I right in thinking this should work with NDArrays of different data types or dimensions, at least if the driver or plugin maintained different NDArrayPool instances?

Cheers,
Matt

> On Sep 23, 2016, at 8:04 AM, Mark Rivers <[email protected]> wrote:
> 
> Hi Hinko,
> 
>> To answer my own question, I think the NDPluginTimeSeries::doTimeSeriesCallbacks() does what I'm after.
> 
> Yes, that is correct.  Each NDArray callbacks is done with a different asyn "addr".  So the plugin must pass the flag ASYN_MULTIDEVICE in the constructor and downstream plugins must subscribe for callbacks using the appropriate "addr".
> 
> This is a search to see what plugins call doCallbacksGenericPointer with a non-zero final argument:
> 
> NDPluginCircularBuff.cpp:              doCallbacksGenericPointer(preBuffer_->readFromStart(), NDArrayData, 0);
> NDPluginCircularBuff.cpp:                doCallbacksGenericPointer(preBuffer_->readNext(), NDArrayData, 0);
> NDPluginCircularBuff.cpp:          doCallbacksGenericPointer(pArrayCpy, NDArrayData, 0);
> NDPluginColorConvert.cpp:    doCallbacksGenericPointer(this->pArrays[0], NDArrayData, 0);
> NDPluginFFT.cpp:    doCallbacksGenericPointer(pArrayOut, NDArrayData, 0);
> NDPluginFile.cpp:    doCallbacksGenericPointer(pArray, NDArrayData, 0);
> NDPluginFile.cpp:      doCallbacksGenericPointer(pArrayOut, NDArrayData, 0);
> NDPluginOverlay.cpp:    doCallbacksGenericPointer(this->pArrays[0], NDArrayData, 0);
> NDPluginProcess.cpp:        doCallbacksGenericPointer( pArrayOut, NDArrayData, 0);
> NDPluginROI.cpp:    doCallbacksGenericPointer(this->pArrays[0], NDArrayData, 0);
> NDPluginROIStat.cpp:      doCallbacksGenericPointer(pArrayOut, NDArrayData, 0);
> NDPluginStats.cpp:            doCallbacksGenericPointer(pArrayOut, NDArrayData, 0);
> NDPluginTimeSeries.cpp:    doCallbacksGenericPointer(pArrayOut, NDArrayData, numSignals_);
> NDPluginTimeSeries.cpp:      doCallbacksGenericPointer(pArray, NDArrayData, signal);
> NDPluginTransform.cpp:  doCallbacksGenericPointer(transformedArray, NDArrayData,0);
> NDPosPlugin.cpp:      doCallbacksGenericPointer(this->pArrays[0], NDArrayData, 0);
> 
> So of the standard plugins in ADCore only NDPluginTimeSeries does this.
> 
> Mark
> 
> ________________________________
> From: [email protected] [[email protected]] on behalf of Hinxx [[email protected]]
> Sent: Friday, September 23, 2016 6:44 AM
> To: [email protected]
> Subject: Re: areaDetector plugin with multiple outputs
> 
> To answer my own question, I think the NDPluginTimeSeries::doTimeSeriesCallbacks() does what I'm after.
> 
> On 09/23/2016 10:41 AM, Hinxx wrote:
> Hi,
> 
> I would like to have a single input array into areaDetector plugin and have the plugin deliver multiple arrays as output. Is this possible? Are there any examples?
> I would then like to feed the output arrays into other areaDetector plugins.
> 
> Thanks,
> Hinko
> 
> 
> 



Replies:
RE: areaDetector plugin with multiple outputs Mark Rivers
References:
areaDetector plugin with multiple outputs Hinxx
Re: areaDetector plugin with multiple outputs Hinxx
RE: areaDetector plugin with multiple outputs Mark Rivers

Navigate by Date:
Prev: Re: areaDetector plugin with multiple outputs Hinxx
Next: RE: areaDetector plugin with multiple outputs Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: areaDetector plugin with multiple outputs Hinxx
Next: RE: areaDetector plugin with multiple outputs Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 23 Sep 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·