-
Notifications
You must be signed in to change notification settings - Fork 76
Open
Description
https://areadetector.github.io/areaDetector/ADCore/guidelines.html includes guidelines for developing drivers, but they are outdated/incomplete:
If NDArrayCallbacks is non-zero then drivers should do the following:
Call asynNDArrayDriver::getAttributes to attach any attributes defined for this driver to the current array.
Call doCallbacksGenericPointer() so that registered clients can get the values of the new arrays.
- It's missing the call to
asynNDArrayDriver::updateTimestamps - Is it missing anything else?
ADCore/ADApp/ADSrc/asynNDArrayDriver.cpp
Lines 832 to 836 in 84da957
| void asynNDArrayDriver::updateTimeStamps(NDArray *pArray) | |
| { | |
| updateTimeStamp(&pArray->epicsTS); | |
| pArray->timeStamp = pArray->epicsTS.secPastEpoch + pArray->epicsTS.nsec/1.e9; | |
| } |
Even though it makes sense to document such requirements, is there a reason they can't be shared functionality? e.g. doCallbacksGenericPointer returns early if NDArrayCallbacks is false, or some prepareArray function exists which calls getAttributes and updateTimestamps and any other functions which are added to the required list.
Metadata
Metadata
Assignees
Labels
No labels