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
<2018>
2019
2020
2021
2022
2023
2024
- 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
<2018>
2019
2020
2021
2022
2023
2024
|