diff --git a/CMakeLists.txt b/CMakeLists.txt index 020ab7e..daa483f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -80,7 +80,7 @@ set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks) ######################################################################## # Find gnuradio build dependencies ######################################################################## -set(GR_REQUIRED_COMPONENTS RUNTIME FILTER FFT PMT) +set(GR_REQUIRED_COMPONENTS RUNTIME FILTER FFT PMT DIGITAL) find_package(Gnuradio) find_package(CppUnit) diff --git a/include/ieee802-11/CMakeLists.txt b/include/ieee802-11/CMakeLists.txt index 5b0e007..e92cf8c 100644 --- a/include/ieee802-11/CMakeLists.txt +++ b/include/ieee802-11/CMakeLists.txt @@ -69,6 +69,7 @@ add_custom_target(ieee802_11_generated_includes DEPENDS list(APPEND include_sources ${generated_includes} api.h + chunks_to_symbols.h ether_encap.h ofdm_decode_mac.h ofdm_decode_signal.h @@ -77,10 +78,11 @@ list(APPEND include_sources ofdm_mac.h ofdm_mapper.h ofdm_parse_mac.h - ofdm_pilot.h ofdm_preamble.h ofdm_sync_long.h ofdm_sync_short.h + packet_headergenerator.h + wifi_signal_field.h ) install( diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 32e1d56..418d420 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -101,6 +101,7 @@ include_directories( ######################################################################## list(APPEND gr_ieee802_11_sources ${generated_sources} + chunks_to_symbols_impl.cc ether_encap_impl.cc ofdm_decode_mac.cc ofdm_decode_signal.cc @@ -109,11 +110,12 @@ list(APPEND gr_ieee802_11_sources ofdm_mac.cc ofdm_mapper.cc ofdm_parse_mac.cc - ofdm_pilot.cc ofdm_preamble.cc ofdm_sync_long.cc ofdm_sync_short.cc + packet_headergenerator_impl.cc utils.cc + wifi_signal_field_impl.cc ) list(APPEND gr_ieee802_11_libs @@ -122,6 +124,7 @@ list(APPEND gr_ieee802_11_libs ${GNURADIO_FFT_LIBRARIES} ${GNURADIO_PMT_LIBRARIES} ${GNURADIO_FILTER_LIBRARIES} + ${GNURADIO_DIGITAL_LIBRARIES} ) add_library(gnuradio-ieee802_11 SHARED ${gr_ieee802_11_sources}) diff --git a/swig/ieee802_11_swig.i b/swig/ieee802_11_swig.i index c0c1b9b..161a337 100644 --- a/swig/ieee802_11_swig.i +++ b/swig/ieee802_11_swig.i @@ -15,12 +15,17 @@ * along with this program. If not, see . */ #define IEEE802_11_API +#define DIGITAL_API %include "gnuradio.i" +//%include "digital_swig.i" %include "ieee802_11_swig_doc.i" %{ +#include "gnuradio/digital/packet_header_default.h" + +#include "ieee802-11/chunks_to_symbols.h" #include "ieee802-11/ether_encap.h" #include "ieee802-11/moving_average_cc.h" #include "ieee802-11/moving_average_ff.h" @@ -31,12 +36,16 @@ #include "ieee802-11/ofdm_mac.h" #include "ieee802-11/ofdm_mapper.h" #include "ieee802-11/ofdm_parse_mac.h" -#include "ieee802-11/ofdm_pilot.h" #include "ieee802-11/ofdm_preamble.h" #include "ieee802-11/ofdm_sync_long.h" #include "ieee802-11/ofdm_sync_short.h" +#include "ieee802-11/packet_headergenerator.h" +#include "ieee802-11/wifi_signal_field.h" %} +%include "gnuradio/digital/packet_header_default.h" + +%include "ieee802-11/chunks_to_symbols.h" %include "ieee802-11/ether_encap.h" %include "ieee802-11/moving_average_cc.h" %include "ieee802-11/moving_average_ff.h" @@ -47,11 +56,13 @@ %include "ieee802-11/ofdm_mac.h" %include "ieee802-11/ofdm_mapper.h" %include "ieee802-11/ofdm_parse_mac.h" -%include "ieee802-11/ofdm_pilot.h" %include "ieee802-11/ofdm_preamble.h" %include "ieee802-11/ofdm_sync_long.h" %include "ieee802-11/ofdm_sync_short.h" +%include "ieee802-11/packet_headergenerator.h" +%include "ieee802-11/wifi_signal_field.h" +GR_SWIG_BLOCK_MAGIC2(ieee802_11, chunks_to_symbols); GR_SWIG_BLOCK_MAGIC2(ieee802_11, ether_encap); GR_SWIG_BLOCK_MAGIC2(ieee802_11, moving_average_cc); GR_SWIG_BLOCK_MAGIC2(ieee802_11, moving_average_ff); @@ -62,8 +73,13 @@ GR_SWIG_BLOCK_MAGIC2(ieee802_11, ofdm_freq_est); GR_SWIG_BLOCK_MAGIC2(ieee802_11, ofdm_mac); GR_SWIG_BLOCK_MAGIC2(ieee802_11, ofdm_mapper); GR_SWIG_BLOCK_MAGIC2(ieee802_11, ofdm_parse_mac); -GR_SWIG_BLOCK_MAGIC2(ieee802_11, ofdm_pilot); GR_SWIG_BLOCK_MAGIC2(ieee802_11, ofdm_preamble); GR_SWIG_BLOCK_MAGIC2(ieee802_11, ofdm_sync_long); GR_SWIG_BLOCK_MAGIC2(ieee802_11, ofdm_sync_short); +GR_SWIG_BLOCK_MAGIC2(ieee802_11, packet_headergenerator); +%template(wifi_signal_field_sptr) boost::shared_ptr; +%pythoncode %{ +wifi_signal_field_sptr.__repr__ = lambda self: "" +wifi_signal_field = wifi_signal_field .make; +%}