User talk:Duggabe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
(40 intermediate revisions by the same user not shown)
Line 1: Line 1:
== "Recycle Bin": content we no longer link to that we may eventually just delete ==
== Skeleton for Block Docs ==


* [[Guided_Tutorial_GNU_Radio_in_Python|Programming GNU Radio in Python]]
Statement of purpose / function
* [[TutorialsRemoteGUI|Remote GRC Operations]] - needs updating!
* [[UsingVim|Using VIM plugins for GNU Radio development]]
* [[TutorialsQTGUI|QTGUI Tutorial]] - A tutorial on how to develop Python GNU Radio applications.
* [[Guided_Tutorial_Extras_Sample_Rates#E2.3._A_Note_on_Resampling]] - covered by Understanding sample rate
* [[TutorialsCoreConcepts|Core concepts of GNU Radio applications]] - content used in other pages
* [[TutorialsWritePythonApplications|WritePythonApplications]] - content used in other pages
* [[OutOfTreeModulesConfig|Tutorial on how to configure OOT packages to find and link against GNU Radio]] - for 3.7; also, most of the content is covered in Writing blocks in C++
* [[TutorialPythonFunctions|Writing a Python Function for GRC]] - for 3.7; content used in other pages; it doesn't work as written!
* [[TutorialsDebugging|How to debug your applications]] - not well written; would need major rework and update


== Install UHD from source ==
== Parameters ==
<b>(''R''):</b> <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>


If you want to use GNU Radio with a USRP, install the UHD package from source using the following instructions, or refer to the [[https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux USRP Manual]] for other options and Operating Systems.
; Sample Rate
UHD sits at the same level as GNU Radio as an independent driver, which gr-uhd references.  So if you want gr-uhd enabled, you <b>FIRST</b> must clone and install UHD.
: The sample rate for the block (default: samp_rate).


For this example, we will start in the home directory to parallel the steps in [[InstallingGR#To_install_system_wide]].
etc.


<pre>cd ~/</pre>
== Messages ==


The following command line script will install all the required dependencies for UHD:
=== Inputs ===
<pre>
sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins python3-zmq python3-scipy python3-gi python3-gi-cairo gobject-introspection gir1.2-gtk-3.0 libusb-1.0-0 libusb-1.0-0-dev libudev-dev python3-setuptools liborc-0.4-0 liborc-0.4-dev
</pre>


Clone the code into your home directory:
=== Outputs ===
<pre>git clone git://github.com/EttusResearch/uhd.git</pre>
<pre>cd ~/uhd</pre>


<b>Note:</b> In the following command, change <code>v3.15.0.0</code> to some other branch or tag if you want to build a different version.
== Example Flowgraph ==
<pre>
git tag -l
git checkout v3.15.0.0
</pre>


<b>Note:</b> Unlike most build processes, this one builds under the <code>host</code> directory.
== Example Output ==
<pre>
cd host
mkdir build
cd build
</pre>


<b>Note:</b> In the following command, we will use <code>-DCMAKE_INSTALL_PREFIX=/usr/local</code> to install UHD into the same prefix as GNU Radio. When compiling for ARM platforms, the assumption is made that NEON extensions are available if the arm_neon.h header is found. However, for platforms such as Raspberry Pi, one must specify -DNEON_SIMD_ENABLE=OFF in the following command.
== Source Files ==


<pre>
; C++ files
cmake -DNEON_SIMD_ENABLE=OFF -DCMAKE_INSTALL_PREFIX=/usr/local ../
: [https://github.com/gnuradio/gnuradio TODO]
</pre>


<b>Note:</b> In the following command, if your computer's CPU has multiple cores, you can use the argument <code>-j#</code> to speed compilation; <br> e.g., <code>make -j3</code> will use 3 threads in the build. Specify at least one less than the total number of CPU cores so the system does not appear to 'freeze' during the build. If not specified, then a single thread is used for the build.<br>
; Header files
: [https://github.com/gnuradio/gnuradio TODO]


<pre>make -j3
; Public header files
make test
: [https://github.com/gnuradio/gnuradio TODO]
sudo make install
</pre>


If you're running Linux, then always do the following command after installing any library:
; Block definition
<pre>sudo ldconfig</pre>
: [https://github.com/gnuradio/gnuradio TODO]
 
You can now download the UHD FPGA Images for this installation.
<pre>
sudo uhd_images_downloader
</pre>
 
On Linux, udev handles USB plug and unplug events. The following commands install a udev rule so that non-root users may access the device.
<pre>
cd ~/uhd/host/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
</pre>
 
The installation of UHD is now complete. At this point, connect the USRP to the host computer and run:
<pre>
uhd_usrp_probe
</pre>
 
== a dummy section ==
 
== a dummy section ==

Revision as of 12:10, 7 June 2021

Skeleton for Block Docs

Statement of purpose / function

Parameters

(R): Run-time adjustable

Sample Rate
The sample rate for the block (default: samp_rate).

etc.

Messages

Inputs

Outputs

Example Flowgraph

Example Output

Source Files

C++ files
TODO
Header files
TODO
Public header files
TODO
Block definition
TODO