code changes
This commit is contained in:
@@ -14,20 +14,75 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
include(GrPython)
|
||||
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py "
|
||||
#!${PYTHON_EXECUTABLE}
|
||||
|
||||
import sys, os, re
|
||||
sys.path.append('${GR_RUNTIME_PYTHONPATH}')
|
||||
os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'
|
||||
os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.path.append('${CMAKE_CURRENT_SOURCE_DIR}/../../python')
|
||||
import build_utils
|
||||
root, inp = sys.argv[1:3]
|
||||
for sig in sys.argv[3:]:
|
||||
name = re.sub ('X+', sig, root)
|
||||
d = build_utils.standard_dict(name, sig, 'ieee802_11')
|
||||
build_utils.expand_template(d, inp)
|
||||
|
||||
")
|
||||
|
||||
macro(expand_h root)
|
||||
#make a list of all the generated files
|
||||
unset(expanded_files_h)
|
||||
foreach(sig ${ARGN})
|
||||
string(REGEX REPLACE "X+" ${sig} name ${root})
|
||||
list(APPEND expanded_files_h ${CMAKE_CURRENT_BINARY_DIR}/${name}.h)
|
||||
endforeach(sig)
|
||||
|
||||
#create a command to generate the files
|
||||
add_custom_command(
|
||||
OUTPUT ${expanded_files_h}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${root}.h.t
|
||||
COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py
|
||||
${root} ${root}.h.t ${ARGN}
|
||||
)
|
||||
|
||||
#install rules for the generated h files
|
||||
list(APPEND generated_includes ${expanded_files_h})
|
||||
endmacro(expand_h)
|
||||
|
||||
expand_h(moving_average_XX ff cc)
|
||||
|
||||
add_custom_target(ieee802_11_generated_includes DEPENDS
|
||||
${generated_includes}
|
||||
)
|
||||
|
||||
########################################################################
|
||||
# Install public header files
|
||||
########################################################################
|
||||
|
||||
list(APPEND include_sources
|
||||
${generated_includes}
|
||||
api.h
|
||||
ether_encap.h
|
||||
ofdm_decode_mac.h
|
||||
ofdm_decode_signal.h
|
||||
ofdm_equalize_symbols.h
|
||||
ofdm_freq_est.h
|
||||
ofdm_mac.h
|
||||
ofdm_mapper.h
|
||||
ofdm_parse_mac.h
|
||||
ofdm_pilot.h
|
||||
ofdm_preamble.h
|
||||
ofdm_sync_long.h
|
||||
ofdm_sync_short.h
|
||||
wave_llc.h
|
||||
wave_short_message.h
|
||||
)
|
||||
|
||||
install(
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef @GUARD_NAME@
|
||||
#define @GUARD_NAME@
|
||||
|
||||
#include <ieee802-11/api.h>
|
||||
#include <gnuradio/sync_block.h>
|
||||
|
||||
namespace gr {
|
||||
namespace ieee802_11 {
|
||||
|
||||
class IEEE802_11_API @NAME@ : virtual public sync_block
|
||||
{
|
||||
public:
|
||||
typedef boost::shared_ptr<@NAME@> sptr;
|
||||
static sptr make(int length);
|
||||
|
||||
virtual int length() const = 0;
|
||||
virtual void set_length(int length) = 0;
|
||||
|
||||
};
|
||||
|
||||
} /* namespace blocks */
|
||||
} /* namespace gr */
|
||||
|
||||
#endif /* @GUARD_NAME@ */
|
||||
@@ -28,7 +28,7 @@ class IEEE802_11_API ofdm_decode_mac : virtual public block
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_decode_mac> sptr;
|
||||
static sptr make(bool debug = false);
|
||||
static sptr make(bool log = false, bool debug = false);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ class IEEE802_11_API ofdm_decode_signal : virtual public block
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_decode_signal> sptr;
|
||||
static sptr make(bool debug = false);
|
||||
static sptr make(bool log = false, bool debug = false);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef INCLUDED_IEEE802_11_OFDM_FREQ_EST_H
|
||||
#define INCLUDED_IEEE802_11_OFDM_FREQ_EST_H
|
||||
|
||||
#include <ieee802-11/api.h>
|
||||
#include <gnuradio/block.h>
|
||||
|
||||
namespace gr {
|
||||
namespace ieee802_11 {
|
||||
|
||||
class IEEE802_11_API ofdm_freq_est : virtual public block
|
||||
{
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_freq_est> sptr;
|
||||
static sptr make(bool log = false, bool debug = false);
|
||||
|
||||
};
|
||||
|
||||
} // namespace ieee802_11
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IEEE802_11_OFDM_FREQ_EST_H */
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef INCLUDED_IEEE802_11_OFDM_MAC_H
|
||||
#define INCLUDED_IEEE802_11_OFDM_MAC_H
|
||||
|
||||
#include <ieee802-11/api.h>
|
||||
#include <gnuradio/block.h>
|
||||
|
||||
namespace gr {
|
||||
namespace ieee802_11 {
|
||||
|
||||
class IEEE802_11_API ofdm_mac : virtual public block
|
||||
{
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_mac> sptr;
|
||||
static sptr make();
|
||||
};
|
||||
|
||||
} // namespace ieee802_11
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IEEE802_11_OFDM_MAC_H */
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef INCLUDED_IEEE802_11_OFDM_MAPPER_H
|
||||
#define INCLUDED_IEEE802_11_OFDM_MAPPER_H
|
||||
|
||||
#include <ieee802-11/api.h>
|
||||
#include <gnuradio/block.h>
|
||||
|
||||
enum Encoding {
|
||||
BPSK_1_2 = 0,
|
||||
BPSK_3_4 = 1,
|
||||
QPSK_1_2 = 2,
|
||||
QPSK_3_4 = 3,
|
||||
QAM16_1_2 = 4,
|
||||
QAM16_3_4 = 5,
|
||||
QAM64_2_3 = 6,
|
||||
QAM64_3_4 = 7,
|
||||
};
|
||||
|
||||
namespace gr {
|
||||
namespace ieee802_11 {
|
||||
|
||||
class IEEE802_11_API ofdm_mapper : virtual public block
|
||||
{
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_mapper> sptr;
|
||||
static sptr make(Encoding mcs, bool debug = false);
|
||||
virtual void set_encoding(Encoding mcs) = 0;
|
||||
};
|
||||
|
||||
} // namespace ieee802_11
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IEEE802_11_OFDM_MAPPER_H */
|
||||
@@ -28,7 +28,7 @@ class IEEE802_11_API ofdm_parse_mac : virtual public block
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_parse_mac> sptr;
|
||||
static sptr make(bool debug);
|
||||
static sptr make(bool log = false, bool debug = false);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef INCLUDED_IEEE802_11_PILOT_H
|
||||
#define INCLUDED_IEEE802_11_PILOT_H
|
||||
|
||||
#include <ieee802-11/api.h>
|
||||
#include <gnuradio/sync_block.h>
|
||||
|
||||
namespace gr {
|
||||
namespace ieee802_11 {
|
||||
|
||||
class IEEE802_11_API ofdm_pilot : virtual public sync_block
|
||||
{
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_pilot> sptr;
|
||||
static sptr make(bool debug = false);
|
||||
|
||||
};
|
||||
|
||||
} // namespace ieee802_11
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IEEE802_11_PILOT_H */
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef INCLUDED_IEEE802_11_OFDM_PREAMBLE_H
|
||||
#define INCLUDED_IEEE802_11_OFDM_PREAMBLE_H
|
||||
|
||||
#include <ieee802-11/api.h>
|
||||
#include <gnuradio/block.h>
|
||||
|
||||
namespace gr {
|
||||
namespace ieee802_11 {
|
||||
|
||||
class IEEE802_11_API ofdm_preamble : virtual public block
|
||||
{
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_preamble> sptr;
|
||||
static sptr make(bool debug = false);
|
||||
|
||||
};
|
||||
|
||||
} // namespace ieee802_11
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IEEE802_11_OFDM_PREAMBLE_H */
|
||||
@@ -28,8 +28,8 @@ class IEEE802_11_API ofdm_sync_long : virtual public block
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_sync_long> sptr;
|
||||
static sptr make(unsigned int sync_length, unsigned int freq_est,
|
||||
bool debug = false);
|
||||
static sptr make(unsigned int sync_length,
|
||||
bool log = false, bool debug = false);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
|
||||
typedef boost::shared_ptr<ofdm_sync_short> sptr;
|
||||
static sptr make(double threshold, unsigned int max_samples,
|
||||
unsigned int min_plateau, bool debug = false);
|
||||
unsigned int min_plateau, bool log = false, bool debug = false);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef INCLUDED_IEEE802_11_WAVE_LLC_H
|
||||
#define INCLUDED_IEEE802_11_WAVE_LLC_H
|
||||
|
||||
#include <ieee802-11/api.h>
|
||||
#include <gnuradio/block.h>
|
||||
|
||||
namespace gr {
|
||||
namespace ieee802_11 {
|
||||
|
||||
class IEEE802_11_API wave_llc : virtual public block
|
||||
{
|
||||
public:
|
||||
|
||||
typedef boost::shared_ptr<wave_llc> sptr;
|
||||
static sptr make();
|
||||
|
||||
};
|
||||
|
||||
} // namespace ieee802_11
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IEEE802_11_WAVE_LLC_H */
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef INCLUDED_IEEE802_11_WAVE_SHORT_MESSAGE_H
|
||||
#define INCLUDED_IEEE802_11_WAVE_SHORT_MESSAGE_H
|
||||
|
||||
#include <ieee802-11/api.h>
|
||||
#include <gnuradio/block.h>
|
||||
|
||||
namespace gr {
|
||||
namespace ieee802_11 {
|
||||
|
||||
class IEEE802_11_API wave_short_message : virtual public block
|
||||
{
|
||||
public:
|
||||
|
||||
virtual void set_version(int version) = 0;
|
||||
|
||||
typedef boost::shared_ptr<wave_short_message> sptr;
|
||||
static sptr make(int version);
|
||||
};
|
||||
|
||||
} // namespace ieee802_11
|
||||
} // namespace gr
|
||||
|
||||
#endif /* INCLUDED_IEEE802_11_WAVE_SHORT_MESSAGE_H */
|
||||
Reference in New Issue
Block a user