From 893f946b7a652497994309092fe84fb33504852c Mon Sep 17 00:00:00 2001 From: Thomas Tsou Date: Fri, 19 Aug 2011 14:50:55 -0700 Subject: gr-uhd: add async metadata source block Add asynchronous message "block" that is independent of normal gnuradio scheduler. The block instantiates a thread to wait for asynchronous messages from UHD and encapsulates them in a gr_message posted into a message queue. The interface is empty because the block is internally driven and accessed through the the constructor specified message queue. --- gr-uhd/swig/__init__.py | 3 +-- gr-uhd/swig/uhd_swig.i | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'gr-uhd/swig') diff --git a/gr-uhd/swig/__init__.py b/gr-uhd/swig/__init__.py index 7ed689ec0..6d4ecc7f0 100644 --- a/gr-uhd/swig/__init__.py +++ b/gr-uhd/swig/__init__.py @@ -60,7 +60,7 @@ def _prepare_uhd_swig(): if attr.endswith('_t'): setattr(uhd_swig, attr[:-2], myobj) #Cast constructor args (FIXME swig handle overloads?) - for attr in ('usrp_source', 'usrp_sink'): + for attr in ('usrp_source', 'usrp_sink', 'amsg_source'): def constructor_factory(old_constructor): def constructor_interceptor(*args, **kwargs): args = list(args) @@ -77,7 +77,6 @@ def _prepare_uhd_swig(): #Aliases for deprecated constructors setattr(uhd_swig, 'single_usrp_source', uhd_swig.usrp_source) - setattr(uhd_swig, 'single_usrp_sink', uhd_swig.usrp_sink) setattr(uhd_swig, 'multi_usrp_source', uhd_swig.usrp_source) setattr(uhd_swig, 'multi_usrp_sink', uhd_swig.usrp_sink) diff --git a/gr-uhd/swig/uhd_swig.i b/gr-uhd/swig/uhd_swig.i index 9bdb962c9..b58fe9e18 100644 --- a/gr-uhd/swig/uhd_swig.i +++ b/gr-uhd/swig/uhd_swig.i @@ -55,6 +55,7 @@ %{ #include #include +#include %} //////////////////////////////////////////////////////////////////////// @@ -114,6 +115,9 @@ GR_SWIG_BLOCK_MAGIC(uhd,usrp_source) GR_SWIG_BLOCK_MAGIC(uhd,usrp_sink) %include +GR_SWIG_BLOCK_MAGIC(uhd,amsg_source) +%include + //////////////////////////////////////////////////////////////////////// // helpful constants //////////////////////////////////////////////////////////////////////// -- cgit From f4cc7884c608a7ec1969e68b73e12cdbcc26145c Mon Sep 17 00:00:00 2001 From: Thomas Tsou Date: Mon, 22 Aug 2011 11:34:57 -0700 Subject: gr-uhd: readd displaced alias for single_usrp_sink Insert alias for single_usrp_sink mistakenly removed in Commit 893f946b "gr-uhd: add async metadata source block" --- gr-uhd/swig/__init__.py | 1 + 1 file changed, 1 insertion(+) (limited to 'gr-uhd/swig') diff --git a/gr-uhd/swig/__init__.py b/gr-uhd/swig/__init__.py index 6d4ecc7f0..5c0c011b7 100644 --- a/gr-uhd/swig/__init__.py +++ b/gr-uhd/swig/__init__.py @@ -77,6 +77,7 @@ def _prepare_uhd_swig(): #Aliases for deprecated constructors setattr(uhd_swig, 'single_usrp_source', uhd_swig.usrp_source) + setattr(uhd_swig, 'single_usrp_sink', uhd_swig.usrp_sink) setattr(uhd_swig, 'multi_usrp_source', uhd_swig.usrp_source) setattr(uhd_swig, 'multi_usrp_sink', uhd_swig.usrp_sink) -- cgit From 40193f0b6ca030db990ec98a3b5059e918f7aaf3 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 20 Sep 2011 16:05:53 -0700 Subject: uhd: added kwargs to construct individual struct elements in tune_request_t --- gr-uhd/swig/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gr-uhd/swig') diff --git a/gr-uhd/swig/__init__.py b/gr-uhd/swig/__init__.py index 5c0c011b7..1f82b4a26 100644 --- a/gr-uhd/swig/__init__.py +++ b/gr-uhd/swig/__init__.py @@ -32,9 +32,13 @@ def _prepare_uhd_swig(): #Make the python tune request object inherit from float #so that it can be passed in GRC as a frequency parameter. #The type checking in GRC will accept the tune request. + #Also use kwargs to construct individual struct elements. class tune_request_t(uhd_swig.tune_request_t, float): - def __new__(self, *args): return float.__new__(self) + def __new__(self, *args, **kwargs): return float.__new__(self) def __float__(self): return self.target_freq + def __init__(self, *args, **kwargs): + super(tune_request_t, self).__init__(*args) + for key, val in kwargs.iteritems(): setattr(self, key, val) setattr(uhd_swig, 'tune_request_t', tune_request_t) #Make the python tune request object inherit from string -- cgit