Hi folks,
Is there a way to force compress to take only NORD elements from its INP waveform? I have a big waveform that only has some of its data initialized (a fixed amount per "run"), and I want to accumulate this initialized data in a circular buffer. Has anyone
made something similar work? Do I need to interpose an acalcout between the two (which I tried but didn't seem to work)?
Please see example below.
Thanks!
Bruno
$ cat test.db
record(waveform, "WVF") {
field(FTVL, "DOUBLE")
field(NELM, "50")
}
record(compress, "CMP") {
field(ALG, "Circular Buffer")
field(INP, "WVF CP")
field(NSAM, "100")
}
$ softIoc -d test.db
...
$ caget CMP.NUSE # returns 50, I expected 0 (no PINI set)...
CMP.NUSE 50
$ caput CMP.RES 1 # let's reset compress
Old : CMP.RES 0
New : CMP.RES 0
$ caget CMP.NUSE
CMP.NUSE 0
$ caput -a WVF 5 1 2 3 4 5
Old : WVF 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
New : WVF 50 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
$ caget WVF.NORD
WVF.NORD 5
$ caget CMP.NUSE # I expected 5
CMP.NUSE 50
$ caget CMP
CMP 100 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
$ caput -a WVF 5 6 7 8 9 10
Old : WVF 50 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
New : WVF 50 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
$ caget WVF.NORD
WVF.NORD 5
$ caget CMP.NUSE # I expected 10
CMP.NUSE 100
$ caget CMP # I expected 1,2,3,4,5,6,7,8,9.10
CMP 100 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0