[Top][All Lists]
[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
pgpWsCsT1PSWx.pgp
Description: PGP signature
- [Discuss-gnuradio] Like writing DSP code? Hate editing makefiles?,
Martin Braun <=