Item 4 - better notes/annotations would be useful to beginners and experts.
They could be attached to blocks or connections, freestanding,
expand-on-hover, etc. Graphics layout is hard, unless we were to adopt an
existing layout package.

On Sat, Nov 14, 2020 at 11:21 AM Jeff Long <willco...@gmail.com> wrote:

> Looking for the simplest (maybe not the best) solution:
>
> Item1 - A shell/batch script could run gnuradio-companion 1.grc 2.grc 3.grc
>
> Item 2 - files can be relative, e.g, ./sample.iq. So, if you tar or zip
> the grc files and the sample files, everything should be runnable from a
> single directory, no searching around required.
>
> Item 3 - I think this is pretty far out of scope for GRC.
>
> On Sat, Nov 14, 2020 at 11:15 AM Kristoff <krist...@skypro.be> wrote:
>
>> 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.
>>
>>
>>
>> 73
>>
>> kristoff - ON1ARF
>>
>>
>>

Reply via email to