Error when using Stream as Data Source with External triggering · Issue #8 · areaDetector/ADEiger · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi Bruno,
I've noticed that when I set the Data Source to Stream, and acquire a series of images with external triggering (either External Series, or External Enable), I have to press Stop to end the 'Collecting' status. This changes the Acquire Status to 'Done', and the Detector State returns 'Aborted'. The next acquisition causes an ioc error, "StreamApi::readToken: unable to find 'header_detail' token" and "eigerDetector::streamTask: failed to get header packet".
This is different from using Internal triggering. After acquiring an internally triggered series, again using Stream, I press the 'Stop' button, and the Detector State reports 'Idle'. No errors are produced by the next acquisition. So one work-around solution I have is to acquire an Internal Series at the end of each External Series to (in some sense) reset the detector state or clear the ioc error.
I've also found that when using the FileWriter as the Data Source, after sending 'Stop', the Detector State reports 'Aborted', but no errors are produced by the next acquisition, so maybe the Detector State reported is not so relevant to this question.
I hope that makes sense!
Thanks,
Russ
ps. I'm using the up-to-date ADEiger-dev branch.
The text was updated successfully, but these errors were encountered:
I can't reproduce it here. If I had to guess, I'd say that at the beginning of the acquisition streamTask is probably getting a stray packet indicating the end of the previous acquisition. Here's a patch that makes getHeaderignore unexpected packets. Could you try it and see if it solves your issue?
Regarding the "Aborted" vs "Idle", if streamTask doesn't get the last packet indicating the end of the acquisition, then it will report that it didn't complete and the driver will say "Aborted" (even if you got all frames). I think a future improvement that could be made is to make streamTask aware of the expected number of frames.
External triggers are currently tricky because there's no way to tell when the detector is done. Dectris implemented a wait command that doesn't quite work in the current firmware version, but they promised it would be fixed by next version.
Thanks so much for the patch - that fixes my problem!
The ioc now reports "eigerDetector::streamTask: got stray packet, ignoring" at the beginning of an external trigger acquisition, but it does not prevent subsequent acquisitions.
Hi Bruno,
I've noticed that when I set the Data Source to Stream, and acquire a series of images with external triggering (either External Series, or External Enable), I have to press Stop to end the 'Collecting' status. This changes the Acquire Status to 'Done', and the Detector State returns 'Aborted'. The next acquisition causes an ioc error, "StreamApi::readToken: unable to find 'header_detail' token" and "eigerDetector::streamTask: failed to get header packet".
This is different from using Internal triggering. After acquiring an internally triggered series, again using Stream, I press the 'Stop' button, and the Detector State reports 'Idle'. No errors are produced by the next acquisition. So one work-around solution I have is to acquire an Internal Series at the end of each External Series to (in some sense) reset the detector state or clear the ioc error.
I've also found that when using the FileWriter as the Data Source, after sending 'Stop', the Detector State reports 'Aborted', but no errors are produced by the next acquisition, so maybe the Detector State reported is not so relevant to this question.
I hope that makes sense!
Thanks,
Russ
ps. I'm using the up-to-date ADEiger-dev branch.
The text was updated successfully, but these errors were encountered: