Experimental Physics and Industrial Control System
|
Hi Jesse,
I suspect you have already found an issue I was afraid of when I fixed the race condition in ADEiger R3-1. Previously the zmq socket in ADEiger was only created when acquisition was started and the Stream interface was enabled. That had
a race condition, because the socket was only created after the Eiger might start sending data over the zmq interface. The fix was to create the zmq socket in the thread that reads the zmq socket before acquisition starts, and whether or not the Stream interface
is enabled. We thought that would be OK, but I think it could be causing your problem with your client only getting every other zmq message.
Can you try rolling back to ADEiger R3-0 and see if the problem goes away? If so then I will need to change the code so it only opens the zmq socket when the Stream interface is enabled, and closes it when it is disabled.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Jesse Hopkins via Tech-talk
Sent: Thursday, December 9, 2021 3:32 PM
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: ADEiger Stream stop zmq?
Hi folks,
We recently got an Eiger2 XE 9M and I've been using AreaDetector to control it. So far, if I'm just using AreaDetector by itself everything works great (thanks for that!). In the long run what I would like to do is use AreaDetector to control
the exposures, but use my own program to read the Eiger Stream over zmq and process the data in real time. According to the documentation this should be possible.
However, when I run the Eiger from AreaDetector with DataSource set to None, as specified in the documentation, my zmq client only receives half of the messages, which is what I would expect with two PULL clients connected to a single PUSH
client. For example, if I take two images, I see only frame 0 and the dseries-end messages but not the dheader or frame 1 messages. If I collect images under the same conditions without the IOC running (e.g. just stop the IOC and send an arm and trigger command
directly to the api with all settings left the same) I get all of the expected messages.
I'm wondering if there's some setting I've missed (see attached screenshot of the caQtDM window) or if this is a bug.
Also, as a side note, you'll see in the caQtDM window that the DCU RAM Disk Free is reporting a very wrong number, I suspect it's an overflow error. If I query buffer_free (which I assume is that that is), I get the following:
{"access_mode":"r","unit":"B","value":85402976256,"value_type":"uint"}
Eiger firmware: release-2020.2.4
And the IOC is running on Debian 11
----
Jesse Hopkins, PhD
Deputy Director
BioCAT, Sector 18
Advanced Photon Source
|
- Replies:
- RE: ADEiger Stream stop zmq? Mark Rivers via Tech-talk
- References:
- ADEiger Stream stop zmq? Jesse Hopkins via Tech-talk
- Navigate by Date:
- Prev:
RE: Need clarification on UDP Broadcasting to multiple IOCs on same PC Manoussakis, Adamandios via Tech-talk
- Next:
Re: ADEiger Stream stop zmq? Oleg Makarov via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
<2021>
2022
2023
2024
- Navigate by Thread:
- Prev:
ADEiger Stream stop zmq? Jesse Hopkins via Tech-talk
- Next:
RE: ADEiger Stream stop zmq? Mark Rivers via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
<2021>
2022
2023
2024
|
ANJ, 10 Dec 2021 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|