From 6b03adfed85017716ff7a7c8926b1495bb04f393 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Fri, 31 May 2019 17:23:52 +0000 Subject: [PATCH] [message filter] - take filter string and substite string - can now replace key by another key git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@529 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- gr-jay/grc/jay_message_filter.xml | 15 +++++++++++++-- gr-jay/python/message_filter.py | 7 ++++++- 2 files changed, 19 insertions(+), 3 deletions(-) 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):