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: Problem with UInt32Digital in Asyn
From: Mark Rivers <[email protected]>
To: "Wilkins, Stuart" <[email protected]>, "[email protected]" <[email protected]>
Date: Tue, 15 Apr 2014 11:39:13 +0000
Hi Stuart,

You have not told the asynPortDriver base class that you will be using the asynUInt32Digital interface.  You do that with the interfaceMask and interruptMask arguments to the ADDriver constructor.

Change this:

  : ADDriver(portName, 1, NUM_FastCCD_DET_PARAMS, maxBuffers, maxMemory, 
             asynEnumMask, asynEnumMask,
             ASYN_CANBLOCK, 1, priority, stackSize)

to this:

  : ADDriver(portName, 1, NUM_FastCCD_DET_PARAMS, maxBuffers, maxMemory, 
             asynEnumMask | asynUInt32DigitalMask,  asynEnumMask | asynUInt32DigitalMask,
             ASYN_CANBLOCK, 1, priority, stackSize)

Mark

________________________________________
From: [email protected] [[email protected]] on behalf of Wilkins, Stuart [[email protected]]
Sent: Tuesday, April 15, 2014 5:38 AM
To: [email protected]
Subject: Problem with UInt32Digital in Asyn

Hi All,

I am having a problem using the UInt32Digital type in ASYN. I am writing an areaDetector driver and have a camera that gives status back in 3 registers. I would like to read this value from the camera and put it into a UInt32Digital type so that I can make many records for all the status bits. In the constructor of the class I define:

createParam(FastCCDDCMStatusString,asynParamUInt32Digital,&FastCCDDCMStatus);

Then when I poll the camera I write the parameter using:

setUIntDigitalParam(FastCCDDCMStatus, dcm, 0xFFFF);

This works for all other parameters but not for this one. When the IOC boots, I get the rather cryptic message:

XF:23ID1-ES{Det-CCD}cam1:test devAsynUInt32Digital::initCommon findInterface asynUInt32DigitalType

I am sure this is most likely something stupid, but have drawn a blank to what it is. I would appreciate any help anyone has on getting this going. The code can be viewed at:

https://github.com/NSLS-II-CSX/ADFastCCD

Thanks!
Stuart


Replies:
Re: Problem with UInt32Digital in Asyn Wilkins, Stuart
References:
Problem with UInt32Digital in Asyn Wilkins, Stuart

Navigate by Date:
Prev: Problem with UInt32Digital in Asyn Wilkins, Stuart
Next: RE: Streamdevice 2.6 autoconnection failure using drvAsynSerialPort Mazanec Tomáš
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: Problem with UInt32Digital in Asyn Wilkins, Stuart
Next: Re: Problem with UInt32Digital in Asyn Wilkins, Stuart
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 ·