简体   繁体   中英

Running a GNU Radio Custom Out of Tree (OOT) Module on a USRP Device

I have created a GRC flowchart that includes a custom OOT module. The flowchart has been compiled, and the resulting.py file copied to my USRP device.

When I try to run this file on the USRP, I get an error: no module named "my_custom_blocks"

Which makes complete sense!

My Question: How do I integrate my custom OOT module onto the USRP device, so that my file will run correctly? Do I need to use gr_modtool on my USRP device (and then copy my code in?) is there an easier way?

Thank you for your help

You need to install that module on your E-series USRP (the fact that you can execute code on your USRP says it's E-Series).

That means either:

  1. If your OOT module is Python-only, the you could copy over your gr-my_custom_blocks , then mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/usr..; make; sudo make install mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/usr..; make; sudo make install mkdir build; cd build; cmake -DCMAKE_INSTALL_PREFIX=/usr..; make; sudo make install .
  2. In general, the cleaner (even for Python-only modules) and the only way sensible if you have C++ code in your module is

    • Set up a cross-compilation toolchain on your PC,
    • Cross-compile your module and
    • install it to the correct directory structure, finally
    • copying over the thus generated filesystem tree to your device

The Ettus Knowledge Base Application Notes AN-311 and AN-315 (your module is just like gr-ettus) will help.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM