Hinko,
You could do this with the acalcout (array calcout) record in the calc module. (http://www.aps.anl.gov/bcda/synApps/calc/aCalcoutRecord.html)
If .BB is the M-element replacement array, you can read the waveform into the .AA field, overwrite with M elements from .BB, beginning at index N, and write the result back to the waveform record, by configuring the record like this:
.A = M
.B = N
.INAA = "waveform.VAL NPP"
.CALC = "AA[0,B-1]+(BB[0,A-1]>>B)+(AA[A+B,-1]>>A+B)"
.OUT = "waveform.VAL PP"
Tim
----- Original Message -----
From: "Hinko Kocevar" <[email protected]>
To: "Tech Talk" <[email protected]>
Sent: Thursday, September 13, 2012 6:59:05 AM
Subject: waveform changes using subArray
Hi,
We are trying to support a modification of long array (i.e. more than
500 integer values) seen as a waveform in EPICS IOC. Lets say that it is
possible and valid for user to change only one or two values from this
array. By using waveform user needs to get all 500 integers locate the
one she wants to change, do the modification, store complete array back.
Using subArray to make a "window" into waveform sounded like a good
solution, but as I just read in the docs, subArray does not support
value writing back to the waveform.
Can this be done in some other manner? The goal here would be to allow
user to get/see/change/set only the part of waveform, that shes
interested in.
Thank you!
Hinko