diff options
Diffstat (limited to 'gnuradio-core/src/python')
-rw-r--r-- | gnuradio-core/src/python/gnuradio/gr/__init__.py | 63 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/gr/gateway.py | 3 |
2 files changed, 64 insertions, 2 deletions
diff --git a/gnuradio-core/src/python/gnuradio/gr/__init__.py b/gnuradio-core/src/python/gnuradio/gr/__init__.py index 1c2c4c837..ee96f0182 100644 --- a/gnuradio-core/src/python/gnuradio/gr/__init__.py +++ b/gnuradio-core/src/python/gnuradio/gr/__init__.py @@ -26,11 +26,70 @@ from gnuradio_core import * from exceptions import * -from hier_block2 import * -from top_block import * +#from hier_block2 import * +#from top_block import * from gateway import basic_block, sync_block, decim_block, interp_block from tag_utils import tag_to_python, tag_to_pmt +import gras + +RT_OK = 0 +RT_NOT_IMPLEMENTED = 1 +RT_NO_PRIVS = 2 +RT_OTHER_ERROR = 3 + + +def enable_realtime_scheduling(): + """ + This call is for backward compat purposes. + See gras/thread_pool.hpp for greater options. + """ + + #any prio greater than 0 means realtime scheduling + prio_value = 0.5 + + #test that prio + if not gras.ThreadPool.test_thread_priority(prio_value): + return RT_NO_PRIVS + + #create a new thread pool with thread priority set + config = gras.ThreadPoolConfig() + config.thread_priority = prio_value + tp = gras.ThreadPool(config) + tp.set_active() + + return RT_OK + +class top_block(gras.TopBlock): + def __init__(self, name="Top"): + gras.TopBlock.__init__(self, name) + + def lock(self): + pass + + def unlock(self): + self.commit() + +class hier_block2(gras.HierBlock): + def __init__(self, name="Hier", in_sig=None, out_sig=None): + gras.HierBlock.__init__(self, name) + + self.__in_sig = in_sig + self.__out_sig = out_sig + + #backwards compatible silliness + import weakref + self._hb = weakref.proxy(self) + + def lock(self): + pass + + def unlock(self): + self.commit() + + def input_signature(self): return self.__in_sig + def output_signature(self): return self.__out_sig + # create a couple of aliases serial_to_parallel = stream_to_vector parallel_to_serial = vector_to_stream diff --git a/gnuradio-core/src/python/gnuradio/gr/gateway.py b/gnuradio-core/src/python/gnuradio/gr/gateway.py index c25755bb5..53fda17a4 100644 --- a/gnuradio-core/src/python/gnuradio/gr/gateway.py +++ b/gnuradio-core/src/python/gnuradio/gr/gateway.py @@ -118,6 +118,9 @@ class gateway_block(object): setattr(self, attr.replace(prefix, ''), getattr(self.__gateway, attr)) self.pop_msg_queue = lambda: gr_core.gr_block_gw_pop_msg_queue_safe(self.__gateway) + #gras version of the to_basic_block() + def to_element(self): return self.__gateway.to_element() + def to_basic_block(self): """ Makes this block connectable by hier/top block python |