Looking to help

Moderator: tjt7a

Looking to help

Postby tjt7a » Wed Feb 27, 2013 10:34 pm

Dear Parallella,

I am doing some research related to parallelizing gnuradio on multiple machines, and would like to help this effort by porting some gnuradio blocks on the parallella. Is there an active group working on this? Are you looking for help?

Tom Tracy II
UVA
tjt7a
 
Posts: 17
Joined: Fri Feb 22, 2013 7:13 pm

Re: Looking to help

Postby 9600 » Thu Feb 28, 2013 2:57 pm

tjt7a wrote:Dear Parallella,

I am doing some research related to parallelizing gnuradio on multiple machines, and would like to help this effort by porting some gnuradio blocks on the parallella. Is there an active group working on this? Are you looking for help?

Tom Tracy II
UVA


We're absolutely looking for help with this and, AFAIK, nobody has started work on support yet. I'll drop you an e-mail.

Cheers,

Andrew
Andrew Back (a.k.a. 9600 / carrierdetect)
User avatar
9600
 
Posts: 997
Joined: Mon Dec 17, 2012 3:25 am

Re: Looking to help

Postby rsreeraj » Wed Jun 05, 2013 5:39 am

Hi Tom,

It seems like you have started porting some gnuradio blocks to Epiphany. Are you hosting this project somewhere? I couldn't find any in your github. I would also like to contribute.

-Sreeraj
http://home.iitb.ac.in/~rsreeraj/
rsreeraj
 
Posts: 1
Joined: Tue Jun 04, 2013 6:08 am

Re: Looking to help

Postby tjt7a » Wed Jun 19, 2013 6:51 am

I will get back to you as soon as I clean up my code and put it in a public place.
tjt7a
 
Posts: 17
Joined: Fri Feb 22, 2013 7:13 pm

Re: Looking to help

Postby ivansanta » Tue Oct 13, 2015 4:46 pm

Hi Guys.
I started the journey of trying to write an OOT module containing functions of the Epiphany SDK. So over my parallella board I compiled GNU Radio and I created an OOT module called Epiphany and then I created a block called toggle, with the idea of turn on and off a led from an epiphany core.
Code: Select all
gr_modtool newmod epiphany
cd gr_epiphany
gr_modtool add -t sync toggle_led

Then I did a few changes on toggle_impl.cc (To start, I only added the function e_init(NULL))
Code: Select all
.....
#include "toggle_impl.h"
#include <e-hal.h>
#include <e-loader.h>

namespace gr {
namespace epiphany {
.....
      : gr::sync_block("toggle",
              gr::io_signature::make(1, 1, sizeof(int)),
              gr::io_signature::make(0, 0, 0))
....
        const int *in = (const int *) input_items[0];
        // Do <+signal processing+>
        e_platform_t platform;
        e_epiphany_t dev;
        e_mem_t emem;
        char emsg[1024];
        unsigned int row, col;
        unsigned int data, led_state;
        int i;
        e_init(NULL);
....

Then I added a line in the CMakeLists.txt in the lib folder:
Code: Select all
...
include_directories(/opt/adapteva/esdk.2015.1/tools/host.armv7l/include)
add_executable(test-epiphany ${test_epiphany_sources})
...

I put almost all the sources and headers of eSDK on the module folders.
When I compile I don't get any error, but when I run the top block I obtain an AttributeError: 'module' object has no attribute.

If I run it on python, I observe that SWIG didn't wrap all the code:
Code: Select all
import epiphany
>>> dir(epiphany)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']


If I comment the line e_init(NULL); and recompile I obtain:
Code: Select all
>>> dir(epiphany)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'epiphany_swig', 'high_res_timer_epoch', 'high_res_timer_now', 'high_res_timer_now_perfmon', 'high_res_timer_tps', 'toggle', 'toggle_make', 'toggle_sptr', 'toggle_sptr_swigregister', 'toggle_swigregister']

It is logic because in this case I didn't use real functions of e-hal, only objects.

So, additionally I changed the file epiphany_swig.i trying to understand the functionality of SWIG (inventing):
Code: Select all
%{
#include "epiphany/toggle.h"
#include <e-hal.h>
#include <e-loader.h>
%}

%include "epiphany/toggle.h"
%include <e-hal.h>
%include <e-loader.h>

GR_SWIG_BLOCK_MAGIC2(epiphany, toggle);
GR_SWIG_BLOCK_MAGIC2(epiphany, e-hal);
GR_SWIG_BLOCK_MAGIC2(epiphany, e-loader);

But I got an
Code: Select all
epiphany_swig.i:22: Error: Syntax error in input(1).


So here I'm stucked and I'm not a GNU Radio expert, and I know that trying to put external functions in an OOT block is not easy for a newbie.

Aditional information:
Code: Select all
Linux parallella 3.14.12-parallella-xilinx-g40a90c3 #1 SMP PREEMPT Fri Jan 23 22:01:51 CET 2015 armv7l armv7l armv7l GNU/Linux
GNU Radio  3.7.8
swig 2.0.11-1ubuntu2 armhf
eSDK 2015.1

Many thanks in advance for any information, or suggestion.
Best Regards.
Last edited by ivansanta on Wed Oct 14, 2015 2:04 pm, edited 2 times in total.
User avatar
ivansanta
 
Posts: 2
Joined: Wed Aug 05, 2015 2:16 pm

Re: Looking to help

Postby sebraa » Wed Oct 14, 2015 12:18 pm

Just an Off-Topic comment: Please put code into [code] tags to make your post much easier to read.
sebraa
 
Posts: 495
Joined: Mon Jul 21, 2014 7:54 pm


Return to Software Defined Radio

Who is online

Users browsing this forum: No registered users and 4 guests

cron