g+
g+ Communities
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  <20122013  2014  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
<== Date ==> <== Thread ==>

Subject: RE: Here is a Message
From: Mark Rivers <rivers@cars.uchicago.edu>
To: "Szalata, Zenon M." <zms@slac.stanford.edu>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Fri, 9 Mar 2012 19:43:04 +0000
Hi Zen,

I suspect you did not set the asynInt32ArrayMask bit to the asynPortDriver constructor, telling it that your driver will implement that interface.

The 64-bit issue is not a problem, FTVL=LONG means 32-bit integer in EPICS.

Mark


________________________________________
From: Szalata, Zenon M. [zms@slac.stanford.edu]
Sent: Friday, March 09, 2012 1:40 PM
To: Mark Rivers; tech-talk@aps.anl.gov
Subject: RE: Here is a Message

Hi Mark,
No, it is a different problem.
The error is generated by doCallbacksInt32Array(), which is not called at interrupt level.
I notice that there is something wrong with my waveform record to which the callback is supposed to put data.

record(waveform,"$(P):WF:DATA"){
  field( DTYP, "asynInt32ArrayIn")
  field( INP,  "@asyn($(PORT),0,1)WF_DATA")
  field( SCAN, "I/O Intr")
  field( NELM, "16")
  field( FTVL, "LONG")
  field( PINI, "1")
}

At IOC init time I get this message, I don't understand why:

devAsynInt32Array::initCommon, TEST1:GADC0:WF:DATA find asynInt32Array interface failed.
There is reference in my .dbd file to asynInt32ArrayIn.

In a different device driver and a different IOC I use the same record with Float32 and that IOC works.

As somewhat different and related issue, I wonder what will happen when I build and run this code on a 64 bit machine.  I wonder if field( FTVL,"LONG") means that on 64 bit each element will be 8 bytes long?  If so there may be trouble.

Thanks,
Zen


> -----Original Message-----
> From: Mark Rivers [mailto:rivers@cars.uchicago.edu]
> Sent: Friday, March 09, 2012 11:11 AM
> To: Szalata, Zenon M.; tech-talk@aps.anl.gov
> Subject: RE: Here is a Message
>
> Hi Zen,
>
>
>
> This message makes me wonder if you are doing asyn callbacks at interrupt
> level?  If so, you should not do that, you should have your interrupt routine
> signal another thread which does the asyn callbacks.
>
>
> >  interrupt: errlogPrintf called from interrupt level
>
> Mark
>
>
> ________________________________
> From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] on
> behalf of Szalata, Zenon M. [zms@slac.stanford.edu]
> Sent: Friday, March 09, 2012 12:59 PM
> To: tech-talk@aps.anl.gov
> Subject: Here is a Message
>
> While modifying and testing a device driver subclassed from asynPortDriver for
> a VME module I am getting this message:
>
>
> A call to 'assert(status == epicsMutexLockOK)'
>     by thread 'cbLow' failed in ../../asyn/asynDriver/asynManager.c line 2222.
> EPICS Release EPICS R3.14.11 $R3-14-11$ $2009/08/28 18:47:36$.
> Local time is 2012-03-09 10:52:43.182719160 PUS
> Please E-mail this message to the author or to tech-talk@aps.anl.gov
> Calling epicsThreadSuspendSelf()
> Thread cbLow (0x1692b30) suspended
> interrupt: errlogPrintf called from interrupt level
>
> I am using asyn R4.17.
>
> I am sending this message because the message tells me to.
> I will comment out my recent modifications and try to pinpoint which part of
> my device driver is responsible.
>
> Thanks,
> Zen

Replies:
RE: Here is a Message Szalata, Zenon M.
References:
Here is a Message Szalata, Zenon M.
RE: Here is a Message Mark Rivers
RE: Here is a Message Szalata, Zenon M.

Navigate by Date:
Prev: RE: Here is a Message Szalata, Zenon M.
Next: RE: Here is a Message Szalata, Zenon M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
Navigate by Thread:
Prev: RE: Here is a Message Szalata, Zenon M.
Next: RE: Here is a Message Szalata, Zenon M.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·