From 315932ea4edb83bd23456bb1662c706c42bbe3b5 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 28 May 2019 16:04:35 +0000 Subject: [PATCH] - improved peak message / tag generation git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@491 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- gr-jay/lib/peak_detect_impl.cc | 24 ++++-------------------- gr-jay/lib/peak_detect_impl.h | 11 +++++++++++ 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/gr-jay/lib/peak_detect_impl.cc b/gr-jay/lib/peak_detect_impl.cc index 5922281..756dcdc 100644 --- a/gr-jay/lib/peak_detect_impl.cc +++ b/gr-jay/lib/peak_detect_impl.cc @@ -296,17 +296,9 @@ namespace gr { else { // Output OFF-tags - std::string msgStr(std::string("id=") + std::to_string(peak.id) + std::string(":pos=") + std::to_string(peak.pos) + std::string(":state=") + std::string("OFF")); - pmt::pmt_t tag_key = pmt::string_to_symbol(std::string("peak")); - pmt::pmt_t tag_value = pmt::string_to_symbol(msgStr); - add_item_tag(DATA, nitems_written(DATA) + k, tag_key, tag_value, m_tag_id); - - pmt::pmt_t dict = pmt::make_dict(); - dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("id")), pmt::from_long(peak.id)); - dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("pos")), pmt::from_long(peak.pos)); - dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("height")), pmt::from_float(peak.height_rel)); - dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("state")), pmt::from_bool(0)); + pmt::pmt_t dict = peak.msg(0); message_port_pub(m_msg_port_out, dict); + add_item_tag(DATA, nitems_written(DATA) + k, pmt::string_to_symbol(std::string("peak")), dict, m_tag_id); } } @@ -330,17 +322,9 @@ namespace gr { temp.push_back(peak); // Output ON-tags - std::string msgStr(std::string("id=") + std::to_string(peak.id) + std::string(":pos=") + std::to_string(peak.pos) + std::string(":state=") + std::string("ON")); - pmt::pmt_t tag_key = pmt::string_to_symbol(std::string("peak")); - pmt::pmt_t tag_value = pmt::string_to_symbol(msgStr); - add_item_tag(DATA, nitems_written(DATA) + k, tag_key, tag_value, m_tag_id); - - pmt::pmt_t dict = pmt::make_dict(); - dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("id")), pmt::from_long(peak.id)); - dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("pos")), pmt::from_long(peak.pos)); - dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("height")), pmt::from_float(peak.height_rel)); - dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("state")), pmt::from_bool(1)); + pmt::pmt_t dict = peak.msg(1); message_port_pub(m_msg_port_out, dict); + add_item_tag(DATA, nitems_written(DATA) + k, pmt::string_to_symbol(std::string("peak")), dict, m_tag_id); } } diff --git a/gr-jay/lib/peak_detect_impl.h b/gr-jay/lib/peak_detect_impl.h index b7e72be..54c6d50 100644 --- a/gr-jay/lib/peak_detect_impl.h +++ b/gr-jay/lib/peak_detect_impl.h @@ -169,6 +169,17 @@ namespace jay { { return pos + pbh; } + + pmt::pmt_t msg(int state) + { + pmt::pmt_t dict = pmt::make_dict(); + dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("id")), pmt::from_long(id)); + dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("pos")), pmt::from_long(pos)); + dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("height")), pmt::from_float(height_rel)); + dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("state")), pmt::from_long(state)); + + return dict; + } }; private: