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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Scanning on event number fails with EPICS 3.16 |
From: | Simon Reiter <[email protected]> |
To: | Dirk Zimoch <[email protected]>, [email protected] |
Date: | Thu, 8 Feb 2018 17:30:55 +0100 |
Thanks, Simon On 02/08/2018 02:23 PM, Dirk Zimoch wrote:
Attached is a patch file for dbScan.c which should fix the problem and restore backward compatibility.I have created (and quickly tested) it with EPICS 7 but I guess it should work with 3.16 as well.The hack is to treat "x.000000" and "x" as the same event name if x is an integer between 0 and 255. ("0" and "0.000000" are no event at all now just like "").I will create a merge request for the EPICS base repo once I have proper tests and documentation.Dirk On 08.02.2018 10:08, Dirk Zimoch wrote:This is interesting. When I wrote the "named Events" feature some years ago, I tested with something like 2 which became "2" and all was fine. However I never thought about generating the value from a calc. This should be fixed, or at least "2.000000" and "2" should be treated as equal.I will start working on it... Dirk On 30.01.2018 17:20, Simon Reiter wrote:Thanks so far. postEvent 2 works fine.Up to now, my event record has an INP field, which links to a calc record.This calc record only provides the correct value under some conditions. How can I do this without using a state machine? record(calc,"$(BOARDNAME):ErrorFlags:calc") { field(INPA, "$(BOARDNAME):InitDone:S CPP") field(CALC, "A ? 2 : 0") } record(event, "$(BOARDNAME):ErrorFlags:trg") { field(INP, "$(BOARDNAME):ErrorFlags:calc CPP") }This is my current code. The value of event is now 2.000000 in the correct case.
-- Simon Reiter II. Physikalisches Institut Justus-Liebig-Universtität Heinrich-Buff-Ring 16 D-35392 Giessen Tel: +49 641 99 33250