diff --git a/gr-jay/grc/jay_peak_manager.xml b/gr-jay/grc/jay_peak_manager.xml index 6091e82..d39fddb 100644 --- a/gr-jay/grc/jay_peak_manager.xml +++ b/gr-jay/grc/jay_peak_manager.xml @@ -4,12 +4,12 @@ jay_peak_manager [jay] import jay - jay.peak_manager($test) + jay.peak_manager($numPeaksMax) - Test - test - 1024 + Num. peaks max. + numPeaksMax + 1 int @@ -27,6 +27,7 @@ freq message + $numPeaksMax 1 diff --git a/gr-jay/python/peak_manager.py b/gr-jay/python/peak_manager.py index c4d3be8..f393a64 100644 --- a/gr-jay/python/peak_manager.py +++ b/gr-jay/python/peak_manager.py @@ -27,30 +27,38 @@ class peak_manager(gr.basic_block): """ docstring for block peak_manager """ - def __init__(self, test): + def __init__(self, numPeaksMax): gr.basic_block.__init__(self, name="peak_manager", in_sig=None, out_sig=None) - self.test = test - self.numFrequencies = 1 + self.numPeaksMax = numPeaksMax self.peak_dict = {} - print ("test : ", test) + print ("numPeaksMax : ", numPeaksMax) # Register in / out message ports self.message_port_register_in(pmt.intern("control")) 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 self.set_msg_handler(pmt.intern("control"), self.msg_handler) - 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 return True return False