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  <20152016  2017  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  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: areaDetector: plugin in separate dll
From: Mark Rivers <[email protected]>
To: Phil Atkin <[email protected]>, "[email protected]" <[email protected]>
Date: Mon, 14 Dec 2015 18:15:05 +0000
Hi Phil,

areaDetector includes an example of such an "optional" plugin, called NDPluginEdge.  It is a Canny edge detection plugin using the opencv library.

These are the lines in commonDriverMakefile to include it in any detector applications:

ifdef ADPLUGINEDGE
  PROD_LIBS             += NDPluginEdge
  $(PROD_NAME)_DBD      += NDPluginEdge.dbd
  ifdef OPENCV_LIB
    opencv_core_DIR     += $(OPENCV_LIB)
    PROD_LIBS           += opencv_core opencv_imgproc
  else
    PROD_SYS_LIBS       += opencv_core opencv_imgproc
  endif
endif

You just need to add lines like that to your application application Makefile.

The lines about OPENCV are only needed to tell the build system where to look for the opencv header files and libraries.  You probably don't need the equivalent of those if your plugin does not rely on a "vendor" library.

The important lines are the first 2:

  PROD_LIBS             += NDPluginEdge
  $(PROD_NAME)_DBD      += NDPluginEdge.dbd

This is where you tell make to link with your DLL, and to include a .dbd file that you created which contains a single line like:

registrar("NDEdgeRegister")

Mark


________________________________
From: [email protected] [[email protected]] on behalf of Phil Atkin [[email protected]]
Sent: Monday, December 14, 2015 11:48 AM
To: [email protected]
Subject: areaDetector: plugin in separate dll

I've implemented a new plugin that is in a separate dll (i.e. it's not part of NDPlugin.dll).
How should the ADExample detector's makefiles be altered so that the ioc will load it?

Thanks,

Phil Atkin
--
[cid:[email protected]]Pixel Analytics is a limited company registered in England. Company number: 7747526; Registered office: 93A New Road, Haslingfield, Cambridge CB23 1LP

PNG image


References:
areaDetector: plugin in separate dll Phil Atkin

Navigate by Date:
Prev: RE: Newbie: How do I view the output of an areaDetector plugin? Mark Rivers
Next: RE: ai RVAL via asyn + modbus: getting unsigned integer jon
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: areaDetector: plugin in separate dll Phil Atkin
Next: areaDetector plugins: what variables can be accessed while unlocked? Phil Atkin
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·