asyn icon indicating copy to clipboard operation
asyn copied to clipboard

Is further support for AAI and AAO records planned?

Open ericonr opened this issue 3 years ago • 3 comments

Hi! Thanks to #162 being merged (great work there!), asyn now supports the AAI and AAO record types natively. However, the support is equivalent to the Waveform record, and doesn't address things like allocating the underlying storage for the AAI/O records, which is a pretty interesting feature, imo.

Do you think future asyn development plans to address that and enable programmers further control over AAI/O records?

ericonr avatar Jan 11 '23 19:01 ericonr

I would welcome insights on how the asyn device support could implement the ability to allocate the storage for the record. It seems to me that to take advantage of that feature the device support would need to get the pointer from the underlying driver. But I don’t think there is an asyn interface to communicate that information?

MarkRivers avatar Jan 11 '23 19:01 MarkRivers

Agreed, I think a new interface would be necessary...

Something like

createParam(P_ArrayString, asynParamFloat64Array, &P_Array);
setFloat64ArrayStorage(P_Array, pointer, size); // this could mean adding arrays to the paramLibrary or having a separate helper class

might work? And then we'd have to decide if it makes sense to support changing the array storage while it's running or if it's an operation that only works before the record is initialized...

ericonr avatar Jan 13 '23 11:01 ericonr

Beyond that, there's also a concern about how to "synchronize" operations on the array, so that any CA clients have a consistent view of the array...

This is something about the AAI and AAO records that isn't clear to me, actually. Once the array has been allocated, can a program manipulate them freely (or with some basic locking function)? As in:

  • write new values into the AAI array and then somehow create a notification about changes
  • read updated values from a write to the PV

ericonr avatar Jan 13 '23 14:01 ericonr