- working dictionary on messages

git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@483 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2019-05-27 19:45:50 +00:00
parent 7508e1b665
commit 4373e458c7
3 changed files with 25 additions and 7 deletions
+5
View File
@@ -63,6 +63,11 @@
<type>float</type>
<vlen>$vlen</vlen>
</sink>
<sink>
<name>control</name>
<type>message</type>
<optional>1</optional>
</sink>
<!-- Make one 'source' node per output. Sub-nodes:
* name (an identifier for the GUI)
+12 -6
View File
@@ -73,7 +73,7 @@ namespace gr {
str << name() << unique_id();
m_tag_id = pmt::string_to_symbol(str.str());
m_msg_port_in = pmt::mp("msgIn");
m_msg_port_in = pmt::mp("control");
m_msg_port_out = pmt::mp("status");
message_port_register_in(m_msg_port_in);
message_port_register_out(m_msg_port_out);
@@ -300,7 +300,12 @@ namespace gr {
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);
message_port_pub(m_msg_port_out, pmt::string_to_symbol(msgStr));
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("state")), pmt::from_long(0));
message_port_pub(m_msg_port_out, dict);
}
}
@@ -329,10 +334,11 @@ namespace gr {
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();
// pmt::dict_add(dict, pmt::string_to_symbol(std::string("id=")), pmt::from_long(peak.id));
// message_port_pub(m_msg_port_out, dict);
message_port_pub(m_msg_port_out, pmt::string_to_symbol(msgStr));
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("state")), pmt::from_long(1));
message_port_pub(m_msg_port_out, dict);
}
}
+8 -1
View File
@@ -174,7 +174,14 @@ namespace jay {
private:
void set_msg(pmt::pmt_t msg)
{
if (pmt::is_dict(msg))
{
fprintf(stderr, "Is dictionary\n!");
}
else
{
fprintf(stderr, "Sym: %s\n", pmt::symbol_to_string(msg).c_str());
}
}
Peak peakCheck(float const *pData, Peak const &peak, float thresh)