How to register mods/demods

I am writing a custom modulator/demodulator and wanna add them to the
modulation_utils, such that modulation_utils.type_1_mods() will include
the custom made mod/demod. However, I could not figure out how to do
that.

I notice mods/demods have something like

modulation_utils.add_type_1_mod(‘dbpsk’, dbpsk_mod)
modulation_utils.add_type_1_demod(‘dbpsk’, dbpsk_demod)

to register themselves to the registry.

This is supposed to be run when mod/demod are loaded.

However, I am not quite sure how I can make them be loaded?
I check the benchmark_tx.py and find no code that results in mod/demod
being loaded.

Help appreciated.
Kyle

When the file in which you define you mod/demod is imported the
mod/demod will the registered so it’s just a case of making sure it
gets imported somewhere.

The mod/demods that come with gnuradio are registered when
gnuradio.blks2 is imported. This doesn’t happen explicitly in
benchmark_tx.py so presumably one of the modules the benchmark imports
imports blks2.

To make sure your mod/demods get registered the easiest way would be
to import the file where you define them directly into
benchmark_tx.py. Alternately you could place the file in the
blks2impl directory (and the Makefile.am there) so that they will be
imported with the ones that come with gnuradio.

Ben

On 16/12/2010 5:23 AM, Ben R. wrote:

to import the file where you define them directly into
benchmark_tx.py. Alternately you could place the file in the
blks2impl directory (and the Makefile.am there) so that they will be
imported with the ones that come with gnuradio.

Ben

Thanks Ben for your detailed explanation.
Yes, transmit_path.py and receive_path.py import blks2, which imports
everything under blks2impl directory.
Well, I think I will import my mod/demod directly in my top_block.
Thanks again
Kyle

On Wed, Dec 15, 2010 at 5:50 PM, Kyle Z. [email protected] wrote:

Yes, transmit_path.py and receive_path.py import blks2, which imports
everything under blks2impl directory.
Well, I think I will import my mod/demod directly in my top_block.
Thanks again
Kyle

You can see what types of mods and demods are available with:
print blks2.modulation_utils.type_1_mods()
print blks2.modulation_utils.type_1_demods()

Tom