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  <20122013  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  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Here is a Message
From: "Szalata, Zenon M." <[email protected]>
To: Mark Rivers <[email protected]>, "[email protected]" <[email protected]>
Date: Fri, 9 Mar 2012 13:51:37 -0800
Thanks a lot Mark,
Yes, it works as it is because I/O Intr is used.
Thanks, I understand now.

Zen

> -----Original Message-----
> From: Mark Rivers [mailto:[email protected]]
> Sent: Friday, March 09, 2012 12:58 PM
> To: Szalata, Zenon M.; [email protected]
> Subject: RE: Here is a Message
> 
> This one is simple I think.  Your driver has not implemented the readInt32Array
> method.  You don't need to implement that if your record is only I/O Intr
> scanned, but if it is periodically scanned you need to implement it.
> 
> Mark
> 
> 
> ________________________________________
> From: Szalata, Zenon M. [[email protected]]
> Sent: Friday, March 09, 2012 2:31 PM
> To: Mark Rivers; [email protected]
> Subject: RE: Here is a Message
> 
> Hi Mark,
> Yes, I needed to add the mask.  So now that error is gone but I have a new one:
> 
> 2012/03/09 11:48:48.618 TEST1:GADC0:WF:DATA
> devAsynInt32Array::callbackWf read error asynPortDriver:readArray not
> implemented
> 
> I guess today is not my day.  I am still missing something in my device driver...
> I am looking at two other similar driver modules that I have implemented some
> time ago, which are using this type of code and I just can't see what I am
> missing.
> 
> Thanks,
> Mark
> 
> > -----Original Message-----
> > From: Mark Rivers [mailto:[email protected]]
> > Sent: Friday, March 09, 2012 11:43 AM
> > To: Szalata, Zenon M.; [email protected]
> > Subject: RE: Here is a Message
> >
> > 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. [[email protected]]
> > Sent: Friday, March 09, 2012 1:40 PM
> > To: Mark Rivers; [email protected]
> > 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:[email protected]]
> > > Sent: Friday, March 09, 2012 11:11 AM
> > > To: Szalata, Zenon M.; [email protected]
> > > 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: [email protected] [[email protected]] on
> > > behalf of Szalata, Zenon M. [[email protected]]
> > > Sent: Friday, March 09, 2012 12:59 PM
> > > To: [email protected]
> > > 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 [email protected]
> > > 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


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

Navigate by Date:
Prev: Re: Invitation to test cothread.catools release candidate Matt Newville
Next: Channel Access Qazi Zia-ul-Haque
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Here is a Message Mark Rivers
Next: Channel Access Qazi Zia-ul-Haque
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·