On Thu, Dec 19, 2013 at 2:07 PM, Michael Berman <mrberma...@gmail.com> wrote:
> I am trying to access a C++ enumeration within an OOT module from a python
> instance of my OOT.  When I try to run my python code it cannot find the
> enumeration.
>
> My OOT module is called pll_freq_phase_det_cf and is included in python as:
> from pll_freq_phase_det_cf import pll_freq_phase_det_cf
>
> The C++ enum is defined in the public section of the object class definition
> in the include header and looks like:
>       enum ld_determination {
>         USE_NONE = 0, USE_PHASE_THRESHOLD = 1, USE_SIG_THRESHOLD = 2,
> USE_ALL = 3, USE_FULL = USE_ALL
>       };
>
> I would expect to be able to reference this from my python code like
> "pll_freq_phase_det_cf.USE_ALL", but the python interpreter cannot find a
> reference to this.
>
> I have looked at gr-filter firdes windowing enum and I do not see anything
> special about how this was declared, or within any CMake or swig files for
> this, so I do not know where to go from here.
>
> I have also looked at the python files in
> /usr/local/lib/python2.7/site-packages for my OOT and firdes and see no
> differences between how the enum values look (besides the names obviously
> being different...).
>
> Any help on this would be greatly appreciated.
>
>
> Thank you very much,
>
> Michael Berman

It sounds like you're definitely on the right track. My only
suggestion is to double-check your swig file that the header is being
included properly. But you're right; it's nothing special exporting
those enums through swig.

Another place to look is sig_source_waveform.h in gr-analog.

Tom

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

Reply via email to