21
21
22
22
from runtime_swig import top_block_swig , \
23
23
top_block_wait_unlocked , top_block_run_unlocked , \
24
- top_block_start_unlocked , top_block_stop_unlocked
24
+ top_block_start_unlocked , top_block_stop_unlocked , \
25
+ dot_graph_tb
25
26
26
27
#import gnuradio.gr.gr_threading as _threading
27
28
import gr_threading as _threading
@@ -92,18 +93,18 @@ class top_block(object):
92
93
python subclassing.
93
94
"""
94
95
def __init__ (self , name = "top_block" ):
95
- self ._tb = top_block_swig (name )
96
+ self ._tb = top_block_swig (name )
96
97
97
98
def __getattr__ (self , name ):
98
99
if not hasattr (self , "_tb" ):
99
100
raise RuntimeError ("top_block: invalid state--did you forget to call gr.top_block.__init__ in a derived class?" )
100
- return getattr (self ._tb , name )
101
+ return getattr (self ._tb , name )
101
102
102
103
def start (self , max_noutput_items = 10000000 ):
103
- top_block_start_unlocked (self ._tb , max_noutput_items )
104
+ top_block_start_unlocked (self ._tb , max_noutput_items )
104
105
105
106
def stop (self ):
106
- top_block_stop_unlocked (self ._tb )
107
+ top_block_stop_unlocked (self ._tb )
107
108
108
109
def run (self , max_noutput_items = 10000000 ):
109
110
self .start (max_noutput_items )
@@ -122,16 +123,16 @@ def connect(self, *points):
122
123
'''
123
124
if len (points ) < 1 :
124
125
raise ValueError , ("connect requires at least one endpoint; %d provided." % (len (points ),))
125
- else :
126
- if len (points ) == 1 :
127
- self ._tb .primitive_connect (points [0 ].to_basic_block ())
128
- else :
129
- for i in range (1 , len (points )):
130
- self ._connect (points [i - 1 ], points [i ])
126
+ else :
127
+ if len (points ) == 1 :
128
+ self ._tb .primitive_connect (points [0 ].to_basic_block ())
129
+ else :
130
+ for i in range (1 , len (points )):
131
+ self ._connect (points [i - 1 ], points [i ])
131
132
132
133
def msg_connect (self , src , srcport , dst , dstport ):
133
134
self .primitive_msg_connect (src .to_basic_block (), srcport , dst .to_basic_block (), dstport );
134
-
135
+
135
136
def msg_disconnect (self , src , srcport , dst , dstport ):
136
137
self .primitive_msg_disconnect (src .to_basic_block (), srcport , dst .to_basic_block (), dstport );
137
138
@@ -169,3 +170,6 @@ def _disconnect(self, src, dst):
169
170
self ._tb .primitive_disconnect (src_block .to_basic_block (), src_port ,
170
171
dst_block .to_basic_block (), dst_port )
171
172
173
+ def dot_graph (self ):
174
+ '''Return graph representation in dot language'''
175
+ return dot_graph_tb (self ._tb )
0 commit comments