discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] GrExtras - write blocks in python, message passing, m


From: Josh Blum
Subject: [Discuss-gnuradio] GrExtras - write blocks in python, message passing, misc features...
Date: Sat, 02 Jun 2012 10:52:50 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

Hey list,

I have put together a project on github with all (but a few) of the
various features I have created for GNU Radio in the past 6 months or
so. I have probably posted a link a few times, but I have been waiting
to find the time to clean it up, make a wiki page, and announce. So here
it is: GR Extras - Misc GNU Radio Blocks and Features

Most of the description is in the wiki page:
https://github.com/guruofquality/grextras/wiki

And here is a handy coding guide for more detail:
https://github.com/guruofquality/grextras/wiki/Blocks-Coding-Guide

So among the features listed on that wiki page, I think the most
prominent and useful features to users may be the ability to code blocks
in python, and the message passing API.

Coding blocks in python gives you access to the all the typical gr_block
C++ API stuff,  but from python. The scheduler thread itself will
actually call into your python work() function.

Message passing builds on top of the existing GNU Radio stream tags - to
give the user an API to simply pass tags (without the streams) as
messages between blocks. The user can use this feature to implement a
packet layer in gnuradio, or even do control plane stuff - but all the
while, sticking to the standard block flow graph model that users are
familiar with.

Previously, many of these features were implemented on branches as
changesets against gnuradio. I think this was a barrier for people to
get started. What changeset to cherry-pick, what branch to merge etc. So
I am pleased to point out that all of GrExtras can be compiled against a
standard GNU Radio install. No special branches or changesets are necessary.

I hope that somebody may find this work useful. Happy coding!
-josh



reply via email to

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