discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Like writing DSP code? Hate editing makefiles?


From: Martin Braun
Subject: [Discuss-gnuradio] Like writing DSP code? Hate editing makefiles?
Date: Fri, 27 Jan 2012 18:21:05 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

Hi everyone,

gr_modtool.py has undergone some heavy revision recently.
It'll now do even more stuff:

* It's been changed to the CMake version. The autotools version still
  exists on the CGRAN SVN server.
* You can create out-of-tree modules using 'gr_modtool.py create'.
  This is basically an improved version of create-out-of-tree-module,
  because
    - it uses the CMake stuff :) and
    - it doesn't give you the square_ff files which you have to remove.
* Of course, there's been bugfixes... and probably new bugs.

All you need to do is download the gr_modtool.py file and copy it
somewhere into your PATH. Then you can create new modules and add code
to it within seconds.

Example: you want to create a new module called 'mydsp' and add two
blocks 'mydsp_algorithm1_ff' and 'mydsp_algorithm2_cc'. The first one is
a sync block, the second a hier block. Also, you'd like bindings for
GRC.  This is what it might look like:

% gr_modtool.py create mydsp
Module directory is "./gr-mydsp".
Creating directory...
Copying howto example...
Unpacking...
Replacing occurences of 'howto' to 'mydsp'...
Done.
Use 'gr_modtool add' to add a new block to this currently empty module.
~/tmp % gr_modtool.py add -t sync mydsp_algorithm1_ff
No GNU Radio module found in the given directory. Quitting.
% cd gr-mydsp                                                                   
                                   :(
% gr_modtool.py add -t sync mydsp_algorithm1_ff
Operating in directory .
GNU Radio module name identified: mydsp
Code is of type: sync
Block/code identifier: mydsp_algorithm1_ff
Full block/code identifier is: mydsp_mydsp_algorithm1_ff
Enter valid argument list, including default arguments: int foo, double bar=1
Add Python QA code? [Y/n]
Add C++ QA code? [Y/n] n
Traversing lib...
Adding file 'mydsp_mydsp_algorithm1_ff.h'...
Adding file 'mydsp_mydsp_algorithm1_ff.cc'...
Traversing swig...
Editing swig/mydsp_swig.i...
Traversing python...
Adding file 'qa_mydsp_mydsp_algorithm1_ff.py'...
Editing python/CMakeLists.txt...
Traversing grc...
Adding file 'mydsp_mydsp_algorithm1_ff.xml'...
Editing grc/CMakeLists.txt...
% gr_modtool.py add -t hiercpp mydsp_algorithm2_cc
Operating in directory .
GNU Radio module name identified: mydsp
Code is of type: hiercpp
Block/code identifier: mydsp_algorithm2_cc
Full block/code identifier is: mydsp_mydsp_algorithm2_cc
Enter valid argument list, including default arguments:
Add Python QA code? [Y/n]
Add C++ QA code? [Y/n]
Traversing lib...
Adding file 'mydsp_mydsp_algorithm2_cc.h'...
Adding file 'mydsp_mydsp_algorithm2_cc.cc'...
Adding file 'qa_mydsp_mydsp_algorithm2_cc.cc'...
Traversing swig...
Editing swig/mydsp_swig.i...
Traversing python...
Adding file 'qa_mydsp_mydsp_algorithm2_cc.py'...
Editing python/CMakeLists.txt...
Traversing grc...
Adding file 'mydsp_mydsp_algorithm2_cc.xml'...
Editing grc/CMakeLists.txt...


Takes 5 seconds. All you need to do is edit the important bits of your
files.

Hope this helps people. Have a nice weekend,
MB

-- 
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin Braun
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

Attachment: pgpWsCsT1PSWx.pgp
Description: PGP signature


reply via email to

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