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  <20182019  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  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Bypassing Options in ImageMode in AreaDetector
From: Mark Rivers <[email protected]>
To: 'Iain Marcuson' <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 14 Sep 2018 16:33:18 +0000

Hi Iian,

 

My previous response was not quite correct.  You also need to define the TWST to be “”, otherwise you will still have 3 choices in the OPI menu:

 

record(mbbo, "$(P)$(R)ImageMode")

{

   field(ZRST, "Single")

   field(ZRVL, "0")

   field(ONST, "Continuous")

   field(ONVL, "2")

   field(TWST, “”)

}

 

record(mbbi, "$(P)$(R)ImageMode_RBV")

{

   field(ZRST, "Single")

   field(ZRVL, "0")

   field(ONST, "Continuous")

   field(ONVL, "2")

   field(TWST, “”)

}

 

Ø  I may have to make a separate AreaDetector project for our sensor and modify that.

 

That is generally the recommended approach for a new detector.

 

-          Create a new project (e.g. Github repository)

-          Create a new C++ driver that derives from ADDriver.

-          Create a new database that first includes ADBase.template.  Overwrite fields from ADBase records and add new records for your detector.

-          Create a new OPI screen starting with ADBase.adl, .opi, .ui, or .edl.

 

Back to your original post:

 

Ø  We only want to use “Single” and “Continuous” ImageMode, not “Multiple”. 

 

Even if the hardware only supports Single and Continuous you might want to consider implementing Multiple via software in your driver.  That is what a number of the existing areaDetector drivers do.  Users often want to be able to collect N images and then stop acquisition.

 

Mark

 

 

From: Iain Marcuson <[email protected]>
Sent: Friday, September 14, 2018 9:08 AM
To: Mark Rivers <[email protected]>; [email protected]
Subject: RE: Bypassing Options in ImageMode in AreaDetector

 

That is what I did in my first implementation, although due to how I set things up I was modifying the ADCore template, which doesn’t seem very portable.  I may have to make a separate AreaDetector project for our sensor and modify that.

 

 

From: Mark Rivers <[email protected]>
Sent: Friday, September 14, 2018 10:05 AM
To: Iain Marcuson <[email protected]>; [email protected]
Subject: RE: Bypassing Options in ImageMode in AreaDetector

 

Hi Iian,

 

You can do it in a simpler way.  You can just redefine the fields of the existing ImageMode record in the database for your detector.  You don’t need to leave a gap.  The ONVL field can be 2, it does not have to be 1.

 

Here is an example from ADAndor/andorApp/Db/andorCCD.template where additional choices were added:

 

record(mbbo, "$(P)$(R)ImageMode")

{

   field(ZRST, "Single")

   field(ZRVL, "0")

   field(ONST, "Multiple")

   field(ONVL, "1")

   field(TWST, "Continuous")

   field(TWVL, "2")

   field(THST, "Fast Kinetics")

   field(THVL, "3")

   field(VAL,  "2")

}

 

record(mbbi, "$(P)$(R)ImageMode_RBV")

{

   field(ZRST, "Single")

   field(ZRVL, "0")

   field(ONST, "Multiple")

   field(ONVL, "1")

   field(TWST, "Continuous")

   field(TWVL, "2")

   field(THST, "Fast Kinetics")

   field(THVL, "3")

   field(SCAN, "I/O Intr")

}

 

In your case you can do:

record(mbbo, "$(P)$(R)ImageMode")

{

   field(ZRST, "Single")

   field(ZRVL, "0")

   field(ONST, "Continuous")

   field(ONVL, "2")

}

 

record(mbbi, "$(P)$(R)ImageMode_RBV")

{

   field(ZRST, "Single")

   field(ZRVL, "0")

   field(ONST, "Continuous")

   field(ONVL, "2")

}

 

Mark

 

 

From: [email protected] <[email protected]> On Behalf Of Iain Marcuson
Sent: Friday, September 14, 2018 8:51 AM
To: [email protected]
Subject: Bypassing Options in ImageMode in AreaDetector

 

I am using areaDetector in a product.  We only want to use “Single” and “Continuous” ImageMode, not “Multiple”.  In the first implementation, I modified ADBase.template to remove the “Multiple” option.  For a more portable solution, I made a new mbbo record without the Multiple option, and set the OUT field to $(P)$(R)ImageMode.  However, I had to define “ZRVAL” and “TWVAL”, skipping “ONVAL” (Multiple), leaving a gap in a drop-down menu.  Is there a way to avoid this gap?

 

Thank you,

 

Iain Marcuson

Software Engineer, Sydor Technologies

585.278.1168 | www.SydorTechnologies.com

Skype: [email protected]

 


References:
Bypassing Options in ImageMode in AreaDetector Iain Marcuson
RE: Bypassing Options in ImageMode in AreaDetector Mark Rivers
RE: Bypassing Options in ImageMode in AreaDetector Iain Marcuson

Navigate by Date:
Prev: Re: Bypassing Options in ImageMode in AreaDetector Andrew Johnson
Next: Base-3.14.12.8 Released Johnson, Andrew N.
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  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Bypassing Options in ImageMode in AreaDetector Andrew Johnson
Next: Base-3.14.12.8 Released Johnson, Andrew N.
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  <20182019  2020  2021  2022  2023  2024 
ANJ, 14 Sep 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·