[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] MAC layer support
From: |
Josh Blum |
Subject: |
Re: [Discuss-gnuradio] MAC layer support |
Date: |
Tue, 24 Apr 2012 23:21:59 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120310 Thunderbird/11.0 |
On 04/24/2012 10:10 AM, Josh Stevens wrote:
> Hey All,
>
> I have explored the basic functions that benchmark_tx and rx
> provide with modulation support (generic_mod_demod) , packet construction
> and recovery but what im trying to develop is a MAC layer implementation
> over a single carrier with the help of a customized packet structure (The
> PHY and the MAC headers , payload and CRC being included in the packet
> structure) which follows the same modulation - demodulation path but the
> processing at the packet_sink is different.
> I am running into problems like co-ordinated transmit-receive processing ,
> large overhead management problems amongst a few others.
>
> My question to you is ,
> 1) If this kind of an implementation has already been worked on I would be
> awfully obliged if somebody were to point me in that direction.
>
>
FWIW, I have implemented a message passing feature for gnuradio. Its not
part of the mainline code though. The idea is that you use the existing
hierarchical connection framework and scheduler threads to pass
non-streaming oriented data between processing units.
The basic usage is documented here:
http://gnuradio.org/redmine/projects/gnuradio/wiki/BlocksCodingGuide#Messages
Several blocks using this stuff have been implemented.
https://github.com/guruofquality/grextras
Here is an example of bringing in the current packet framer/deframer
into the message passing framework:
https://github.com/guruofquality/grextras/blob/master/python/pkt2.py
The other message passing blocks are all in c++, see *blob* blocks:
https://github.com/guruofquality/grextras/tree/master/lib
Since grextras requires certain patches against gnuradio, to build the
message passing blocks, you may find it easiest to just install my next
branch: http://gnuradio.org/cgit/jblum.git/log/?h=next
git clone git://gnuradio.org/jblum.git
-josh