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/asynPortDriver order of parameter initialization |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | Irie Railton - STFC UKRI <irie.railton at stfc.ac.uk>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 23 Jun 2025 15:47:23 +0000 |
Hi Irie,
I think by “parameters to process on startup” you probably mean that your writeInt32(), writeFloat64() and writeOctet()
methods are being called with those parameters, correct? Those functions are called at iocInit because the output records have PINI=YES and so they process once at iocInit. That is order is set in EPICS base which I believe does the initialization for each record type in order. The order in which your functions are called can be changed using the
PHAS field of the record. There are several ways to handle this in your code.
Let me know if this does not answer your question. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Irie Railton - STFC UKRI via Tech-talk Hello EPICS community, I'm working on an areaDetector driver for PIXCI frame grabbers and associated cameras (ADPixci), and I'm having an issue with accessing uninitialized parameters. On initialisation my asyn parameters are being processed, and then I have a thread that handles the changes and passes them on to the camera. For some of my parameters, processing a change involves getting the
value of another parameter but for a couple of them this other parameter is not yet initialized so it is giving me an asynParamUndefined status. So I had a look into ADCore and I can't figure out what causes the parameters to process on startup, and why the order of initialization is the way it is. So my question is: how is the order of parameter initialisation decided and can it be modified? Kind regards, Irie Railton Software Engineer Software Controls Group CLF Engineering Division |