All,
I have prepared a parity computing data attributes example per the request of Michael. The IOC application example contains waveformX record device support that returns a waveform with random elements. Device specific attributes are attached to this waveform
indicating the number of odd and even elements in the waveform. There are two codes in the example. The ParityMetadata.{cpp,h} source is the interface/capsule for the waveform data with parity attributes. The devParity.cpp is the
device support module source.
Below are some camonitor command line examples.
camonitor "hillHost:waveformXExample%[val.device.parity.numElemOdd>50]"
camonitor "hillHost:waveformXExample%[val.device.parity.numElemEven>50]"
camonitor "hillHost:waveformXExample%[val.device.parity.numElemOdd]"
camonitor "hillHost:waveformXExample%[val.device.parity.numElemEven]"
See my talk, paper, poster from ICALEPCS for additional detailed on how to use these features.
The parity attributes example can be reviewed at lauchpad.
https://code.launchpad.net/~johill-lanl/+git/parity-example
The above code builds with the latest data acquisition enhanced EPICS Base R3.15 at this URL.
https://code.launchpad.net/~johill-lanl/epics-base/server1
As mentioned in my EPICS meeting talk, there are also LANSCE specific filters as Lua snap-ins, and also LANSCE specific waveform data interface/capsule with LANSCE specific timing attributes at this URL for your review.
https://code.launchpad.net/~johill-lanl/+git/lansce-filters
Jeff