User:Duggabe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(129 intermediate revisions by 4 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.


*  Beginner User Level:
Barry started working on the GNU Radio project in 2019 and now devotes most of his time doing Wiki documentation, and development of amateur radio applications. He is a member of the GRCon24 Organizing Committee.
**      '''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
**      '''Intro to GR usage'''- GRC and flowgraphs, i.e. this page- [[Guided Tutorial GRC]]
**      '''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
**      '''Brief intro to PMTs, stream tags, and messaging passing''' (refer to Usage Manual for more info), i.e. this page- [[Guided Tutorial Programming Topics]]
**      '''Example practical usage of GR- PSK Demodulation''', i.e. this page- [[Guided Tutorial PSK Demodulation]]
* Intermediate User Level:
**  '''Understanding a flowgraph's python code''', content can come from [[Guided Tutorial GNU Radio in Python]]
**  '''Writing your own block''' (using Embedded Python Block), content can come from [[Guided Tutorial GNU Radio in Python]] and elsewhere
**  '''Writing the YAML/XML file for a block'''
**  '''Out of Tree modules''', should cover creation/installation and both Python and C++ blocks (but not writing them blocks themselves)
**  '''Writing blocks in C++'''
* Expert User Level:
**  '''Writing flowgraphs in C++''' (new to 3.8)
**    '''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 ==
Summary of programming languages used (roughly in chronological order):
These tutorials are designed to guide new GNU Radio users to a better understanding of the project.
* FORTRAN
* [[Guided_Tutorial_Introduction|'''A brief introduction to GNU Radio, SDR, and DSP''']]
* assembly languages of various computers
* [[Guided_Tutorial_GRC|'''Intro to GR usage: GRC and flowgraphs''']]
* COBOL
* [[Guided_Tutorial_Hardware_Considerations|'''Using GNU Radio with Hardware''']]
* C
* [[Sample_Rate_Tutorial|'''Understanding sample rate''']]
* Pascal
* [[Guided_Tutorial_Programming_Topics|'''Brief intro to PMTs, Stream Tags, and Messaging Passing''']]
* HTML5
* [[Guided_Tutorial_PSK_Demodulation|'''Example Usage of GNU Radio: PSK Demodulation''']]
* CSS3
 
* XML
== Intermediate User Level ==
* JavaScript
* [[Flowgraph_Python_Code|'''Understanding a flowgraph's python code''']]
* JSON
* [[Embedded_Python_Block|'''Writing your own block''' (using Embedded Python Block)]]
* node.js
**  '''Writing the XML file for a block''' (for 3.7)
* PHP
** [[YAML_GRC|'''Writing the YAML file for a block''' (new in 3.8)]]
* Python
* [[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]]

Latest revision as of 16:37, 26 October 2023

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.

Barry started working on the GNU Radio project in 2019 and now devotes most of his time doing Wiki documentation, and development of amateur radio applications. He is a member of the GRCon24 Organizing Committee.

Summary of programming languages used (roughly in chronological order):

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