#define INCLUDED_CUSTOMMOD_TEST_MSG_H
#include <custommod/api.h>
#include <gnuradio/block.h>
namespace gr {
namespace custommod {
/*!
* \brief <+description of block+>
* \ingroup custommod
*
*/
class CUSTOMMOD_API test_msg : virtual public gr::block
{
public:
typedef boost::shared_ptr<test_msg> sptr;
/*!
* \brief Return a shared_ptr to a new instance of custommod::test_msg.
*
* To avoid accidental use of raw pointers, custommod::test_msg's
* constructor is in a private implementation
* class. custommod::test_msg::make is the public interface for
* creating new instances.
*/
static sptr make();
};
} // namespace custommod
} // namespace gr
#endif /* INCLUDED_CUSTOMMOD_TEST_MSG_H */#ifndef INCLUDED_CUSTOMMOD_TEST_MSG_IMPL_H
#define INCLUDED_CUSTOMMOD_TEST_MSG_IMPL_H
#include <pmt/pmt.h>
#include <custommod/test_msg.h>
namespace gr {
namespace custommod {
class test_msg_impl : public test_msg
{
private:
// Nothing to declare in this block.
public:
test_msg_impl();
~test_msg_impl();
void msg_handler_method(pmt::pmt_t msg);
};
} // namespace custommod
} // namespace gr
#endif /* INCLUDED_CUSTOMMOD_TEST_MSG_IMPL_H */
Hi again,
Attached is the code that I’m using if anyone would like to try to replicate my issue. The test_msg_py.py file contains the custom python block code for a simple message sink. The test_msg_impl.cc, test_msg_impl.h, and test_msg.h files contain the custom C++ code for a message sink. The test.py file contains a simple flowgraph that connects a message strobe to my custom message sink blocks. When I run test.py with either of the blocks on my desktop, it works correctly. However, when I run test.py after cross compiling on the E310, it works correctly with the test_msg_py block and produces the following error with the test_msg block:
Could not find port: in in:
system
Bus error
Thanks,
Jessica
From: Discuss-gnuradio [mailto:discuss-gnuradio-bounces+jessica.iwamoto=aero.org@gnu.org] On Behalf Of Jessica Iwamoto
Sent: Wednesday, May 10, 2017 9:53 AM
To: discuss-gnuradio@gnu.org
Subject: [Discuss-gnuradio] Custom C++ blocks on E310
Hi all,
I have built custom C++ blocks that work on my PC, but don’t work when cross compiled for the E310. Specifically, I am trying to build a custom C++ block with a message port and cross compile it for the E310. I am using version 3.7.12 of GNU radio and the latest version of the SDK/toolchain for the E310. I have built a simple message sink block with just a message input port and put it in a flowgraph with a message strobe. My code runs correctly on my PC but when I run it on the E310, I get the error:
Could not find port: msg in:
system
Bus error
I am able to create custom python blocks with message ports and run them on the E310 and my PC with no issues. Additionally, I am unable to create custom C++ blocks with normal input and output streams on the E310 (the program seg faults when I try to connect the custom block to another block), but they run correctly on my PC. Any suggestions on what could be causing this?
Thanks,
Jessica
No comments:
Post a Comment