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: multiple overlays with NDPluginOverlay |
From: | David Michel <[email protected]> |
To: | Mark Rivers <[email protected]> |
Cc: | EPICS mailing list <[email protected]> |
Date: | Wed, 11 Feb 2015 17:26:19 +0000 |
Hi David,
The example areaDetector IOCs all load the file commonPlugins.cmd. That file loads NDOverlayN 8 times, so you can have up to 8 overlay items. The first 2 are loaded with the following commands:
dbLoadRecords("$(ADCORE)/db/NDOverlayN.template","P=$(PREFIX),R=Over1:1:,NAME=ROI1, SHAPE=1,O=Over1:,XPOS=$(PREFIX)ROI1:MinX_RBV,YPOS=$(PREFIX)ROI1:MinY_RBV,XSIZE=$(PREFIX)ROI1:SizeX_RBV,YSIZE=
$(PREFIX)ROI1:SizeY_RBV,PORT=OVER1,ADDR=0,TIMEOUT=1")
dbLoadRecords("$(ADCORE)/db/NDOverlayN.template","P=$(PREFIX),R=Over1:2:,NAME=ROI2, SHAPE=1,O=Over1:,XPOS=$(PREFIX)ROI2:MinX_RBV,YPOS=$(PREFIX)ROI2:MinY_RBV,XSIZE=$(PREFIX)ROI2:SizeX_RBV,YSIZE=
$(PREFIX)ROI2:SizeY_RBV,PORT=OVER1,ADDR=1,TIMEOUT=1")
Note that the first command has ADDR=0, the second has ADDR=1. That is what you are probably missing.
What camera are you running? Are you loading commonPlugins.cmd from your startup script, as all of the example IOCs do? If so then there are already 8 overlays.
Mark
From: [email protected] [[email protected]] on behalf of David Michel [[email protected]]
Sent: Wednesday, February 11, 2015 4:09 AM
To: EPICS mailing list
Subject: multiple overlays with NDPluginOverlay
Hi All,
I'm trying to get 2 overlays on my camera image but I'm confused with how to use NDPluginOverlay correctly. I've managed to get one overlay working properly with:
NDOverlayConfigure("$(PREFIX)OVER", $(QSIZE), 0, "$(PREFIX)ROI", 0, 1, 0, 0)
dbLoadRecords("$(AREA_DETECTOR)/ADApp/Db/NDPluginBase.template","P=$(PREFIX),R=Over1:, PORT=$(PREFIX)OVER,ADDR=0,TIMEOUT=1,NDARRAY_PORT=$(PREFIX)ROI,NDARRAY_ADDR=0")
dbLoadRecords("$(AREA_DETECTOR)/ADApp/Db/NDOverlay.template","P=$(PREFIX),R=Over1:, PORT=$(PREFIX)OVER,ADDR=0,TIMEOUT=1")
dbLoadRecords("$(AREA_DETECTOR)/ADApp/Db/NDOverlayN.template","P=$(PREFIX),R=Over1:1:,NAME=Crosshair,SHAPE=0,O=Over1:,XPOS=400,YPOS=400,XSIZE=100,YSIZE=100,PORT=$(PREFIX)OVER,ADDR=0,TIMEOUT=1")
Now... I want to add a second overlay, my guess was that I could just load NDOverlayN.template again with R=Over1:2 and set maxOverlays=2 in the call to NDOverlayConfigure. This, however does not work, as both Over1:1 and Over1:2 seem to control the same single overlay. I must be missing something trivial here, any help greatly appreciated!
Thanks,
David