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  2016  2017  2018  2019  <20202021  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  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Changing Asyn Port Driver paramList dynamically
From: Lucas Russo via Tech-talk <tech-talk at aps.anl.gov>
To: "Paduan Donadio, Marcio" <marcio at slac.stanford.edu>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Fri, 24 Jul 2020 13:21:47 -0300
Hi Marcio,

From Asyn version 4-31 onwards you don't need to specify the number of parameters in advance (see https://epics-modules.github.io/master/asyn/R4-31/RELEASE_NOTES.html). You can just use createParam() and the c++ std::vector will handle this for you. So, in your child class I believe you can just call createParam() as usual. You just need to call the father class method if the parameter ID does not belong to your class.

Regarding specifying interfaces/masks I'm not sure if you can modify this after the father class has already initialized. Of course you can always pass these interface/interrupt mask parameters via the constructor, but I think that's not what you want.

You can also take a look at the QuadEM module that does more or less what you want, apparently: https://github.com/epics-modules/quadEM/tree/master/quadEMApp/src

drvQuadEM would be your father class and drvTetrAMM, drvNSLS_EM, etc would be your child classes.

Hope this helps,

Cheers,

Lucas

On Thu, Jul 23, 2020 at 12:16 AM Paduan Donadio, Marcio via Tech-talk <tech-talk at aps.anl.gov> wrote:

Hello.

 

I have this class inheritance scenario:

asynPortDriver <- fatherClass <- childClass

 

fatherClass constructor is calling asynPortDriver constructor, informing the number of elements of paramList as well as masks for interfaces used.

 

I’d like childClass to add more parameters to paramList after fatherClass already created this list and, eventually, add interfaces to the Asyn mask.

 

Is it possible?

 

Thank you,

 

Márcio Paduan Donadio

Control Systems Engineer - SLAC

 


Replies:
Re: Changing Asyn Port Driver paramList dynamically Paduan Donadio, Marcio via Tech-talk
References:
Changing Asyn Port Driver paramList dynamically Paduan Donadio, Marcio via Tech-talk

Navigate by Date:
Prev: RE: ADProsilica crashing on RHEL7 3.10.0-1127 Pearson, Matthew R. via Tech-talk
Next: Re: Changing Asyn Port Driver paramList dynamically Paduan Donadio, Marcio via Tech-talk
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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Changing Asyn Port Driver paramList dynamically Paduan Donadio, Marcio via Tech-talk
Next: Re: Changing Asyn Port Driver paramList dynamically Paduan Donadio, Marcio via Tech-talk
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  <20202021  2022  2023  2024 
ANJ, 24 Jul 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·