EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Scanning on event number fails with EPICS 3.16
From: "Johnson, Andrew N." <[email protected]>
To: Dirk Zimoch <[email protected]>
Cc: EPICS core-talk <[email protected]>
Date: Fri, 9 Feb 2018 15:02:11 +0000
Looks good. IIRC you can pass in NULL for units and it will do the empty check for you.

Thanks,

- Andrew

-- 
Sent from my iPad

> On Feb 9, 2018, at 3:28 AM, Dirk Zimoch <[email protected]> wrote:
> 
> The logic I am implementing now is:
> 
> If the string looks like a plain double (epicsParseDouble() succeeds and units[0]=='\0') and event >= 0.0 and event < 256.0 treat it as a numeric event: Round down to integer. Event number == 0 is no event.
> 
> Numeric events can be used with post_event() which is not tagged "deprecated" any more.
> 
> At the moment, I have three cases of "no event at all":
> * NULL         No event name
> * ""           Empty event name
> * [0.0 - 1.0[  Numeric event number 0
> 
> In particular, "2", "0x02", "   2.000000", "2.99999  " and " 200e-2 " are the same event now.
> 
> "0", "0.00000", "0.99999", "-0" are no event.
> 
> "-2", "-0.00001", "256", "0x100", "256 ", " 256" are different named events.
> 
> I consider ignoring leading and trailing blanks, making "X Y", " X Y", and "X Y " the same and making "     " no event.
> What do you think?
> 
> Dirk
> 
> 
>> On 08.02.2018 17:48, Andrew Johnson wrote:
>> Hi Dirk,
>>> On 02/08/2018 07:23 AM, 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.
>> Please work against the 3.15 branch, since that was where we introduced
>> your named events work. We will merge it up into the later branches from
>> there.
>>> 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 don't like the string comparisons since they would silently break if
>> the number of decimal digits generated by the double → string conversion
>> gets changed.
>> Better to parse the string properly into a double — look at the
>> epicsParseDouble() routine declared in epicsStdlib.h and documented at
>> https://epics.anl.gov/base/R3-15/5-docs/AppDevGuide/libComOSIlibraries.html#x21-84700020.13
>> — then either round or truncate the fractional part.
>> Thanks,
>> - Andrew

References:
Re: Scanning on event number fails with EPICS 3.16 Andrew Johnson
Re: Scanning on event number fails with EPICS 3.16 Dirk Zimoch

Navigate by Date:
Prev: Re: Scanning on event number fails with EPICS 3.16 Dirk Zimoch
Next: bundling linenoise with base Benjamin Franksen
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Scanning on event number fails with EPICS 3.16 Dirk Zimoch
Next: Re: Scanning on event number fails with EPICS 3.16 Dirk Zimoch
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
ANJ, 12 Feb 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·