Here is this constructor (unashamedly copied from your TestAsynPortDriver class):
CLeyboldTurboPortDriver::CLeyboldTurboPortDriver(const char *AsynPortName)
1, /* maxAddr */
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*/
From: Mark Rivers [mailto:firstname.lastname@example.org]
Sent: 31 October 2014 17:04
To: Heesterman, Peter; email@example.com
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.
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?