EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: asyn float64array interrupt problem
From: "Mark Rivers" <[email protected]>
To: "Mark Rivers" <[email protected]>, "Pedersen, UK \(Ulrik\)" <[email protected]>, <[email protected]>
Cc: [email protected]
Date: Fri, 3 Aug 2007 17:55:37 -0500
Ulrik,

I've looked at the code for devAsynFloat64Array.c and it appears to be
identical to devAsynInt32Array.c, except for obvious differences in the
interfaces. Have you resolved this problem?

Mark


________________________________

	From: Mark Rivers 
	Sent: Thursday, July 26, 2007 8:18 AM
	To: Pedersen, UK (Ulrik); [email protected]
	Cc: [email protected]
	Subject: RE: asyn float64array interrupt problem
	
	
	Hi Ulrik,
	 
	It is certainly possible that there is a bug.  The support for
interrupt callbacks for waveform records was only added in R4-8.  The
Modbus driver is the only one that I am aware of that uses the support,
and it only uses asynInt32Array, not asynFloat64Array.  If there is a
problem I suspect it is in devEpics/devAsynFloat64Array.  I'll take a
look at that today and see if I can see a problem.
	 
	Mark
	 

________________________________

	From: [email protected] on behalf of Pedersen, UK
(Ulrik)
	Sent: Thu 7/26/2007 4:51 AM
	To: [email protected]
	Cc: [email protected]
	Subject: asyn float64array interrupt problem
	
	


	Hi,
	
	I have come across a problem with float64Array interrupts when
writing
	asyn based driver support for a device. I may just be doing
things wrong
	but I have previously got the same thing working for int32,
uint32 and
	octet interrupts and I think I'm doing pretty much the same
now...
	
	In the release notes for Asyn version 4-8 it states that
interrupt
	support for devAsynFloat64Array has been added (enabling IO
Intr. in
	waveform records). Previously I used event processing for the
same
	functionality...
	
	So I enabled IO intr in my waveform record:
	record(waveform, "$(DAQMX):DATA") {
	  field(SCAN, "I/O Intr")
	  field(PINI, "NO")
	  field(DTYP, "asynFloat64ArrayIn")
	  field(PREC, "5")
	  field(INP, "@asyn(myport1 0 5.0)DATA")
	  field(NELM, "$(NELM)")
	  field(FTVL, "DOUBLE")
	}
	
	All the asyn registering bits is in the configuration function
and
	according to the asyn debug output during startup, the interrupt
gets
	registered:
	2007/07/26 10:34:51.478 drvDaqMxBase::drvUserCreate, attempting
to
	create cmd: DATA
	2007/07/26 10:34:51.478 drvDaqMxBase::drvUserCreate, command
created:
	DATA
	...
	2007/07/26 10:34:51.478 test:DATA
devAsynFloat64Array::getIoIntInfo
	registering interrupt
	2007/07/26 10:34:51.478 myport1 0 registerInterruptUser
	
	In the driver code when I want to execute the interrupt/callback
I do
	this:
	pasynManager->interruptStart(pPvt->float64ArrayInterruptPvt,
	&pclientList);
	pNode = (interruptNode *)ellFirst(pclientList);
	
	Here is where the problem occur: pNode is still NULL! So it
seems that
	the list of interrupt clients is empty - but according to the
startup
	script the devAsynFloat64Array interrupt has been registered for
that
	record...(???)
	
	Any idea why this is not working or what I may be doing wrong?
Any
	suggestion where I need to start looking for more debug
information?
	
	Cheers,
	Ulrik
	
	
--------------------------------------------------------------------
	
	  Ulrik Pedersen               phone: +44(0)1235-778580
	  Software Engineer            email:
[email protected]
	
	      Diamond Light Source Ltd.
	      Rutherford Appleton Laboratory,
	      Chilton, Didcot
	      OxfordShire OX11 0DE
	
	
--------------------------------------------------------------------
	
	



References:
RE: asyn float64array interrupt problem Mark Rivers

Navigate by Date:
Prev: RE: "invalid UDP request" during boot Laznovsky, Michael
Next: Enabling drvLinuxGpib (linux-gpib) Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: asyn float64array interrupt problem Mark Rivers
Next: RE: asyn float64array interrupt problem Heinrich du Toit
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·