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
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.
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
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.