Unfortunately I wasn't able to determine the problem after a quick glance. I recommend that you use gr_modtool to create an out-of-tree module and then add a block to it. This will set up most of what you need. Then you can splice in your code/algorithms and not have to worry as much about the boilerplate stuff.
However, you will have to add some stuff to the CMakeList.txt files to pull in UHD support. I don't know off the top of my head how to pull in UHD directly, but if you pull in the gr-uhd package, that should do it for you. See gnuradio/cmake/Modules/FindGnuradio.cmake on the next branch for some guidance on how to do that. --sean ________________________________ From: [email protected] [[email protected]] on behalf of Nelson Pina [[email protected]] Sent: Thursday, April 25, 2013 5:36 PM To: [email protected] Subject: [Discuss-gnuradio] Fwd: USRP1 control GPIOs on SBX boards Hi Sean, thanks for your feedback.. I'm still trying to get this working but the problem persists. Every time I use the "uhd::device_addr_t addr" class necessary to initialize an "uhd::usrp::multi_usrp::make" object, the GRC program fails. Do I need to do something in the swig.i or the Python files to use "uhd::device_addr_t addr" class? I will send you my .cc and .h files, y«if you can take a look on those I will be very thankful. Thanks again. Best regards, Nelson Pina Product Developer Hardware [X] [email protected]<mailto:[email protected]> T +351 220 301 596 (PT) T +44 114 213 2712 (UK) www.tomorrow-options.com<http://www.tomorrow-options.com/> Porto // Portugal Sheffield // United Kingdom [X]<http://www.tomorrow-options.com/> [X] <http://www.linkedin.com/company/tomorrow-options> [X] <http://www.facebook.com/pages/Porto-Portugal/Tomorrow-Options/214846405104> [X] <http://twitter.com/TomorrowOptions> [X] <http://www.youtube.com/user/TomorrowOptionsTube> [X] On Tue, Apr 23, 2013 at 8:31 PM, Sean Nowlan <[email protected]<mailto:[email protected]>> wrote: On 04/23/2013 02:06 PM, Nelson Pina wrote: Hi everyone, I have been trying to make a gnuradio out-of-the-tree block that is able to control the four GPIOs, currently attached to LED's, of the SBX daughter-boards working with an USRP motherboard. I wonder if anyone can help me on this, making a functional draft code of such a block: 1 integer input - that will define the state of the GPIOs 1 parameter - to define the motherboard serial number I believe that for people with knowledge of C++, and Python this is a very simple module, unfortunately that is not my area since I'm a hardware engineer and I only work with C. I tried some approaches, using the gr_modtool to create the module, but it always fails with GRC running errors like: ********************** Traceback (most recent call last): File "/home/to-nelsonpina/Desktop/locus_gnuradio/GRC_files/top_block.py", line 16, in <module> import gpio File "/usr/local/lib/python2.7/dist-packages/gpio/__init__.py", line 45, in <module> from gpio_swig import * File "/usr/local/lib/python2.7/dist-packages/gpio/gpio_swig.py", line 26, in <module> _gpio_swig = swig_import_helper() File "/usr/local/lib/python2.7/dist-packages/gpio/gpio_swig.py", line 22, in swig_import_helper _mod = imp.load_module('_gpio_swig', fp, pathname, description) ImportError: /usr/local/lib/libgnuradio-gpio.so: undefined symbol: _ZN3uhd4usrp10multi_usrp4makeERKNS_13device_addr_tE ************************* This is most likely a failure to define the SWIG header file appropriately, or possibly you've _declared_ a class that SWIG found but you haven't _defined_ it. Finally because I just found this out the hard way, if you're using the new code structure with block.h, block_impl.h, and block_impl.cc, be aware that block.h needs to declare an abstract class and its method declarations need to be pure virtual. block_impl.h declares the concrete class and block_impl.cc provides concrete method definitions. If you want to unmangle that symbol, type this: c++filt _ZN3uhd4usrp10multi_usrp4makeERKNS_13device_addr_tE I will appreciate all the help I can get from you guys. Best regards, __ Nelson Pina Product Developer Hardware [X] [email protected]<mailto:[email protected]> T +351 220 301 596 (PT) T +44 114 213 2712 (UK) www.tomorrow-options.com<http://www.tomorrow-options.com/> Porto // Portugal Sheffield // United Kingdom [X]<http://www.tomorrow-options.com/> [X] <http://www.linkedin.com/company/tomorrow-options> [X] <http://www.facebook.com/pages/Porto-Portugal/Tomorrow-Options/214846405104> [X] <http://twitter.com/TomorrowOptions> [X] <http://www.youtube.com/user/TomorrowOptionsTube> [X] _______________________________________________ Discuss-gnuradio mailing list [email protected]<mailto:[email protected]> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list [email protected]<mailto:[email protected]> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
