I am definitely a newbie here, so excuse me if I am asking some things
that might seem obvious.
I am mostly a windows guy, so I compiled and installed both the UHD
(003.004.003-253-gd9829759) and the gnuradio (3.6.2) under windows using
the CMAKE program.
After some effort, I can run gnuradio-companion. In the gnuradio
examples, I've tried filter/resampler_demo.grc and
pfb/resampler_demo.grc.
The pfb/resampler_demo.grc seems to run without any trouble. However,
when I execute filter/resampler_demo.grc, Python crashes. In the block
diagram, if I remove the arbitrary resampler block, python doesn't seem
to crash when I run it. So, I'm guessing that the arbitrary resampler
module is causing the problems.
filter/resampler_demo.grc crashes consistently even when I use the
precompiled binaries from Ettus and even when I install gnuradio on a
different windows machine.
When running gnuradio in Virtualbox under Ubuntu, however,
filter/resampler_demo.grc executes without a problem.
If you had any thoughts on this, I would appreciate it.
Thanks so much,
Seth
Other randome notes:
To run the GRC examples, I need to delete the first line that starts
with the hash '#'. It seems like GRC expects the bracket '<' as the
first line.
I have to say, that as a newcomer, the whole issue of installing and
understanding gnuradio is very confusing. One additional issue I ran
into (but overcame) is a link error in the gnuradio compile:
when compiling gnuradio-core (?), I get two link errors in
uhd_swigPYTHON_wrap.obj of the variety:
error LNK2019: unresolved external symbol "__declspec(dllimport) public:
__thiscall uhd::range_t::range_t(class uhd::range_t const &)"
(__imp_??0range_t@uhd@@QAE@ABV01@@Z) ...
For some reason, it seems that the definitions have to be explicitly
declared in the source, so I added the following to ranges.cpp:
range_t::~range_t(void)
{
/* NOP */
}
range_t::range_t(range_t const & _copy_range_t)
{
_start = _copy_range_t._start;
_step = _copy_range_t._step;
_stop = _copy_range_t._stop;
}
added code to ranges.hpp
// copy range
range_t(range_t const & _copy_range_t);
// declare destructor
~range_t(void);
on 2012-11-15 22:59
on 2012-11-16 04:19
> > If you had any thoughts on this, I would appreciate it. > Thanks so much, > Seth > I just fixed some pretty bad bug in the gr-filter that was causing access violations. You might be seeing that at play. http://gnuradio.org/cgit/gnuradio.git/commit/?h=ma... There isnt an installer yet w/ the fix though... > > Other randome notes: > To run the GRC examples, I need to delete the first line that starts > with the hash '#'. It seems like GRC expects the bracket '<' as the > first line. > Is this a .py file or a .grc file? Sorry, can you post a snippet or link. > For some reason, it seems that the definitions have to be explicitly > declared in the source, so I added the following to ranges.cpp: If you expose types from uhd in the public interface, you may also need to link the swig module against uhd.lib. Example: list(APPEND GR_SWIG_LIBRARIES ${UHD_LIBRARIES}) -josh
on 2012-11-16 17:33
Hi Josh, Thank you so much for your help. I replaced fir_filter.cc and fir_filter_with_buffer.cc per the fix below. I recompiled and now filter/resampler_demo.grc works! Thanks! >>I just fixed some pretty bad bug in the gr-filter that was causing >>access violations. You might be seeing that at play. >>http://gnuradio.org/cgit/gnuradio.git/commit/?h=ma... Per the hash problem: >>>>To run the GRC examples, I need to delete the first line that starts >>>>with the hash '#'. It seems like GRC expects the bracket '<' as the >>>>first line. >>Is this a .py file or a .grc file? Sorry, can you post a snippet or link. Resampler_demo.grc's first few lines are here: #!C:\Python27\python.exe <?xml version='1.0' encoding='ASCII'?> <flow_graph> <timestamp>Tue Jun 19 21:31:30 2012</timestamp> <block> When I load the resampler_demo.grc into companion, it errors out with the message below. However, when I remove the first line (#!C:\Python27\python.exe), it loads just fine. Loading: "C:\grctestcode\resampler_demo.grc" Error: Start tag expected, '<' not found, line 1, column 1 >>> Failure Traceback (most recent call last): File "C:\gnuradio\install\lib\site-packages\gnuradio\grc\gui\MainWindow.py", l ine 178, in new_page file_path=file_path, File "C:\gnuradio\install\lib\site-packages\gnuradio\grc\gui\NotebookPage.py", line 47, in __init__ initial_state = flow_graph.get_parent().parse_flow_graph(file_path) File "C:\gnuradio\install\lib\site-packages\gnuradio\grc\base\Platform.py", li ne 113, in parse_flow_graph ParseXML.validate_dtd(flow_graph_file, FLOW_GRAPH_DTD) File "C:\gnuradio\install\lib\site-packages\gnuradio\grc\base\ParseXML.py", li ne 38, in validate_dtd xml = etree.parse(xml_file, parser=parser) File "lxml.etree.pyx", line 2942, in lxml.etree.parse (src/lxml/lxml.etree.c:5 4187) File "parser.pxi", line 1528, in lxml.etree._parseDocument (src/lxml/lxml.etre e.c:79485) File "parser.pxi", line 1557, in lxml.etree._parseDocumentFromURL (src/lxml/lx ml.etree.c:79768) File "parser.pxi", line 1457, in lxml.etree._parseDocFromFile (src/lxml/lxml.e tree.c:78843) File "parser.pxi", line 997, in lxml.etree._BaseParser._parseDocFromFile (src/ lxml/lxml.etree.c:75698) File "parser.pxi", line 564, in lxml.etree._ParserContext._handleParseResultDo c (src/lxml/lxml.etree.c:71739) File "parser.pxi", line 645, in lxml.etree._handleParseResult (src/lxml/lxml.e tree.c:72614) File "parser.pxi", line 585, in lxml.etree._raiseParseError (src/lxml/lxml.etr ee.c:71955) XMLSyntaxError: Start tag expected, '<' not found, line 1, column 1
on 2012-11-16 18:57
> #!C:\Python27\python.exe > <?xml version='1.0' encoding='ASCII'?> > <flow_graph> > <timestamp>Tue Jun 19 21:31:30 2012</timestamp> > <block> > I think its a typo, the grc file is being installed with GR_PYTHON_INSTALL, so its appending the shebang to it. You would probably just want to use the grc file from the source tree. Devs should probably pull this out: diff --git a/gr-filter/examples/CMakeLists.txt b/gr-filter/examples/CMakeLists.txt index a3901b6..57dbab9 100644 --- a/gr-filter/examples/CMakeLists.txt +++ b/gr-filter/examples/CMakeLists.txt @@ -30,7 +30,6 @@ GR_PYTHON_INSTALL(PROGRAMS interpolate.py reconstruction.py resampler.py - resampler_demo.grc synth_filter.py synth_to_chan.py DESTINATION ${GR_PKG_FILTER_EXAMPLES_DIR} -josh
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.