- cleaned up from debug output
- fixed peak change mechanism git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@506 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -78,17 +78,21 @@ namespace gr {
|
|||||||
|
|
||||||
void message_debug_impl::set_msg(pmt::pmt_t msg)
|
void message_debug_impl::set_msg(pmt::pmt_t msg)
|
||||||
{
|
{
|
||||||
if (pmt::is_pair(msg))
|
if (pmt::is_dict(msg))
|
||||||
{
|
|
||||||
print_pair(msg);
|
|
||||||
}
|
|
||||||
else if (pmt::is_dict(msg))
|
|
||||||
{
|
{
|
||||||
pmt::pmt_t items = pmt::dict_items(msg);
|
pmt::pmt_t items = pmt::dict_items(msg);
|
||||||
for (int i = 0; i < pmt::length(items); i++)
|
try
|
||||||
{
|
{
|
||||||
pmt::pmt_t pair = pmt::nth(i, items);
|
size_t len_items = pmt::length(items);
|
||||||
print_pair(pair);
|
for (int i=0; i < len_items; i++)
|
||||||
|
{
|
||||||
|
pmt::pmt_t pair = pmt::nth(i, items);
|
||||||
|
print_pair(pair);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (const std::exception& e)
|
||||||
|
{
|
||||||
|
print_pair(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -278,8 +278,8 @@ namespace gr {
|
|||||||
|
|
||||||
if (!intersection)
|
if (!intersection)
|
||||||
{
|
{
|
||||||
peak.height_rel = m_pXds[peak.pos];
|
peak.heightUpdate_rel(m_pXds, nitems_per_block);
|
||||||
peak.height_abs = m_pXs[peak.pos];
|
peak.heightUpdate_abs(m_pXs, nitems_per_block);
|
||||||
m_peakList.push_back(peak);
|
m_peakList.push_back(peak);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -313,14 +313,14 @@ namespace gr {
|
|||||||
for (int i = 0; i < m_peakList.size(); i++)
|
for (int i = 0; i < m_peakList.size(); i++)
|
||||||
{
|
{
|
||||||
Peak &peak = m_peakList[i];
|
Peak &peak = m_peakList[i];
|
||||||
peak.heightUpdate_rel(m_pXds, nitems_per_block);
|
|
||||||
peak.heightUpdate_abs(m_pXs, nitems_per_block);
|
|
||||||
|
|
||||||
bool found = false;
|
bool found = false;
|
||||||
for (int j=0; j < temp.size(); j++)
|
for (int j=0; j < temp.size(); j++)
|
||||||
{
|
{
|
||||||
if (temp[j].isInRange(peak))
|
if (temp[j].isInRange(peak))
|
||||||
{
|
{
|
||||||
|
temp[j].update(peak);
|
||||||
|
temp[j].setState(1);
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,9 @@ namespace jay {
|
|||||||
, pbh(_pbh)
|
, pbh(_pbh)
|
||||||
, frequency(_frequency)
|
, frequency(_frequency)
|
||||||
, height_rel(_height_rel)
|
, height_rel(_height_rel)
|
||||||
|
, height_rel_last(_height_rel)
|
||||||
, height_abs(_height_abs)
|
, height_abs(_height_abs)
|
||||||
|
, height_abs_last(_height_abs)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -59,6 +61,8 @@ namespace jay {
|
|||||||
int pbh;
|
int pbh;
|
||||||
float height_rel;
|
float height_rel;
|
||||||
float height_abs;
|
float height_abs;
|
||||||
|
float height_rel_last;
|
||||||
|
float height_abs_last;
|
||||||
float frequency;
|
float frequency;
|
||||||
|
|
||||||
bool isInRange(const Peak &other) const
|
bool isInRange(const Peak &other) const
|
||||||
@@ -92,10 +96,11 @@ namespace jay {
|
|||||||
pos = newPos;
|
pos = newPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (std::fabs(height_rel-newHeight) >= 3.0f)
|
height_rel = newHeight;
|
||||||
|
if (std::fabs(height_rel_last-newHeight) >= 1.0f)
|
||||||
{
|
{
|
||||||
isModified = true;
|
isModified = true;
|
||||||
height_rel = newHeight;
|
height_rel_last = height_rel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -118,14 +123,16 @@ namespace jay {
|
|||||||
if (pos != newPos)
|
if (pos != newPos)
|
||||||
{
|
{
|
||||||
isModified = true;
|
isModified = true;
|
||||||
height_abs = newHeight;
|
pos = newPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (std::fabs(height_abs-newHeight) >= 3.0f)
|
height_abs = newHeight;
|
||||||
|
if (std::fabs(height_abs_last-newHeight) >= 1.0f)
|
||||||
{
|
{
|
||||||
isModified = true;
|
isModified = true;
|
||||||
height_rel = newHeight;
|
height_abs_last = height_abs;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,12 +201,14 @@ namespace jay {
|
|||||||
|
|
||||||
bool update(const Peak &other)
|
bool update(const Peak &other)
|
||||||
{
|
{
|
||||||
if (std::fabs(height_rel-other.height_rel) >= 3.0f)
|
if (std::fabs(height_rel_last-other.height_rel) >= 1.0f)
|
||||||
{
|
{
|
||||||
|
height_rel_last = other.height_rel;
|
||||||
isModified = true;
|
isModified = true;
|
||||||
}
|
}
|
||||||
if (std::fabs(height_abs-other.height_abs) >= 3.0f)
|
if (std::fabs(height_abs-other.height_abs) >= 1.0f)
|
||||||
{
|
{
|
||||||
|
height_abs_last = other.height_abs;
|
||||||
isModified = true;
|
isModified = true;
|
||||||
}
|
}
|
||||||
if (pos != other.pos)
|
if (pos != other.pos)
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ namespace gr {
|
|||||||
// Check pair for data
|
// Check pair for data
|
||||||
if (pmt::symbol_to_string(key) == std::string("gain"))
|
if (pmt::symbol_to_string(key) == std::string("gain"))
|
||||||
{
|
{
|
||||||
float gain_dB = pmt::to_float(val) - 40.f;
|
float gain_dB = pmt::to_float(val) - 50.f;
|
||||||
m_gain_target = std::pow(10.f, gain_dB/10);
|
m_gain_target = std::pow(10.f, gain_dB/10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,6 @@ class peak_manager(gr.basic_block):
|
|||||||
self.ports_avail = []
|
self.ports_avail = []
|
||||||
self.ports_used = []
|
self.ports_used = []
|
||||||
|
|
||||||
print ("numPeaksMax : ", numPeaksMax)
|
|
||||||
|
|
||||||
# Register in / out message ports
|
# Register in / out message ports
|
||||||
self.message_port_register_in(pmt.intern("control"))
|
self.message_port_register_in(pmt.intern("control"))
|
||||||
|
|
||||||
@@ -109,30 +107,28 @@ class peak_manager(gr.basic_block):
|
|||||||
|
|
||||||
if peakMsg['state'] == 1:
|
if peakMsg['state'] == 1:
|
||||||
if peakEntry is not None:
|
if peakEntry is not None:
|
||||||
portname = peakEntry['port_name']
|
|
||||||
print("Update " + peak_key + "(" + portname + ")")
|
|
||||||
msg_dict = pmt.make_dict()
|
msg_dict = pmt.make_dict()
|
||||||
msg_dict = pmt.dict_add(msg_dict, pmt.intern("freq"), pmt.from_double(peakMsg['freq_Hz']))
|
msg_dict = pmt.dict_add(msg_dict, pmt.intern("freq"), pmt.from_double(peakMsg['freq_Hz']))
|
||||||
msg_dict = pmt.dict_add(msg_dict, pmt.intern("gain"), pmt.from_double(-peakMsg['height']))
|
msg_dict = pmt.dict_add(msg_dict, pmt.intern("gain"), pmt.from_double(-peakMsg['height']))
|
||||||
|
portname = peakEntry['port_name']
|
||||||
self.message_port_pub(pmt.intern(portname), msg_dict)
|
self.message_port_pub(pmt.intern(portname), msg_dict)
|
||||||
|
print ("Updated peak #{} at {:0.2f} MHz on port {}".format(id, freq_MHz, portname))
|
||||||
else:
|
else:
|
||||||
print ("New peak #{} at {:0.2f} MHz".format(id, freq_MHz))
|
|
||||||
peakEntry = self.peak_add(peak_key, peakMsg)
|
peakEntry = self.peak_add(peak_key, peakMsg)
|
||||||
if peakEntry is not None:
|
if peakEntry is not None:
|
||||||
portname = peakEntry['port_name']
|
|
||||||
print("Added " + peak_key + "(" + portname + ")")
|
|
||||||
msg_dict = pmt.make_dict()
|
msg_dict = pmt.make_dict()
|
||||||
msg_dict = pmt.dict_add(msg_dict, pmt.intern("freq"), pmt.from_double(peakMsg['freq_Hz']))
|
msg_dict = pmt.dict_add(msg_dict, pmt.intern("freq"), pmt.from_double(peakMsg['freq_Hz']))
|
||||||
msg_dict = pmt.dict_add(msg_dict, pmt.intern("gain"), pmt.from_double(-peakMsg['height']))
|
msg_dict = pmt.dict_add(msg_dict, pmt.intern("gain"), pmt.from_double(-peakMsg['height']))
|
||||||
|
portname = peakEntry['port_name']
|
||||||
self.message_port_pub(pmt.intern(portname), msg_dict)
|
self.message_port_pub(pmt.intern(portname), msg_dict)
|
||||||
|
print ("New peak #{} at {:0.2f} MHz on port {}".format(id, freq_MHz, portname))
|
||||||
else:
|
else:
|
||||||
if peakEntry is not None:
|
if peakEntry is not None:
|
||||||
print ("Lost peak #{} at {:0.2f} MHz".format(id, freq_MHz))
|
|
||||||
portname = peakEntry['port_name']
|
|
||||||
pair = pmt.cons(pmt.intern("gain"), pmt.from_float(-120.0))
|
pair = pmt.cons(pmt.intern("gain"), pmt.from_float(-120.0))
|
||||||
|
portname = peakEntry['port_name']
|
||||||
self.message_port_pub(pmt.intern(portname), pair)
|
self.message_port_pub(pmt.intern(portname), pair)
|
||||||
if self.peak_del(peak_key):
|
if self.peak_del(peak_key):
|
||||||
print("Deleted " + peak_key + "(" + portname + ")")
|
print ("Lost peak #{} at {:0.2f} MHz on port {}".format(id, freq_MHz, portname))
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user