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  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 
<== Date ==> <== Thread ==>

Subject: Re: devAsynFloat64::initCommon findInterface asynFloat64Type
From: "Pearson, Matthew R." <pearsonmr@ornl.gov>
To: "Heesterman, Peter J" <Peter.Heesterman@ccfe.ac.uk>
Cc: "<tech-talk@aps.anl.gov>" <tech-talk@aps.anl.gov>
Date: Fri, 31 Oct 2014 18:00:08 +0000
Hi Peter,

It might be the port name. The name of the Asyn port used for the low level serial comms is PUMP:1, but the name of the port used for the Asyn port driver is TURBO:1. The port name you pass into the database has to be the TURBO:1 name.

But you probably need to pass both names into the driver function (LeyboldTurboPortDriverConfigure), because that would have to connect to the low level port in order to do write and reads from PUMP:1.

Cheers,
Matt


On Oct 31, 2014, at 1:35 PM, "Heesterman, Peter J" <Peter.Heesterman@ccfe.ac.uk> wrote:

> Hi Mark,
>  
> Attached.
>  
> Cheers,
>  
> Peter.
>  
> From: Mark Rivers [mailto:rivers@cars.uchicago.edu] 
> Sent: 31 October 2014 17:22
> To: Heesterman, Peter; tech-talk@aps.anl.gov
> Subject: RE: devAsynFloat64::initCommon findInterface asynFloat64Type
>  
> Please send the complete output when the IOC starts up.  Also send the output of the command
>  
> asynReport 10
>  
> Mark
>  
>  
> From: Heesterman, Peter J [mailto:Peter.Heesterman@ccfe.ac.uk] 
> Sent: Friday, October 31, 2014 12:07 PM
> To: Mark Rivers; tech-talk@aps.anl.gov
> Subject: RE: devAsynFloat64::initCommon findInterface asynFloat64Type
>  
> Hi Mark,
>  
> Here is this constructor (unashamedly copied from your TestAsynPortDriver class):
>  
> CLeyboldTurboPortDriver::CLeyboldTurboPortDriver(const char *AsynPortName)
>    : asynPortDriver(AsynPortName,
>                     1, /* maxAddr */
>                     NUM_PARAMS,
>                     asynInt8ArrayMask | asynInt32Mask | asynFloat64Mask | asynFloat64ArrayMask | asynEnumMask | asynDrvUserMask, /* Interface mask */
>                     asynInt8ArrayMask | asynInt32Mask | asynFloat64Mask | asynFloat64ArrayMask | asynEnumMask,  /* Interrupt mask */
>                     0, /* asynFlags.  This driver does not block and it is not multi-device, so flag is 0 */
>                     1, /* Autoconnect */
>                     0, /* Default priority */
>                     0) /* Default stack size*/   
>  
> Cheers,
>  
> Peter.
>  
>  
> From: Mark Rivers [mailto:rivers@cars.uchicago.edu] 
> Sent: 31 October 2014 17:04
> To: Heesterman, Peter; tech-talk@aps.anl.gov
> Subject: RE: devAsynFloat64::initCommon findInterface asynFloat64Type
>  
> I suspect that in the constructor for your driver you did not set the asynFloat64Mask bit in the interfaceMask argument to the asynPortDriver constructor.  If your driver will do callbacks on the asynFloat64 interface you also need to set that bit in the interruptMask argument to the asynPortDriver constructor.
>  
> Mark
>  
>  
> From: tech-talk-bounces@aps.anl.gov [mailto:tech-talk-bounces@aps.anl.gov] On Behalf Of Heesterman, Peter J
> Sent: Friday, October 31, 2014 11:57 AM
> To: tech-talk@aps.anl.gov
> Subject: devAsynFloat64::initCommon findInterface asynFloat64Type
>  
> Hi all,
>  
> I’m developing a device that needs to read out a floating point value that forms part of a 24-byte structure read from the serial port.
>  
> I’m doing this as an AsynPortDriver device.
>  
> I get the above error on my record definition, but I’m not sure why.
>  
> I’m still new as an EPICS user, so my question is: can you give me some advice as to what I’m missing?
>  
> Many thanks,
>  
> Peter.
>  
> <LeyboldTurbo.log>



References:
devAsynFloat64::initCommon findInterface asynFloat64Type Heesterman, Peter J
RE: devAsynFloat64::initCommon findInterface asynFloat64Type Mark Rivers
RE: devAsynFloat64::initCommon findInterface asynFloat64Type Heesterman, Peter J
RE: devAsynFloat64::initCommon findInterface asynFloat64Type Mark Rivers
RE: devAsynFloat64::initCommon findInterface asynFloat64Type Heesterman, Peter J

Navigate by Date:
Prev: RE: devAsynFloat64::initCommon findInterface asynFloat64Type Mark Rivers
Next: Re: waveform with single element Andrew Johnson
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 
Navigate by Thread:
Prev: RE: devAsynFloat64::initCommon findInterface asynFloat64Type Heesterman, Peter J
Next: Problems with Dynamic Array population Brown, David L.
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 
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 ·