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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: [Ext] RE: ADEiger Stream stop zmq? |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | Jesse Hopkins <jhopkins1 at iit.edu> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Fri, 10 Dec 2021 17:44:43 +0000 |
Ø
I tried the fix_disk_free, and while it's not returning a negative number anymore, I think it's still not correct. I understand the problem. This is the record definition: # FileWriter free buffer space record(ai, "$(P)$(R)FWFree_RBV") { field(DTYP, "asynInt32") field(INP, "@asyn($(PORT),$(ADDR),$(TIMEOUT))FW_FREE") field(DESC, "Free disk space") field(EGU, "GB") field(PREC, "3") field(ASLO, "9.5367431640625e-07") field(SCAN, "I/O Intr") } Note that the ASLO (adjustment slope) is 9.54e-7 which is 1/(1024*1024). So that will convert to MB, but the EGU on the record is GB, so it is inconsistent, at least for the 1.8 API. Either this is a mistake, or perhaps1.6 API actually returns KB over the RestAPI, rather than bytes? I have changed ASLO to 1e-9 so the units will be the base 10 version of GB. I have merged the fix_disk_free branch into fix_stream, so now there is only one test branch. Please try fix_stream again and see if the GB are correct. I will think some more about how to get the behavior you want with zmq. Mark From: Jesse Hopkins <jhopkins1 at iit.edu>
Hi Mark, Thanks for making the bug reports and the test fixs. I tried the fix_disk_free, and while it's not returning a negative number anymore, I think it's still not correct. At the moment the detector API returns: {"access_mode":"r","unit":"B","value":84988747776,"value_type":"uint"} If I convert bytes to GB (the unit in caQtDM) I get ~84.98 GB (using the conventional 1000^3 bytes, or ~79.15 if you use 1024^3 bytes). The caQtDM window shows 81367.617 GB, so off by about three orders of magnitude. I also tried the fix_stream branch. It kind of works. If I set StreamEnable to 0, I can indeed get all the expected messages on my own zmq client. However, the issue is that I have to go into the detector API and manually re-enable the
stream, since StreamEnable is setting the stream api config/mode to disabled. Ideally what I'd like to be able to do is just disable the zmq client in AreaDetector, without actually turning off the stream on the detector computer. E.g. instead of changing
StreamEnable, if I change the AreaDetector Data Source from Stream to None or FileWriter it turns off the zmq client but leaves the steam on the detector API enabled. As it is, I could work with it, but I'd have to add something into my zmq client that watched
the stream status on the detector and changed it to enabled if it became disabled, such as if I restart the IOC and autosave resets that value. All the best. P.S. Resending to include tech-talk. ---- On Fri, Dec 10, 2021 at 8:28 AM Mark Rivers <rivers at cars.uchicago.edu> wrote:
|