This commit is contained in:
Bastian Bloessl
2016-04-20 07:45:49 +02:00
parent 0f56254df3
commit 760fc86101
38 changed files with 659 additions and 1593 deletions
+10 -10
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
# Copyright (C) 2013, 2016 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
@@ -70,16 +70,16 @@ list(APPEND include_sources
${generated_includes}
api.h
chunks_to_symbols.h
decode_mac.h
decode_signal.h
equalize_symbols.h
ether_encap.h
ofdm_decode_mac.h
ofdm_decode_signal.h
ofdm_equalize_symbols.h
ofdm_mac.h
ofdm_mapper.h
ofdm_parse_mac.h
ofdm_sync_long.h
ofdm_sync_short.h
wifi_signal_field.h
mac.h
mapper.h
parse_mac.h
signal_field.h
sync_long.h
sync_short.h
)
install(
+1 -1
View File
@@ -22,7 +22,7 @@
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API chunks_to_symbols : virtual public tagged_stream_block
{
public:
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
* Copyright (C) 2013, 2016 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
@@ -14,8 +14,8 @@
* 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_PARSE_MAC_H
#define INCLUDED_IEEE802_11_OFDM_PARSE_MAC_H
#ifndef INCLUDED_IEEE802_11_DECODE_MAC_H
#define INCLUDED_IEEE802_11_DECODE_MAC_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
@@ -23,11 +23,11 @@
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API ofdm_parse_mac : virtual public block
class IEEE802_11_API decode_mac : virtual public block
{
public:
typedef boost::shared_ptr<ofdm_parse_mac> sptr;
typedef boost::shared_ptr<decode_mac> sptr;
static sptr make(bool log = false, bool debug = false);
};
@@ -35,4 +35,6 @@ public:
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_OFDM_PARSE_MAC_H */
#endif /* INCLUDED_IEEE802_11_DECODE_MAC_H */
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
* Copyright (C) 2013, 2016 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
@@ -14,8 +14,8 @@
* 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_DECODE_SIGNAL_H
#define INCLUDED_IEEE802_11_OFDM_DECODE_SIGNAL_H
#ifndef INCLUDED_IEEE802_11_DECODE_SIGNAL_H
#define INCLUDED_IEEE802_11_DECODE_SIGNAL_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
@@ -23,11 +23,11 @@
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API ofdm_decode_signal : virtual public block
class IEEE802_11_API decode_signal : virtual public block
{
public:
typedef boost::shared_ptr<ofdm_decode_signal> sptr;
typedef boost::shared_ptr<decode_signal> sptr;
static sptr make(bool log = false, bool debug = false);
};
@@ -35,5 +35,5 @@ public:
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_OFDM_DECODE_SIGNAL_H */
#endif /* INCLUDED_IEEE802_11_DECODE_SIGNAL_H */
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013, 2015 Bastian Bloessl <bloessl@ccs-labs.org>
* Copyright (C) 2013, 2015, 2016 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
@@ -14,8 +14,8 @@
* 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_EQUALIZE_SYMBOLS_H
#define INCLUDED_IEEE802_11_OFDM_EQUALIZE_SYMBOLS_H
#ifndef INCLUDED_IEEE802_11_EQUALIZE_SYMBOLS_H
#define INCLUDED_IEEE802_11_EQUALIZE_SYMBOLS_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
@@ -28,11 +28,11 @@ enum Equalizer {
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API ofdm_equalize_symbols : virtual public block
class IEEE802_11_API equalize_symbols : virtual public block
{
public:
typedef boost::shared_ptr<ofdm_equalize_symbols> sptr;
typedef boost::shared_ptr<equalize_symbols> sptr;
static sptr make(Equalizer algo, bool debug = false);
virtual void set_algorithm(Equalizer algo) = 0;
@@ -41,5 +41,5 @@ public:
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_OFDM_EQUALIZE_SYMBOLS_H*/
#endif /* INCLUDED_IEEE802_11_EQUALIZE_SYMBOLS_H*/
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
* Copyright (C) 2013, 2016 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
@@ -14,8 +14,8 @@
* 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
#ifndef INCLUDED_IEEE802_11_MAC_H
#define INCLUDED_IEEE802_11_MAC_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
@@ -23,11 +23,11 @@
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API ofdm_mac : virtual public block
class IEEE802_11_API mac : virtual public block
{
public:
typedef boost::shared_ptr<ofdm_mac> sptr;
typedef boost::shared_ptr<mac> sptr;
static sptr make(std::vector<uint8_t> src_mac,
std::vector<uint8_t> dst_mac,
std::vector<uint8_t> bss_mac);
@@ -36,4 +36,4 @@ public:
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_OFDM_MAC_H */
#endif /* INCLUDED_IEEE802_11_MAC_H */
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
* Copyright (C) 2013, 2016 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
@@ -14,8 +14,8 @@
* 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
#ifndef INCLUDED_IEEE802_11_MAPPER_H
#define INCLUDED_IEEE802_11_MAPPER_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
@@ -34,11 +34,11 @@ enum Encoding {
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API ofdm_mapper : virtual public block
class IEEE802_11_API mapper : virtual public block
{
public:
typedef boost::shared_ptr<ofdm_mapper> sptr;
typedef boost::shared_ptr<mapper> sptr;
static sptr make(Encoding mcs, bool debug = false);
virtual void set_encoding(Encoding mcs) = 0;
};
@@ -46,4 +46,4 @@ public:
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_OFDM_MAPPER_H */
#endif /* INCLUDED_IEEE802_11_MAPPER_H */
-47
View File
@@ -1,47 +0,0 @@
/*
* 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_DECODE_MAC_H
#define INCLUDED_IEEE802_11_OFDM_DECODE_MAC_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API ofdm_decode_mac : virtual public block
{
public:
typedef boost::shared_ptr<ofdm_decode_mac> sptr;
static sptr make(bool log = false, bool debug = false);
private:
// Puncturing vectors
static const unsigned char d_puncture_1_2[];
static const unsigned char d_puncture_2_3[];
static const unsigned char d_puncture_3_4[];
};
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_OFDM_DECODE_MAC_H */
+38
View File
@@ -0,0 +1,38 @@
/*
* Copyright (C) 2013, 2016 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_PARSE_MAC_H
#define INCLUDED_IEEE802_11_PARSE_MAC_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API parse_mac : virtual public block
{
public:
typedef boost::shared_ptr<parse_mac> sptr;
static sptr make(bool log = false, bool debug = false);
};
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_PARSE_MAC_H */
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
* Copyright (C) 2013, 2016 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
@@ -15,8 +15,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef INCLUDED_IEEE802_11_WIFI_SIGNAL_FIELD_H
#define INCLUDED_IEEE802_11_WIFI_SIGNAL_FIELD_H
#ifndef INCLUDED_IEEE802_11_SIGNAL_FIELD_H
#define INCLUDED_IEEE802_11_SIGNAL_FIELD_H
#include <ieee802-11/api.h>
#include <gnuradio/digital/packet_header_default.h>
@@ -24,18 +24,18 @@
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API wifi_signal_field : virtual public digital::packet_header_default
class IEEE802_11_API signal_field : virtual public digital::packet_header_default
{
public:
typedef boost::shared_ptr<wifi_signal_field> sptr;
typedef boost::shared_ptr<signal_field> sptr;
static sptr make();
protected:
wifi_signal_field();
signal_field();
};
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_WIFI_SIGNAL_FIELD_H */
#endif /* INCLUDED_IEEE802_11_SIGNAL_FIELD_H */
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
* Copyright (C) 2013, 2016 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
@@ -14,8 +14,8 @@
* 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_SYNC_LONG_H
#define INCLUDED_IEEE802_11_OFDM_SYNC_LONG_H
#ifndef INCLUDED_IEEE802_11_SYNC_LONG_H
#define INCLUDED_IEEE802_11_SYNC_LONG_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
@@ -23,11 +23,11 @@
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API ofdm_sync_long : virtual public block
class IEEE802_11_API sync_long : virtual public block
{
public:
typedef boost::shared_ptr<ofdm_sync_long> sptr;
typedef boost::shared_ptr<sync_long> sptr;
static sptr make(unsigned int sync_length,
bool log = false, bool debug = false);
@@ -36,4 +36,4 @@ public:
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_OFDM_SYNC_LONG_H */
#endif /* INCLUDED_IEEE802_11_SYNC_LONG_H */
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
* Copyright (C) 2013, 2016 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
@@ -14,8 +14,8 @@
* 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_SYNC_SHORT_H
#define INCLUDED_IEEE802_11_OFDM_SYNC_SHORT_H
#ifndef INCLUDED_IEEE802_11_SYNC_SHORT_H
#define INCLUDED_IEEE802_11_SYNC_SHORT_H
#include <ieee802-11/api.h>
#include <gnuradio/block.h>
@@ -23,11 +23,11 @@
namespace gr {
namespace ieee802_11 {
class IEEE802_11_API ofdm_sync_short : virtual public block
class IEEE802_11_API sync_short : virtual public block
{
public:
typedef boost::shared_ptr<ofdm_sync_short> sptr;
typedef boost::shared_ptr<sync_short> sptr;
static sptr make(double threshold, unsigned int min_plateau, bool log = false, bool debug = false);
};
@@ -35,4 +35,4 @@ public:
} // namespace ieee802_11
} // namespace gr
#endif /* INCLUDED_IEEE802_11_OFDM_SYNC_SHORT_H */
#endif /* INCLUDED_IEEE802_11_SYNC_SHORT_H */