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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: areaDetector plugin with multiple outputs |
From: | Hinxx <[email protected]> |
To: | Mark Rivers <[email protected]>, "[email protected]" <[email protected]> |
Date: | Fri, 23 Sep 2016 14:05:43 +0200 |
Hi Mark, thanks for confirming this! Cheers, Hinko On 09/23/2016 02:04 PM, Mark Rivers
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 |