... | ... | @@ -6,7 +6,9 @@ This page provides a number of references you may find useful in getting up to s |
|
|
|
|
|
## The Linux Command Line
|
|
|
|
|
|
The primary software environment used in CDC will be an Ubuntu Linux virtual machine (VM). An efficient way for interacting with Linux is the use of the command line (also called the terminal/shell/prompt), a textual interface to issue commands for execution by the Linux OS. In the CDC Ubuntu VM, you can open the terminal by clicking on the following icon: 
|
|
|
The primary software environment used in CDC will be an Ubuntu Linux virtual machine (VM). An efficient way for interacting with Linux is the use of the command line (also called the terminal, shell, or prompt), a textual interface to issue commands for execution by the Linux OS. In the CDC Ubuntu VM, you can open the terminal by clicking on the following icon:
|
|
|
|
|
|

|
|
|
|
|
|
If you are unfamiliar with the Linux command line or feel you need a refresher, the following tutorials and guides are helpful.
|
|
|
|
... | ... | @@ -30,18 +32,18 @@ def my_divide(a, b): |
|
|
|
|
|
Python has an extensive standard library and is easily extended by others. See the [Python Package Index (PyPI)](https://pypi.org) for a large collection of third party libraries adding to Python's functionality. Chances are, whatever you are trying to do, someone has already created a Python module that can help you.
|
|
|
|
|
|
Some Python programming knowledge will be needed to develop applications in GNU Radio. The following are useful tutorials and references to star learning the language.
|
|
|
Some Python programming knowledge will be needed to develop applications in GNU Radio. The following are useful tutorials and references to start learning the language.
|
|
|
|
|
|
- [Beginner's Guide to Python](https://wiki.python.org/moin/BeginnersGuide)
|
|
|
- [The Python Tutorial](https://docs.python.org/3.9/tutorial/)
|
|
|
- [The Python Language Reference](https://docs.python.org/3.9/reference/)
|
|
|
|
|
|
Scientific computing functionality, similar to that possible with MATLAB, is possible using the [NumPy](https://numpy.org), [SciPy](https://scipy.org), and [Matplotlib](https://matplotlib.org) libraries. NumPy adds array and matrix support to Python along with a host of efficient mathematical calculation routines.You will need basic knowledge of NumPy arrays when creating or analyzing GNU Radio blocks in Python.
|
|
|
Scientific computing functionality, similar to that of MATLAB, is also possible with Python using the [NumPy](https://numpy.org), [SciPy](https://scipy.org), and [Matplotlib](https://matplotlib.org) libraries. NumPy adds array and matrix support to Python along with a host of efficient mathematical calculation routines. You will need basic knowledge of NumPy arrays when creating or analyzing GNU Radio blocks in Python.
|
|
|
|
|
|
- [NumPy for absolute beginners](https://numpy.org/devdocs/user/absolute_beginners.html)
|
|
|
- [NumPy for MATLAB Users](https://numpy.org/devdocs/user/numpy-for-matlab-users.html)
|
|
|
|
|
|
As an *interpreted* language, Python code is not precompiled to executable machine code but rather read and executed by an interpreter. This makes Python very flexible and easy to use, but means it is not fast enough to implement computationally intensive signal processing blocks. See the next section on C++.
|
|
|
As an *interpreted* language, Python code is not precompiled to executable machine code but rather parsed and then executed by an intermediate interpreter. This makes Python very flexible and easy to use but means it is often not fast enough to implement computationally intensive signal processing blocks. See the next section on C++ for these cases.
|
|
|
|
|
|
## C++ Programming Language
|
|
|
|
... | ... | @@ -52,11 +54,11 @@ In GNU Radio, most signal processing blocks are implemented using C++, as it is |
|
|
|
|
|
## Version Control with Git
|
|
|
|
|
|
A version control tool tracks changes to the software codebase of a project, allowing multiple team members to develop concurrently. Such tools allow for rolling back to previous versions of the code when mistakes are introduced and also allow the merging of conflicting changes made to the codebase. These days, Git is the most widely used version control tool for managing source code.
|
|
|
A version control tool tracks changes to the software codebase of a project, allowing multiple team members to develop concurrently. Such tools allow for rolling back to previous versions of code when mistakes are introduced and for the merging of conflicting changes made to the codebase by different developers. These days, Git is the most widely used version control tool for managing source code.
|
|
|
|
|
|
We will maintain a number of GNU Radio modules, useful code and templates, and this wiki (!) in a CDC project hosted on the university's Gitlab server.
|
|
|
|
|
|
- [ELEN90089 Gitlab Project](https://gitlab.eng.unimelb.edu.au)
|
|
|
- [TBD]()
|
|
|
|
|
|
You can create your own projects and repos on Gitlab and are strongly encouraged to do so as part of the management of your design project. Login to Gitlab with your normal university credentials.
|
|
|
|
... | ... | @@ -69,4 +71,4 @@ Git takes a little bit of practice, so make sure to checkout the following tutor |
|
|
- [Git cheatsheet on Github](https://training.github.com/)
|
|
|
- [MUEEC's Basics of Git Workshop](https://www.youtube.com/watch?v=vUgsyfbOUl4)]
|
|
|
|
|
|
> **Note:** Version control tools like git work best with textual programming languages such as Python and C++. They have more limited functionality for resolving conflicts in the graphical flow graphs created with GRC (*.grc). They would, however, allow reverting to older versions of your flow graph. |
|
|
\ No newline at end of file |
|
|
> **Important Note:** Version control tools like Git work best with textual programming languages such as Python and C++. They have more limited functionality for resolving conflicts in the graphical flowgraphs created with GRC (*.grc). They do, however, allow reverting to older versions of your flowgraph. |
|
|
\ No newline at end of file |