Hi Nick,
On 2013-06-28 [email protected] wrote:
> Was there ever a plan to do server-side monitor filters which would allow
> you to monitor sub-arrays of waveforms?
Yup, that's in 3.15.
> However, I can't find any mention of it in any release notes. I know I can
> do something similar with a subArray record, but I thought there was
> something else on the horizon.
Documentation for the server-side filters in 3.15 is not yet complete (Ralph
wrote the code for them). I have written some documentation myself, but it
doesn't cover the array filter yet.
- Andrew
--
Advertising may be described as the science of arresting the human
intelligence long enough to get money from it. -- Stephen Leacock
Channel Filters
Channel Filters can be applied to Channel Access channels by a client, using a JSON Field Modifier to select the filter and any parameters. The following filters are available in this release:
Using Filters
Channel filters can be added to any Channel Access channel name. There can be more than one filter applied to the same channel, in which case the order that they are specified will control the order in which they are applied to the resulting data-stream. The filter specification must appear after the field name, or if the default (VAL) field is used after a dot . appended to the record name. With the exception of the array short-hand which is described below, all filters must appear inside a pair of braces {} after the dot expressed as a JSON (_javascript_ Object Notation) object, which allows filter parameters to be included as needed.
Each filter is given as a name/value pair. The filter name (given in parentheses in the titles below) is a string, and must be enclosed inside double-quotes " characters as per the JSON specification. Parameters to that filter are provided as the value part of the name/value pair, and will normally appear as a child JSON object consisting of name/value pairs inside a nested pair of braces {} .
Example Filter
Given a record called test:channel the following would apply a filter f to the VAL field of that record, giving the filter two numeric parameters named lo and hi :
test:channel.{"f":{"lo":0,"hi":10}}
Note that due to the required presence of the double-quote characters in the JSON strings in the name string, it will usually be necessary to enclose a filtered name within single-quotes ' E<hellip> ' when typing it as an argument to a Unix shell command.
Filter Reference
TimeStamp Filter "ts"
This filter is used to set the timestamp of the (first) value fetched through the channel to the connection time, rather than the time the record last processed which could have been days or even weeks ago for some records, or set to the EPICS epoch if the record has never processed.
Parameters
None, use an empty pair of braces.
Example
Hal$ caget -a 'test:channel.{"ts":{}}'
test:channel.{"ts":{}} 2012-08-28 22:10:31.192547 0 UDF INVALID
Hal$ caget -a 'test:channel'
test:channel <undefined> 0 UDF INVALID
Deadband Filter "dbnd"
This filter implements a channel-specific monitor deadband, which is applied after any deadbands implemented by the record itself (it can only drop updates that the unfiltered channel generates, never add additional updates).
The deadband can be specified as an absolute value change, or as a relative percentage.
Parameters
- Deadband
"d"
-
The size of the deadband to use. Relative deadband values are given as a numeric percentage, but without any trailing percent character.
- Mode
"m" (optional)
-
A string (enclosed in double-quotes " ), which should contain either abs or rel . The default mode is absolute if no mode parameter is included.
Example
Hal$ camonitor 'test:channel'
test:channel 2012-09-01 22:10:19.600595 1 LOLO MAJOR
test:channel 2012-09-01 22:10:20.600661 2 LOLO MAJOR
test:channel 2012-09-01 22:10:21.600819 3 LOW MINOR
test:channel 2012-09-01 22:10:22.600905 4 LOW MINOR
test:channel 2012-09-01 22:10:23.601023 5
test:channel 2012-09-01 22:10:24.601136 6 HIGH MINOR
^C
Hal$ camonitor 'test:channel.{"dbnd":{"d":1.5}}'
test:channel.{"dbnd":{"d":1.5}} 2012-09-01 22:11:49.613341 1 LOLO MAJOR
test:channel.{"dbnd":{"d":1.5}} 2012-09-01 22:11:51.613615 3 LOW MINOR
test:channel.{"dbnd":{"d":1.5}} 2012-09-01 22:11:53.613804 5
test:channel.{"dbnd":{"d":1.5}} 2012-09-01 22:11:55.614074 7 HIGH MINOR
test:channel.{"dbnd":{"d":1.5}} 2012-09-01 22:11:57.614305 9 HIHI MAJOR
^C
Array Filter "arr"
...
Synchronize Filter "sync"
- References:
- Sub-arrays nick.rees
- Navigate by Date:
- Prev:
Sub-arrays nick.rees
- Next:
RE: Sub-arrays Dalesio, Leo
- 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:
Sub-arrays nick.rees
- Next:
RE: Sub-arrays Dalesio, Leo
- 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
|