... | ... | @@ -16,33 +16,12 @@ If you are unfamiliar with the Linux command line or feel you need a refresher, |
|
|
|
|
|
A number of your CDC peers likely also have experience with Linux, so they will be good resources for help. When forming a project team you may consider ensuring at least one team member has a moderate programming background.
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
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)
|
|
|
|
|
|
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.
|
|
|
|
|
|
- [UoM Engineering Gitlab](https://gitlab.eng.unimelb.edu.au)
|
|
|
|
|
|
Git takes a little bit of practice, so make sure to checkout the following tutorials and references.
|
|
|
|
|
|
- [Atlassian Bitbucket Tutorial](https://www.atlassian.com/git/tutorials/what-is-version-control)
|
|
|
- [Git Handbook on Github Guides](https://docs.github.com/en/get-started/using-git/about-git)
|
|
|
- [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.
|
|
|
|
|
|
## Python Programming Language
|
|
|
|
|
|
A key design feature of GNU Radio is the use of the Python programming language for creating application flow graphs, computationally non-intensive signal processing blocks, and scripting work. Python is an interpreted general-purpose programming language that is very popular among computer scientists, data analysts, and engineers. It consistently ranks as one of the most widely used languages.
|
|
|
|
|
|
The design philosphy behind Python is to make programming easy and fun, which has resulted in a very accessible and readable syntax. The following is an example of defining a simple Python function.
|
|
|
```
|
|
|
```python
|
|
|
# example of Python's clean syntax
|
|
|
def my_divide(a, b):
|
|
|
c = a / b
|
... | ... | @@ -70,3 +49,24 @@ In GNU Radio, most signal processing blocks are implemented using C++, as it is |
|
|
|
|
|
- [C++ Language Tutorial](https://www.cplusplus.com/doc/tutorial/)
|
|
|
- [W3 School's C++ Tutorial](https://www.w3schools.com/CPP/cpp_intro.asp)
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
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)
|
|
|
|
|
|
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.
|
|
|
|
|
|
- [UoM Engineering Gitlab](https://gitlab.eng.unimelb.edu.au)
|
|
|
|
|
|
Git takes a little bit of practice, so make sure to checkout the following tutorials and references.
|
|
|
|
|
|
- [Atlassian Bitbucket Tutorial](https://www.atlassian.com/git/tutorials/what-is-version-control)
|
|
|
- [Git Handbook on Github Guides](https://docs.github.com/en/get-started/using-git/about-git)
|
|
|
- [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 |