discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] PROBLEM: Making a new signal processing block


From: Jonas Gacrama
Subject: [Discuss-gnuradio] PROBLEM: Making a new signal processing block
Date: Sun, 6 Jan 2008 19:12:42 +0800

have tried to make a new signal processing block which that is called divcom. It is a diversity combining technique used to mitigate the effects of multi-path fading. I am trying to implement this algorithm using GNU Radio.

I made my signal processing block and I now wish to integrate this to the GNU Radio's library. Unfortunately, I always
get the following error message upon "MAKEing" (The message below is truncated.)

divcom_rca_ff.cc: In function 'divcom_rca_ff_sptr divcom_make_rca_ff(const std::vector<float, std::allocator<float> >&, const std::vector<float, std::allocator<float> >&, const std::vector<float, std::allocator<float> >&)':
divcom_rca_ff.cc:38: error: cannot allocate an object of abstract type 'divcom_rca_ff'
./divcom_rca_ff.h:45: note:   because the following virtual functions are pure within 'divcom_rca_ff':
/usr/local/include/gnuradio/gr
_block.h:113: note:       virtual int gr_block::general_work(int, gr_vector_int&, gr_vector_const_void_star&, gr_vector_void_star&)
make[4]: *** [divcom_rca_ff.lo] Error 1


I did the steps found in this website (http://www.gnu.org/software/gnuradio/doc/howto-write-a-block.html ) and I just changed a few bits of the code.

My question therefore is this. Could I not allocate a NEW CLASS TYPE (in this case divcom_rca_ff) since the function general_work from the base class gr_block is a PURE VIRTUAL CLASS?

I also have another question.

g++ -DHAVE_CONFIG_H -I. -I../.. -DOMNITHREAD_POSIX=1 -pthread -I/usr/local/include/gnuradio -I/usr/include/python2.5 -g -O2 -Wall -Woverloaded-virtual -pthread -MT divcom.lo -MD -MP -MF .deps/divcom.Tpo -c divcom.cc  -fPIC -DPIC -o .libs/divcom.o
/usr/local/include/gnuradio/gr_block.h:113: warning: 'virtual int gr_block::general_work(int, gr_vector_int&, gr_vector_const_void_star&, gr_vector_void_star&)' was hidden

Does it matter that I have "HIDDEN" the original general_work function from the base class gr_block.h? If so how can i make it "not hidden?"

Thanks!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]