The GR constellation programming uses a base class that defines the API that will be SWIG-ified back into Python. So the base class must contain your "*decision_maker_soft" *method. Then you overload it for any inheriting class such as "constellation_bpsk". Hope this helps! - MLD On Fri, Jan 19, 2018, at 8:43 AM, sumit kumar wrote: > Actually I have to test it in a interference limited environment, I > guess the soft demodulate will be needed. I saw your blog post about > how you cleverly used your won constellations > https://www.bastibl.net/constellation-objects/> > However when I try doing something like that, I get errors. > > For example, I defined my own function decision_maker_soft inside > constellations_impl.h as follows> > class constellation_bpsk_impl : public constellation_bpsk > { > public: > constellation_bpsk_impl(); > ~constellation_bpsk_impl(); > > unsigned int decision_maker(const gr_complex *sample); > *float decision_maker_soft(const gr_complex *sample);* > }; > > and then defined it in constellation_impl.cc as > > float > constellation_bpsk_impl::decision_maker_soft(const gr_complex > *sample) {> return (-4*real(*sample)); > } > > But when I call my function like this > > mod->decision_maker_soft from ls.cc (least square equalizer cc file), > it says mod object has no member decision_maker_soft> > Why does *mod* object not look my decision_maker_soft as it is a > method of constellation_bpsk_impl ??> > What am I missing here ? > > I thought that mod object is looking your decision_maker inside > constellations_impl, it shud see mine too...
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
