Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is further support for AAI and AAO records planned? #167

Open
ericonr opened this issue Jan 11, 2023 · 3 comments
Open

Is further support for AAI and AAO records planned? #167

ericonr opened this issue Jan 11, 2023 · 3 comments

Comments

@ericonr
Copy link
Contributor

ericonr commented Jan 11, 2023

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 ericonr changed the title Is further support for AAI and AAO records pLanned? Is further support for AAI and AAO records planned? Jan 11, 2023
@MarkRivers
Copy link
Member

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?

@ericonr
Copy link
Contributor Author

ericonr commented Jan 13, 2023

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
Copy link
Contributor Author

ericonr commented Jan 13, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants