Hi Emmanuel,
You've sent 2 questions/problems about asyn to tech-talk recently:
In the first query you asked:
> But when I start the IOC, that line cause the following error:
> WATCH:8:CrntTimeSI devAsynOctet::initCommon interface asynOctet not found
> which apparently means that the asynOctet interface is not registered.
> Isn't the asynPortDriver supposed to take care of that?
I replied:
> One of the arguments passed to the asynPortDriver constructor is a bit-mask of all of the asyn interfaces your driver will support.
> You forgot to set the asynOctetMask bit in your call to the constructor. Here is an example from asyn/testErrorsApp/src/testErrors.cpp
In the second query you asked:
> My understanding of maxAddr is that the parameter library is an array of param lists x maxAddr
> So if I set the asynAddress to a value between 0 and maxAddr, I should be able to 'browse' the whole parameter library.
I replied:
> That is correct.
> Did you set the ASYN_MULTIDEVICE bit in the "asynFlags" parameter in your call to the asynPortDriver base class constructor?
But you have not posted a follow up on these so that we would know if my suggestions solved your problems.
It's helpful for me to know if there is a problem I don't know about in asyn, and it's helpful for the tech-talk community to know if the suggestion worked, in case others have a similar problem in the future.
Mark
From: Mark Rivers
Sent: Thursday, April 04, 2013 7:29 PM
To: 'Emmanuel Mayssat'; [email protected]
Subject: RE: asynAddress, asynPortDriver maxAddr, and addr in setXXXParam
> My understanding of maxAddr is that the parameter library is an array of param lists x maxAddr
That is correct.
> So if I set the asynAddress to a value between 0 and maxAddr, I should be able to 'browse' the whole parameter library.
That is correct.
Did you set the ASYN_MULTIDEVICE bit in the "asynFlags" parameter in your call to the asynPortDriver base class constructor?
Mark
From: [email protected] [mailto:[email protected]] On Behalf Of Emmanuel Mayssat
Sent: Thursday, April 04, 2013 7:14 PM
To: [email protected]
Subject: asynAddress, asynPortDriver maxAddr, and addr in setXXXParam
My understanding of maxAddr is that the parameter library is an array of param lists x maxAddr
So if I set the asynAddress to a value between 0 and maxAddr, I should be able to 'browse' the whole parameter library.
In other words, 2 records with the INP field as
field(INP, "@asyn(asynPort,1,$(asynTimeout))REASON") <-- asynAddress = 1
and
field(INP, "@asyn(asynPort,2,$(asynTimeout))REASON")
and with
field(PINI, "1")
should immediately read different values.
A quick test with
/* setDoubleParam(0, P_Reason, 1.0) */
setDoubleParam(1, P_Reason, 2.0)
setDoubleParam(2, P_Reason, 3.0)
in asynPortDriver constructor and after firing up the ioc, both of the records want to read the address 0.
Are those addresses related? What am i missing?
--
Emmanuel
- Replies:
- RE: asynAddress, asynPortDriver maxAddr, and addr in setXXXParam Emmanuel Mayssat
- References:
- asynAddress, asynPortDriver maxAddr, and addr in setXXXParam Emmanuel Mayssat
- RE: asynAddress, asynPortDriver maxAddr, and addr in setXXXParam Mark Rivers
- Navigate by Date:
- Prev:
Re: EPICS performance test/benchmark Andrew Johnson
- Next:
Newport Piezo USB Controllers Andrew Gomella
- 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:
RE: asynAddress, asynPortDriver maxAddr, and addr in setXXXParam Mark Rivers
- Next:
RE: asynAddress, asynPortDriver maxAddr, and addr in setXXXParam Emmanuel Mayssat
- 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
|