|
From: | Justin Hamilton |
Subject: | Re: [Discuss-gnuradio] Derive OOT header format from header_format_default |
Date: | Thu, 6 Apr 2017 16:44:40 +1000 |
4. Made sure to #include <gnuradio/digital/header_3. Fleshed out the .cc and .h files using a combination of header_format_counter, header_format_crc and my own functions2. Added header_format_cognitive (c++) using gr_modtool as type 'noblock'1. Created my new module cognitiveSDR with gr_modtoolHi everyone,I'm creating a custom header format 'header_format_cognitive' derived from 'header_format_default'. I'm adding extra info to the default header, very similar to the way the child class 'header_format_counter' adds bits/symbol to the default. I'm creating my class as an OOT module named 'cognitiveSDR'.
I'm running into what appears to be a common issue, with people previously creating spin-offs of packet_header_default, including gr-ieee-802.11.
https://www.mail-archive.com/address@hidden/ msg50789.html
http://gnuradio.4.n7.nabble.com/Trouble-with-SWIG-for- packet-formatter-default- child-class-td52446.html
I was able to compile, install and import my module in GRC, but once I try to create the class using a variable with "cognitiveSDR.header_format_cognitive(..........)", I get the message:
"Value "cognitiveSDR.header_format_cognitive(..........)" cannot be evaluated: 'module' object has no attribute 'header_format_cognitive'" To give some context, normally when creating a standard header format object using a GRC variable I call "digital.header_format_counter(preamble_b, 3, Const_PLD.bits_per_symbol())" Steps taken so far:format_default.h> in the header file
5. Used digital::header_format_default as the parent class in the class declaration since it's now in separate namespace to 'digital'6. Modified set(GR_REQUIRED_COMPONENTS RUNTIME DIGITAL) in CMakeLists.txt6. Modified the SWIG file as shown belowAre there any modifications that I should make to the default CMakeLists.txt file generated for the module or additional changes to the SWIG file in order to make my class accessible inside GRC? I assume the parent and child classes are linking up properly since cmake, make and install succeed.Thanks for you help! Cheers.JustincognitiveSDR_swig.i/* -*- c++ -*- */
------------------------------------------------------------ ------------------------------ -------------------------
#define COGNITIVESDR_API
#define DIGITAL_API
%include "gnuradio.i" // the common stuff
//load generated python docstrings
%include "cognitiveSDR_swig_doc.i"
%{
#include "cognitiveSDR/header_format_cognitive.h"
%}
%include "gnuradio/digital/header_format_base.h"
%include "gnuradio/digital/header_format_default.h"
%include "cognitiveSDR/header_format_cognitive.h"
%template(header_format_cognitive_sptr) boost::shared_ptr<gr:: cognitiveSDR::header_format_ cognitive>;
%pythoncode %{
header_format_cognitive_sptr.__repr__ = lambda self: "<header_format_cognitive>"
header_format_cognitive = header_format_cognitive .make;
%}
[Prev in Thread] | Current Thread | [Next in Thread] |