commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 05/10: grc: Generator warning for flowgraph


From: git
Subject: [Commit-gnuradio] [gnuradio] 05/10: grc: Generator warning for flowgraphs with a throttle and an external source/sink
Date: Tue, 26 Aug 2014 19:40:07 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit bcee01bf9bb04eeda82158e564949d79715bfca3
Author: Marcus Müller <address@hidden>
Date:   Mon Aug 25 23:14:39 2014 +0200

    grc: Generator warning for flowgraphs with a throttle and an external 
source/sink
    
    The Generator will now issue a warning that it is usually wrong to use
    any hardware flow control and a throttle block at the same time.
---
 gr-blocks/grc/blocks_udp_source.xml |  1 +
 grc/python/Generator.py             | 12 +++++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/gr-blocks/grc/blocks_udp_source.xml 
b/gr-blocks/grc/blocks_udp_source.xml
index bca1dff..3b434c1 100644
--- a/gr-blocks/grc/blocks_udp_source.xml
+++ b/gr-blocks/grc/blocks_udp_source.xml
@@ -7,6 +7,7 @@
 <block>
        <name>UDP Source</name>
        <key>blocks_udp_source</key>
+       <throttle>1</throttle>
        <import>from gnuradio import blocks</import>
        <make>blocks.udp_source($type.size*$vlen, $ipaddr, $port, $psize, 
$eof)</make>
        <callback>set_mtu($mtu)</callback>
diff --git a/grc/python/Generator.py b/grc/python/Generator.py
index eb24b75..92f36cf 100644
--- a/grc/python/Generator.py
+++ b/grc/python/Generator.py
@@ -59,11 +59,17 @@ class Generator(object):
 
     def write(self):
         #do throttle warning
-        throttled = any(map(lambda b: b.throttle(), 
self._flow_graph.get_enabled_blocks()))
-        if not throttled and self._generate_options != 'hb':
+        throttling_blocks = filter(lambda b: b.throttle(), 
self._flow_graph.get_enabled_blocks())
+        if not throttling_blocks and self._generate_options != 'hb':
             Messages.send_warning('''\
-This flow graph may not have flow control: no audio or usrp blocks found. \
+This flow graph may not have flow control: no audio or RF hardware blocks 
found. \
 Add a Misc->Throttle block to your flow graph to avoid CPU congestion.''')
+        if len(throttling_blocks) > 1:
+            keys = set(map(lambda b: b.get_key(), throttling_blocks))
+            if len(keys) > 1 and 'blocks_throttle' in keys:
+                Messages.send_warning('''\
+This flow graph contains a throttle block and another rate limiting block, 
e.g. a hardware source or sink. \
+This is usually undesired. Consider removing the throttle block.''')
         #generate
         open(self.get_file_path(), 'w').write(str(self))
         if self._generate_options == 'hb':



reply via email to

[Prev in Thread] Current Thread [Next in Thread]