Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  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  <20182019 
<== Date ==> <== Thread ==>

Subject: Re: compress record FIFI/LIFO not working
From: Michael Davidsaver <mdavidsaver@gmail.com>
To: schick@mbi-berlin.de, tech-talk@aps.anl.gov
Date: Mon, 8 Jan 2018 19:57:33 -0800
Confirmed.  Seems like the NSAM=4 case being tested with src/std/rec/test/compressTest.c
is somehow special.

FIFO w/ NSAM=4 is as expected

> ring 2018-01-08 19:44:53.628938 2 1 2  
> ring 2018-01-08 19:44:54.628815 3 1 2 3  
> ring 2018-01-08 19:44:55.628853 4 1 2 3 4  
> ring 2018-01-08 19:44:56.628797 4 2 3 4 5  
> ring 2018-01-08 19:44:57.628762 4 3 4 5 6  
> ring 2018-01-08 19:44:58.628891 4 4 5 6 7  
> ring 2018-01-08 19:44:59.628730 4 5 6 7 8  
> ring 2018-01-08 19:45:00.628934 4 6 7 8 9  
> ring 2018-01-08 19:45:01.628738 4 7 8 9 10

But FIFO w/ NSAM=5 isn't

> ring 2018-01-08 19:45:23.105160 2 1 2  
> ring 2018-01-08 19:45:24.105240 3 1 2 3  
> ring 2018-01-08 19:45:25.105008 4 1 2 3 4  
> ring 2018-01-08 19:45:26.105076 5 2 3 4 5 1  
> ring 2018-01-08 19:45:27.105066 5 3 4 5 6 2  
> ring 2018-01-08 19:45:28.105133 5 4 5 6 7 3  
> ring 2018-01-08 19:45:29.105158 5 5 6 7 8 4  
> ring 2018-01-08 19:45:30.105079 5 6 7 8 9 5



On 01/08/2018 05:37 AM, Daniel Schick wrote:
> Hi all,
> 
> I am currently using epics base 3.16.1 and I have a problem with the compress record used as ring buffer.
> In both, Epics 3.16.1 and 7.0 the update of the ring buffer is not FIFO or LIFO but happens somewhere in the middle of the array.
> When I use the latest 3.15 branch everything works fine.
> 
> Here is an example of my test db-file and the output from camonitor:
> 
> record(calc,"counter") {
>  field(CALC,"VAL+1")
>  field(SCAN,"1 second")
> }
> 
> record(compress,"ring") {
>  field(DESC, "test")
>  field(NSAM,"10")
>  field(ALG,"Circular Buffer")
>  field(INP,"counter")
>  field(SCAN,"1 second")
>  field(BALG,"LIFO")
>  field(PREC,"1")
> }
> 
> with epics 3.15 it is fine:
> 
>  ~ $ camonitor ring
> ring *** Not connected (PV not found)
> ring 2018-01-08 12:55:16.628324 8 0 1 2 3 4 5 6 7 
> ring 2018-01-08 12:55:17.628331 9 0 1 2 3 4 5 6 7 8 
> ring 2018-01-08 12:55:18.628323 10 0 1 2 3 4 5 6 7 8 9 
> ring 2018-01-08 12:55:19.628330 10 1 2 3 4 5 6 7 8 9 10 
> ring 2018-01-08 12:55:20.628326 10 2 3 4 5 6 7 8 9 10 11 
> ring 2018-01-08 12:55:21.628331 10 3 4 5 6 7 8 9 10 11 12 
> ring 2018-01-08 12:55:22.628327 10 4 5 6 7 8 9 10 11 12 13 
> ring 2018-01-08 12:55:23.628324 10 5 6 7 8 9 10 11 12 13 14 
> ring 2018-01-08 12:55:24.628325 10 6 7 8 9 10 11 12 13 14 15 
> ring 2018-01-08 12:55:25.628332 10 7 8 9 10 11 12 13 14 15 16 
> ring 2018-01-08 12:55:26.628326 10 8 9 10 11 12 13 14 15 16 17 
> ring 2018-01-08 12:55:27.628330 10 9 10 11 12 13 14 15 16 17 18 
> ring 2018-01-08 12:55:28.628323 10 10 11 12 13 14 15 16 17 18 19 
> ring 2018-01-08 12:55:29.628325 10 11 12 13 14 15 16 17 18 19 20 
> ring 2018-01-08 12:55:30.628327 10 12 13 14 15 16 17 18 19 20 21 
> ring 2018-01-08 12:55:31.628331 10 13 14 15 16 17 18 19 20 21 22 
> ring 2018-01-08 12:55:32.628327 10 14 15 16 17 18 19 20 21 22 23
> 
> 
> with epics 3.16 and 7.0 I get the wired update behaviour:
> 
> ~ $ camonitor ring
> ring *** Not connected (PV not found)
> ring 2018-01-08 14:23:50.889595 2 0 1 
> ring 2018-01-08 14:23:51.889598 3 0 1 2 
> ring 2018-01-08 14:23:52.889594 4 0 1 2 3 
> ring 2018-01-08 14:23:53.889596 5 0 1 2 3 4 
> ring 2018-01-08 14:23:54.889603 6 0 1 2 3 4 5 
> ring 2018-01-08 14:23:55.889601 7 0 1 2 3 4 5 6 
> ring 2018-01-08 14:23:56.889594 8 0 1 2 3 4 5 6 7 
> ring 2018-01-08 14:23:57.889598 9 0 1 2 3 4 5 6 7 8 
> ring 2018-01-08 14:23:58.889592 10 6 7 8 9 0 1 2 3 4 5 
> ring 2018-01-08 14:23:59.889607 10 7 8 9 10 1 2 3 4 5 6 
> ring 2018-01-08 14:24:00.889598 10 8 9 10 11 2 3 4 5 6 7 
> ring 2018-01-08 14:24:01.889599 10 9 10 11 12 3 4 5 6 7 8 
> ring 2018-01-08 14:24:02.889596 10 10 11 12 13 4 5 6 7 8 9 
> ring 2018-01-08 14:24:03.889594 10 11 12 13 14 5 6 7 8 9 10 
> ring 2018-01-08 14:24:04.889598 10 12 13 14 15 6 7 8 9 10 11 
> ring 2018-01-08 14:24:05.889596 10 13 14 15 16 7 8 9 10 11 12 
> ring 2018-01-08 14:24:06.889597 10 14 15 16 17 8 9 10 11 12 13 
> ring 2018-01-08 14:24:07.889598 10 15 16 17 18 9 10 11 12 13 14 
> ring 2018-01-08 14:24:08.889595 10 16 17 18 19 10 11 12 13 14 15 
> ring 2018-01-08 14:24:09.889616 10 17 18 19 20 11 12 13 14 15 16 
> ring 2018-01-08 14:24:10.889598 10 18 19 20 21 12 13 14 15 16 17 
> ring 2018-01-08 14:24:11.889599 10 19 20 21 22 13 14 15 16 17 18 
> ring 2018-01-08 14:24:12.889595 10 20 21 22 23 14 15 16 17 18 19 
> 
> thanks and best wishes
> 
> Daniel
> ____________________
> 
> Dr. Daniel Schick
> 
> Max-Born-Institute
> for nonlinear optics
> and short pulse spectroscopy
> im Forschungsverbund Berlin e.V.
> 
> Max-Born-Str. 2a
> 12489 Berlin, Germany
> Room: House B, 3.3
> Tel.: +49 30 6392 1311
> 


Replies:
Re: compress record FIFI/LIFO not working Heinz Junkes
References:
compress record FIFI/LIFO not working Daniel Schick

Navigate by Date:
Prev: compress record FIFI/LIFO not working Daniel Schick
Next: EPICS data extraction with mysql and compressed data Ghribi Adnan
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  <20182019 
Navigate by Thread:
Prev: compress record FIFI/LIFO not working Daniel Schick
Next: Re: compress record FIFI/LIFO not working Heinz Junkes
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  <20182019 
ANJ, 13 Apr 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·