- peak manager manages more than one peak (Zwischenstand)
git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@496 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -4,12 +4,12 @@
|
|||||||
<key>jay_peak_manager</key>
|
<key>jay_peak_manager</key>
|
||||||
<category>[jay]</category>
|
<category>[jay]</category>
|
||||||
<import>import jay</import>
|
<import>import jay</import>
|
||||||
<make>jay.peak_manager($test)</make>
|
<make>jay.peak_manager($numPeaksMax)</make>
|
||||||
|
|
||||||
<param>
|
<param>
|
||||||
<name>Test</name>
|
<name>Num. peaks max.</name>
|
||||||
<key>test</key>
|
<key>numPeaksMax</key>
|
||||||
<value>1024</value>
|
<value>1</value>
|
||||||
<type>int</type>
|
<type>int</type>
|
||||||
</param>
|
</param>
|
||||||
|
|
||||||
@@ -27,6 +27,7 @@
|
|||||||
<source>
|
<source>
|
||||||
<name>freq</name>
|
<name>freq</name>
|
||||||
<type>message</type>
|
<type>message</type>
|
||||||
|
<nports>$numPeaksMax</nports>
|
||||||
<optional>1</optional>
|
<optional>1</optional>
|
||||||
</source>
|
</source>
|
||||||
</block>
|
</block>
|
||||||
|
|||||||
@@ -27,30 +27,38 @@ class peak_manager(gr.basic_block):
|
|||||||
"""
|
"""
|
||||||
docstring for block peak_manager
|
docstring for block peak_manager
|
||||||
"""
|
"""
|
||||||
def __init__(self, test):
|
def __init__(self, numPeaksMax):
|
||||||
gr.basic_block.__init__(self,
|
gr.basic_block.__init__(self,
|
||||||
name="peak_manager",
|
name="peak_manager",
|
||||||
in_sig=None,
|
in_sig=None,
|
||||||
out_sig=None)
|
out_sig=None)
|
||||||
|
|
||||||
self.test = test
|
self.numPeaksMax = numPeaksMax
|
||||||
self.numFrequencies = 1
|
|
||||||
self.peak_dict = {}
|
self.peak_dict = {}
|
||||||
|
|
||||||
print ("test : ", test)
|
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"))
|
||||||
self.message_port_register_out(pmt.intern("status"))
|
self.message_port_register_out(pmt.intern("status"))
|
||||||
self.message_port_register_out(pmt.intern("freq"))
|
|
||||||
|
self.out_ports = []
|
||||||
|
if self.numPeaksMax < 2:
|
||||||
|
self.out_ports.append(pmt.intern("freq"))
|
||||||
|
|
||||||
|
else:
|
||||||
|
for n in range(0, self.numPeaksMax):
|
||||||
|
self.out_ports.append(pmt.intern("freq" + str(n)))
|
||||||
|
|
||||||
|
for out_port in self.out_ports:
|
||||||
|
self.message_port_register_out(out_port)
|
||||||
|
|
||||||
# Register in message handler
|
# Register in message handler
|
||||||
self.set_msg_handler(pmt.intern("control"), self.msg_handler)
|
self.set_msg_handler(pmt.intern("control"), self.msg_handler)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def peak_add(self, key, peak):
|
def peak_add(self, key, peak):
|
||||||
if len(self.peak_dict) < self.numFrequencies:
|
if len(self.peak_dict) < self.numPeaksMax:
|
||||||
self.peak_dict[key] = peak
|
self.peak_dict[key] = peak
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user