then later call the new function with:
sm.run_radio( adc._u )

When python executes the last line it throws an exception:
"TypeError: in method 'run_radio', argument 1 of type 'usrp1_source_sptr'"

My question is, what type should the parameter be in the run_radio
function? How do I get swig to correctly marshal this smart pointer back to
c++?

I think it should be:

 usrp1_source_c_sptr

yes, you're right.  I made a typo in the email.

I think your sm.i file will need to:

%import "usrp1.i"         // N.B., not %include

to pick up the right types.

There's a chance you'll have to add the following three lines in
front of the %import, but I'm not sure off the top of my head.

%{
#include "usrp1_source_c.h"
%}



Hi,

OK, I made those changes and then did a build. I got a compile error stating "Error: Unable to find 'usrp_spi_defs.h'"

This is one of those points where I have troubles with the make files. How do I change the make files so the compiler finds the h file in a directory under a different source tree? Isn't top_srcdir different when I'm building my blocks as opposed to building gnuradio?

Also, how can I make my block library link with the library that contains the stuff in usrp1_source_c.cc? I tried adding "-lusrp1" and "-l_usrp1" to the _sm_la_LIBADD, but neither worked.

Thanks for your help,
Hans




_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to