[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

some feature-requests for GRC

From: Kristoff
Subject: some feature-requests for GRC
Date: Sat, 14 Nov 2020 17:13:44 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

HI all,

Yesterday-evening, we did a small workshop 'getting started to GNU Radio for CTFs', to 'kickstart' some people using GNU Radio.

Afterwards, I was thinking that workshops do take up quite a bit of time, and not every student has time to do a workshop during the timeslot that is there is a teacher available; so perhaps we can also do this in another way.

One thing -I think- would help for this, is the possibility to create 'interactive getting started guides' for GR. That way, we should be able to reach more people.

The idea I have in mind is to create 'interactive learning-flows'. To allow people to learn GNU Radio -step by step- how to use GRC, how to analyse a CTF, how to create signals, ...

The model is a 'learning-flow', a course is divided into multiple GRC flow-graphs, and where every 'tab' on GRC is the next step in process to build/ explain/ ... a GRC flow-graph.
- GRC tab 1: option-block + 'samp_rate' var block + file source
- GRC tab 2: option-block + 'samp_rate' var block + file source + throttle-block - GRC tab 3: option-block + 'samp_rate' var block + file source + throttle-block + QT time sink - GRC tab 3: option-block + 'samp_rate' var block + file source + throttle-block + complex-to-amp2 + QT time sink

So, my question. Could it be possible to change / enhance  GRC a little it to make it better suited for creating this kind of interactive learning courses?

(Perhaps some of the things noted below are already possible. So please excuse my ignorance)

Find below  some 'feature-requests' for GRC that I think would help to make this possible (or at least, more easy):

1. GRC has the ability to use tabs, multiple flowgraphs loaded into GRC.
However, every flowgraph is independent, and you can can load/save every one of them independently.

Would it be possible to create the concept of a 'flowgraph bundle', i.e. a number of flowgraphs that are groups together, and that are combined in one file.

When you load the 'bundle', all flow-graphs will be loaded at different tabs of GRC, in a predefined order as documented in the bundle.

2. Most workshops / how-tos use files. (e.g. i/q files)

Currently, this means that you must distribute that i/q file separately, and you must tell the user 'now point the file-sink block to the i/q file you have downloaded. It can be in Downloads, or in documents, or in your home-folder so look around if you do not find it immediately'.

This is kind-of OK in a real 'live' workshop, but -I think- not what you would want in a learning-project somebody has downloaded from the internet and doing this without the 'live' aid of a teacher.

So, considering the bundles mentioned about, would it be possible to have them also include -say- an i/q  files? When the user loads a bundle into GRC, this should then also place that the i/q file in a predefined location on the computer of the student.

- The goal would be to be able to pre-configure the  file-source block in such a way that it will find that I/q file, no matter what the directory-structure of the user's computer might be. - And it would make distributing a learning-flow a lot easier as you only have to distribute one single file.

3/ (This is probably a lot more difficult)
To create a real 'step by step' flow, it would be interesting that the student can only access a certain tab (i.e. a step in the learning path), when the flow-graph of the previous tab has been 'finished'

To give an example:

 Tab 1: options block, variable block 'samp-rate' and file-source block + a "note" block with this text:

- "when loading a file into GRC, the data-type of the file-source output port should  corresponds to the signal in the file. The example-file has the extension 'iq', so the datatype is 'complex'. Change the datatype of the file-source block to the correct setting"

- "One of the most important features of a stream is it sample-rate. The example-file is called file1_48000sps.iq What is the sample-rate of the signal in that file. Set the variable samp_rate to the correct value"

Only when those two conditions are met, then the student should be able to access the 2nd tab.

Tab 2:

Comment block "When creating a GRC without any actual hardware, you need to add a throttle-block. If not, GRC will use all CPU-cycles of your computer when run. Please add a throttle-block after the file-source block, connect these two blocks and then go to tab3."


(But I guess that this kind of requirement is a lot harder then points 1 and 2 above).

4/ Can you please make the 'note' block larger, and to allow multiple lines of text?

Currently, it is quite small, so it is not really possible to add the kind of comments (see 3/ above) to the graph.

What would also be nice is the ability to add URLs in the note blocks.
This would allow the note to link to -say- a video: " Change the datatype of the file-source block to the correct setting. Click here for a video on the different data-types used in GNU Radio"

I know that some of these feature-requests are probably not that easy.
But as the quite steep learning-curve of GNU Radio is the main reason people are scared away from GR, I do think that providing a good learning-tool can be one of the best ways to get the, over that hurdle.


kristoff - ON1ARF

reply via email to

[Prev in Thread] Current Thread [Next in Thread]