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" <[email protected]> wrote:
> Hi Mark,
>
> Attached.
>
> Cheers,
>
> Peter.
>
> From: Mark Rivers [mailto:[email protected]]
> Sent: 31 October 2014 17:22
> To: Heesterman, Peter; [email protected]
> 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:[email protected]]
> Sent: Friday, October 31, 2014 12:07 PM
> To: Mark Rivers; [email protected]
> 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:[email protected]]
> Sent: 31 October 2014 17:04
> To: Heesterman, Peter; [email protected]
> 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: [email protected] [mailto:[email protected]] On Behalf Of Heesterman, Peter J
> Sent: Friday, October 31, 2014 11:57 AM
> To: [email protected]
> 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
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- 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
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|