Hi Josh, I modified in my .h file:
#include <gnuradio/block.h> and also, I inherit from gnu radio as follows: //* This uses the preferred technique: subclassing gr_sync_block. //class asrp_test_temporal : public gr_sync_block class asrp_test_temporal : public gnuradio::block // <--Here, I added the inherit { private: // Definition Then, in the .cc file I wrote: : gnuradio::block ("test_temporal", gr_make_io_signature(0, 0, 0), gr_make_io_signature(0, 0, 0), msg_signature(false, 1)) When I compile again, the complain is different. It displays: asrp_test_temporal.cc:75:26: error: cannot allocate an object of abstract type 'asrp_test_temporal' ./asrp_test_temporal.h:99:7: note: because the following virtual functions are pure within 'asrp_test_temporal': /usr/local/include/gnuradio/block.h:236:17: note: virtual int gnuradio::block::work(const InputItems&, const OutputItems&) make[2]: *** [asrp_test_temporal.lo] Error 1 According to the instruction in block coding: https://github.com/guruofquality/grextras/wiki/Blocks-Coding-Guide, I only need to write the msg_signature(#input,#output), but I decided to use the gr_make_io_signature anyway, because I am reading the code for the example of "socket_to_blob.cc". 1. Do I need to use gr_make_io_signature or just msg_signature is enough?. Many thanks for your kind help, Regards, Jose. On Wed, Sep 19, 2012 at 3:33 PM, Josh Blum <j...@ettus.com> wrote: > > > On 09/19/2012 01:11 AM, Jose Torres Diaz wrote: > > Hi, > > > > I'm trying to use "message passing" technique in order to create a block > > that generates 29 Octets. Currently, I'm using a block that generates 29 > > Octets and then use tag streaming. In the .cc file, IO signature looks > like: > > > > gr_sync_block ("st1_pktsrc_dummy_b", > > gr_make_io_signature (0, 0, 0), > > gr_make_io_signature (MIN_OUT, MAX_OUT, sizeof (unsigned > char))) > > > > While, the stream tags looks like this: > > > > add_item_tag(0, tag_pos, > > d_burst_start_key, > > pmt_sob, > > d_my_unique_id) > > > > Now, I want to change this approach to message passing as it is explained > > here: https://github.com/guruofquality/grextras/wiki/Blocks-Coding-Guide > . > > So, I changed the lines indicated above, for the following: > > > > : gr_sync_block ("test_temporal", > > gr_make_io_signature(0, 0, 0), > > gr_make_io_signature(0, 0, 0), > > msg_signature(false, 1)) > > > > Careful here, check the coding guide, > you need to #include <gnuradio/block.h> > and inherit from gnuradio::block > > -josh > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio