User:Duggabe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
(124 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Guided Tutorials 2.0 outline:
Barry Duggan is a graduate of Georgia Tech in Electrical Engineering and is a career computer programmer specializing in real-time control, data communication systems, and email security. He has been an amateur radio operator since 1953, and now devotes most of his time to the GNU Radio project. He is a member of the GRCon22 Organizing Committee.


*  Beginner User Level:
summary of programming languages I have used:
**      '''Very brief intro to GR, SDR, DSP''', i.e. this page- [[Guided Tutorial Introduction]].  We should reference to external sources for DSP/SDR background for those who need more
* FORTRAN
**      '''Intro to GR usage'''- GRC and flowgraphs, i.e. this page- [[Guided Tutorial GRC]]
* COBOL
**      '''Understanding sample rate, and how hardware and decimation/interpolation blocks impact it'''.  So [[Guided Tutorial Hardware Considerations]] and [[Guided Tutorial Extras Sample Rates]] and Barry's new writeup, but we can probably condense it down
* Pascal
**      '''Brief intro to PMTs, stream tags, and messaging passing''' (refer to Usage Manual for more info), i.e. this page- [[Guided Tutorial Programming Topics]]
* assembly languages of various computers
**      '''Example practical usage of GR- PSK Demodulation''', i.e. this page- [[Guided Tutorial PSK Demodulation]]
* C
* Intermediate User Level:
* HTML5
**  '''Understanding a flowgraph's python code''', content can come from [[Guided Tutorial GNU Radio in Python]]
* CSS3
**  '''Writing your own block''' (using Embedded Python Block), content can come from [[Guided Tutorial GNU Radio in Python]] and elsewhere
* XML
**  '''Writing the YAML/XML file for a block'''
* JavaScript
**  '''Out of Tree modules''', should cover creation/installation and both Python and C++ blocks (but not writing them blocks themselves)
* JSON
**  '''Writing blocks in C++'''
* node.js
* Expert User Level:
* Python
**  '''Writing flowgraphs in C++''' (new to 3.8)
* PHP
**    '''Volk- what it does, why it rocks, how to write new kernels'''
**  '''Working with ALSA and Pulse Audio'''
**  (any of the other really niche topics we already have tutorials for, i.e. the order isn't going to mean much)
* Developer Level:
**    Source level debugging C++ OOT modules with Visual Studio Code, see [[UsingVSCode]]
**    Building and Source level debugging C++ OOT modules with Eclipse, see [[UsingEclipse]]
**    Using Git with GNU Radio, see [[DevelopingWithGit]]
**    (anything else developer centric)
<br>
<hr>
= Draft Tutorials 2.0 =
 
==  Beginner User Level ==
These tutorials are designed to guide new GNU Radio users to a better understanding of the project.
* [[Guided_Tutorial_Introduction|'''A brief introduction to GNU Radio, SDR, and DSP''']]
* [[Guided_Tutorial_GRC|'''Intro to GR usage: GRC and flowgraphs''']]
* [[Guided_Tutorial_Hardware_Considerations|'''Using GNU Radio with Hardware''']]
* [[Sample_Rate_Tutorial|'''Understanding sample rate''']]
* [[Guided_Tutorial_Programming_Topics|'''Brief intro to PMTs, Stream Tags, and Messaging Passing''']]
* [[Guided_Tutorial_PSK_Demodulation|'''Example Usage of GNU Radio: PSK Demodulation''']]
 
== Intermediate User Level ==
* [[Flowgraph_Python_Code|'''Understanding a flowgraph's python code''']]
* [[Embedded_Python_Block|'''Writing your own block''' (using Embedded Python Block)]]
* '''Writing the XML file for a block''' (for 3.7)
* [[YAML_GRC|'''Writing the YAML file for a block''' (new in 3.8)]]
* [[OutOfTreeModules|'''Out of Tree modules''']]
** '''Writing blocks in C++'''
 
== Expert User Level ==
*  '''Writing flowgraphs in C++''' (new to 3.8)
* [[VOLK_Guide|'''Volk- what it does, why it rocks, how to write new kernels''']]
* [[ALSAPulseAudio|'''Working with ALSA and Pulse Audio''']]
* [[TutorialsSimulations|'''Simulations''']]
* [[TutorialsTaggedStreams|'''Tagged streams for variable-length PDUs''']]
* [[Basic OFDM Tutorial|'''Basics of OFDM''']]
 
== Developer Level ==
* [[UsingVSCode|'''Source level debugging C++ OOT modules with Visual Studio Code''']]
* [[UsingEclipse|'''Building and source level debugging C++ OOT modules with Eclipse''']]
* [[DevelopingWithGit|'''Git and GNU Radio''']]
* [[Octave|'''How to use Octave or Matlab with GNU Radio''']]
 
<br>
<hr>
<b>Content we will need to create or extract from existing work</b>
<hr>
*  '''Writing the XML file for a block''' (for 3.7)
*  '''Writing blocks in C++'''
*  '''Writing flowgraphs in C++''' (new to 3.8)
 
<br>
<hr>
<b>Content which is not used from original Tutorials page</b>
<hr>
* [[Guided_Tutorial_Extras_Sample_Rates#E2.3._A_Note_on_Resampling]]
* [[Guided_Tutorial_GNU_Radio_in_Python|Programming GNU Radio in Python]]
* [[Guided_Tutorial_GNU_Radio_in_C++|Programming GNU Radio in C++]]
* [[TutorialsCoreConcepts|Core concepts of GNU Radio applications]] - A must-read for everyone
* [[TutorialsWritePythonApplications|WritePythonApplications]] - A tutorial on how to develop Python GNU Radio applications.
* [[TutorialsQTGUI|QTGUI Tutorial]] - A tutorial on how to develop Python GNU Radio applications.
* [http://www.trondeau.com/gr-tutorial/ Tom Rondeau's gr-tutorial] - Some tutorials from the boss himself.
* [[OutOfTreeModulesConfig|Tutorial on how to configure OOT packages to find and link against GNU Radio]]
* [[TutorialPythonFunctions|Writing a Python Function for GRC]]
* [[TutorialsDebugging|How to debug your applications]]
* [http://www.trondeau.com/blog/2013/9/15/explaining-the-gnu-radio-scheduler.html The GNU Radio Scheduler]
* [http://www.brainshark.com/SPS/vu?pi=zH8zQcV8dzAXPbz0 VOLK Introduction]
* [[TutorialsRemoteGUI|Remote GRC Operations]]
* [[UsingVim|Using VIM for editing GNU Radio modules]]
* [[UsingCB|Using Code::Blocks for editing GNU Radio modules]]

Revision as of 13:36, 18 November 2021

Barry Duggan is a graduate of Georgia Tech in Electrical Engineering and is a career computer programmer specializing in real-time control, data communication systems, and email security. He has been an amateur radio operator since 1953, and now devotes most of his time to the GNU Radio project. He is a member of the GRCon22 Organizing Committee.

summary of programming languages I have used:

  • FORTRAN
  • COBOL
  • Pascal
  • assembly languages of various computers
  • C
  • HTML5
  • CSS3
  • XML
  • JavaScript
  • JSON
  • node.js
  • Python
  • PHP