diff --git a/gr-jay/grc/jay_message_filter.xml b/gr-jay/grc/jay_message_filter.xml
index ddcf3d4..f6afa47 100644
--- a/gr-jay/grc/jay_message_filter.xml
+++ b/gr-jay/grc/jay_message_filter.xml
@@ -4,13 +4,24 @@
jay_message_filter
[jay]
import jay
- jay.message_filter()
+ jay.message_filter($filterString, $substString)
+
+ Filter String
+ filterString
+ freq_rel_Hz
+ string
+
+
+ Substitute String
+ substString
+ freq
+ string
+
in
message
1
-
out
message
diff --git a/gr-jay/python/message_filter.py b/gr-jay/python/message_filter.py
index 888d2ee..2d25865 100644
--- a/gr-jay/python/message_filter.py
+++ b/gr-jay/python/message_filter.py
@@ -27,13 +27,14 @@ class message_filter(gr.basic_block):
"""
docstring for block message_filter
"""
- def __init__(self, filter='freq'):
+ def __init__(self, filter, subst=''):
gr.basic_block.__init__(self,
name="message_filter",
in_sig=None,
out_sig=None)
self.filter = filter
+ self.subst = subst
# Register in / out message ports
self.port_in = pmt.intern("in")
@@ -47,9 +48,13 @@ class message_filter(gr.basic_block):
def delegate_pair(self, pair):
key = pmt.car(pair)
+ val = pmt.cdr(pair)
key_str = pmt.symbol_to_string(key)
if self.filter in key_str:
+ if len(self.subst):
+ pair = pmt.cons(pmt.string_to_symbol(self.subst), val)
+
self.message_port_pub(self.port_out, pair)
def msg_handler(self, msg):