Skip to content
This repository has been archived by the owner on Sep 27, 2024. It is now read-only.

[BPMApp] The BPM driver sets the acquisition timestamp to the start of the acquisition #79

Open
ericonr opened this issue Dec 14, 2023 · 0 comments

Comments

@ericonr
Copy link
Member

ericonr commented Dec 14, 2023

Long running acquisitions (like Post Mortem ones), get a timestamp that's very different from when they were actually completed, because these timestamps are propagated to most acquisition data PVs.

The mistake seems to be that the current time is only updated at the start of the acquisition, instead of right before copying the resulting data into the NDArray and running callbacks on it.

epicsTimeGetCurrent(&now);

ericonr added a commit that referenced this issue Dec 14, 2023
This is a workaround for [1]. The timestamp from drvBPM is wrong and
ends up being propagated from the ArrayData records to the final
position ones, which is not desired. This makes it so the final position
records' timestamps are from when they were processed, which is not an
issue for existing clients.

BPMSP (Single Pass) and BPMDsp (used for Monit rate position data)
weren't changed, since the former is no longer used, and timestamps are
relevant for clients of the latter.

[1] #79
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant