janK
15th May 2013, 20:59
Hello
I have an SDR (Software Defined Radio) application that I want to extend. Basically the architecture of the program implementing the SDR is simple:
I read data from some device, do some processing (set some parameters and show some things), and pass processed data on to a selected decoder.
Currently I have app 10 decoders (typical decoders are for speech, usb, lsb, fm, rtty, psk, morse decoding, fax etc etc).
The structure of the user interaction with each of the decoders is different, the
input of the decoders is a simple stream, the output things written on a screen and a simple (data) stream. Each
decoder has its own (sub)screen on which decoder-specific interaction takes place, and a few,
very limited, connection to the main program. The subscreens are implemented as a stacked construct.
Since the number of decoders is growing, a few more are under development, I was thinking on a different, more dynamic, structure,
one were decoders are loaded dynamically, and off-loaded when another one is requested for. Then at the start of the program a list is made of
available decoders, such that a selector can be made. In such a set up, a user could even decide only to have a subset of the decoders on his machine, while
on the other hand, the program could be extended without recompilation: adding a new decoder somewhere
would cause it to be available on the next program start.
I was thinking whether the plug-in features of Qt could be helpful or otherwise it better could be solved by having the
decoders as separate programs, connected to the "main program" through a relatively simple IP mechanism. The biggest problem
with the plugin approach to me seems to be the dynamic creation (and destruction) of interaction windows (either
separate or embedded in the programs main window), something I really have no idea about (currently I am a simple user
of the Qt designer to create the GUI).
Any idea on this issue would be greatly appreciated.
thanks in advance
jan
I have an SDR (Software Defined Radio) application that I want to extend. Basically the architecture of the program implementing the SDR is simple:
I read data from some device, do some processing (set some parameters and show some things), and pass processed data on to a selected decoder.
Currently I have app 10 decoders (typical decoders are for speech, usb, lsb, fm, rtty, psk, morse decoding, fax etc etc).
The structure of the user interaction with each of the decoders is different, the
input of the decoders is a simple stream, the output things written on a screen and a simple (data) stream. Each
decoder has its own (sub)screen on which decoder-specific interaction takes place, and a few,
very limited, connection to the main program. The subscreens are implemented as a stacked construct.
Since the number of decoders is growing, a few more are under development, I was thinking on a different, more dynamic, structure,
one were decoders are loaded dynamically, and off-loaded when another one is requested for. Then at the start of the program a list is made of
available decoders, such that a selector can be made. In such a set up, a user could even decide only to have a subset of the decoders on his machine, while
on the other hand, the program could be extended without recompilation: adding a new decoder somewhere
would cause it to be available on the next program start.
I was thinking whether the plug-in features of Qt could be helpful or otherwise it better could be solved by having the
decoders as separate programs, connected to the "main program" through a relatively simple IP mechanism. The biggest problem
with the plugin approach to me seems to be the dynamic creation (and destruction) of interaction windows (either
separate or embedded in the programs main window), something I really have no idea about (currently I am a simple user
of the Qt designer to create the GUI).
Any idea on this issue would be greatly appreciated.
thanks in advance
jan