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;
+%}