- 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:
@@ -63,6 +63,11 @@
|
|||||||
<type>float</type>
|
<type>float</type>
|
||||||
<vlen>$vlen</vlen>
|
<vlen>$vlen</vlen>
|
||||||
</sink>
|
</sink>
|
||||||
|
<sink>
|
||||||
|
<name>control</name>
|
||||||
|
<type>message</type>
|
||||||
|
<optional>1</optional>
|
||||||
|
</sink>
|
||||||
|
|
||||||
<!-- Make one 'source' node per output. Sub-nodes:
|
<!-- Make one 'source' node per output. Sub-nodes:
|
||||||
* name (an identifier for the GUI)
|
* name (an identifier for the GUI)
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ namespace gr {
|
|||||||
str << name() << unique_id();
|
str << name() << unique_id();
|
||||||
m_tag_id = pmt::string_to_symbol(str.str());
|
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");
|
m_msg_port_out = pmt::mp("status");
|
||||||
message_port_register_in(m_msg_port_in);
|
message_port_register_in(m_msg_port_in);
|
||||||
message_port_register_out(m_msg_port_out);
|
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_key = pmt::string_to_symbol(std::string("peak"));
|
||||||
pmt::pmt_t tag_value = pmt::string_to_symbol(msgStr);
|
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);
|
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);
|
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);
|
add_item_tag(DATA, nitems_written(DATA) + k, tag_key, tag_value, m_tag_id);
|
||||||
|
|
||||||
// pmt::pmt_t dict = pmt::make_dict();
|
pmt::pmt_t dict = pmt::make_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("id")), pmt::from_long(peak.id));
|
||||||
// message_port_pub(m_msg_port_out, dict);
|
dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("pos")), pmt::from_long(peak.pos));
|
||||||
message_port_pub(m_msg_port_out, pmt::string_to_symbol(msgStr));
|
dict = pmt::dict_add(dict, pmt::string_to_symbol(std::string("state")), pmt::from_long(1));
|
||||||
|
message_port_pub(m_msg_port_out, dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -174,7 +174,14 @@ namespace jay {
|
|||||||
private:
|
private:
|
||||||
void set_msg(pmt::pmt_t msg)
|
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)
|
Peak peakCheck(float const *pData, Peak const &peak, float thresh)
|
||||||
|
|||||||
Reference in New Issue
Block a user