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 Mark Rivers
- Navigate by Date:
- Prev:
motor module R6-8-1 released Ron Sluiter
- Next:
Re: Parameter library in asynportdriver /areadetector Mark Rivers
- 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
- Navigate by Thread:
- Prev:
motor module R6-8-1 released Ron Sluiter
- Next:
Re: Parameter library in asynportdriver /areadetector Mark Rivers
- 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
|