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

Subject: Re: Parameter library in asynportdriver /areadetector
From: Mark Rivers <[email protected]>
To: "Gomella, Andrew (NIH/NHLBI) [F]" <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Mon, 16 Jun 2014 19:35:04 +0000
If your driver has a varian::report method like other drivers then you can do

asynReport 10 portName

where portName is the asyn port name of your driver.

That will dump the entire parameter library with index numbers, drvInfo strings and parameter values.

You should see the parameters from asynNDArrayDriver first, then the ones from ADDriver, and finally the ones from your Varian driver.

Mark

Sent from my iPhone

> On Jun 16, 2014, at 1:24 PM, "Gomella, Andrew (NIH/NHLBI) [F]" <[email protected]> wrote:
> 
> Hi,
> 
> Yet another question regarding an areadetector driver I am writing (which is now mostly finished). 
> 
> For some reason my parameter library is not getting set to the correct indices. In my writeInt32 function I put some printf statements and found out that my first parameter VarianMode is set to 3, but should be set to 78. (or vice versa?)
> 
> synStatus varian::writeInt32(asynUser *pasynUser, epicsInt32 value)
> {
>    int function = pasynUser->reason;
>    //int status = asynSuccess;
>    printf("VarianMode: %i", VarianMode);
> 
>    printf("writeint32 %i %i", function, value);
>   if (function == 78){
>        printf("function varian mode called");
>        vip_select_mode(value); //varian function 
> }
> 
> 
> (Explicitly just saying function ==78 was my quick fix to get things working as expected). 
> When I caput VarianMode 1
> the first printf gives: VarianMode: 3
> The second printf gives: writeint32 78 1
> 
> I've compared my code to many areadetector examples and can't figure out what I am doing wrong? Everything I'm doing seems exactly the same - 
> the declarations, the NUM PARAMS define (which is later used in the constructor)
> #define NUM_VARIAN_PARAMS ((int)(&LAST_VARIAN_PARAM - &FIRST_VARIAN_PARAM + 1))
> 
> Any ideas?
> 
> 
> Thanks,
> Andrew 
> 
> Imaging Physics Lab, NIH
> 
> 


Replies:
RE: Parameter library in asynportdriver /areadetector Gomella, Andrew (NIH/NHLBI) [F]
References:
Parameter library in asynportdriver /areadetector Gomella, Andrew (NIH/NHLBI) [F]

Navigate by Date:
Prev: Parameter library in asynportdriver /areadetector Gomella, Andrew (NIH/NHLBI) [F]
Next: RE: Parameter library in asynportdriver /areadetector Gomella, Andrew (NIH/NHLBI) [F]
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Parameter library in asynportdriver /areadetector Gomella, Andrew (NIH/NHLBI) [F]
Next: RE: Parameter library in asynportdriver /areadetector Gomella, Andrew (NIH/NHLBI) [F]
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·