The problem is in your constructor. When you call the base class constructor you give it a bit mask of what interfaces to implement. You need to add asynFloat64Array to that.
Here is an example of a driver that does that:
https://github.com/areaDetector/NDDriverStdArrays/blob/e21b2f2f74feb217a0e67ba8f8fc4bfd7efe58e0/NDDriverStdArraysApp/src/NDDriverStdArrays.cpp#L49
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Iain Marcuson via Tech-talk
Sent: Thursday, May 1, 2025 12:48 PM
To: Ralph Lange <ralph.lange at gmx.de>; EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: RE: Writing array data in an AreaDetector application
I do see a message I had overlooked before:
devAsynFloat64Array::initCommon, 13PIL1:cam1:PADDigiCorr find asynFloat64Array interface failed
I think I have the function names and signatures right, from looking at file asynPortDriver.h, if that is what you mean.
Looking at the documentation [1] and your record, it all seems fine.
The waveform record type was created as an input - that's why the configuration field is INP. Unrelated to your problem.
It's most probably a code issue. Is your additional method properly declared in the class declaration, so that the default implementation of the method is overridden?
Click
here to report this email as spam.
This message has been scanned for malware by Forcepoint.
www.forcepoint.com