Changed path (flow_control) and name of uplink_downlink_filter to splitter

This commit is contained in:
Piotr Krysik 2016-08-30 21:31:24 +02:00
parent d61f85ba6d
commit a3405b285d
13 changed files with 42 additions and 41 deletions

View File

@ -24,6 +24,5 @@ add_subdirectory(receiver)
add_subdirectory(flow_control) add_subdirectory(flow_control)
add_subdirectory(misc_utils) add_subdirectory(misc_utils)
install(FILES install(FILES
gsm_block_tree.xml gsm_block_tree.xml DESTINATION share/gnuradio/grc/blocks
grgsm_uplink_downlink_filter.xml DESTINATION share/gnuradio/grc/blocks
) )

View File

@ -23,5 +23,6 @@ install(FILES
gsm_burst_timeslot_filter.xml gsm_burst_timeslot_filter.xml
gsm_dummy_burst_filter.xml gsm_dummy_burst_filter.xml
gsm_burst_sdcch_subslot_splitter.xml gsm_burst_sdcch_subslot_splitter.xml
gsm_burst_sdcch_subslot_filter.xml DESTINATION share/gnuradio/grc/blocks gsm_burst_sdcch_subslot_filter.xml
gsm_uplink_downlink_splitter.xml DESTINATION share/gnuradio/grc/blocks
) )

View File

@ -1,10 +1,9 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<block> <block>
<name>uplink_downlink_filter</name> <name>Up/Down-link splitter</name>
<key>grgsm_uplink_downlink_filter</key> <key>gsm_uplink_downlink_splitter</key>
<category>GSM</category>
<import>import grgsm</import> <import>import grgsm</import>
<make>grgsm.uplink_downlink_filter()</make> <make>grgsm.uplink_downlink_splitter()</make>
<sink> <sink>
<name>in</name> <name>in</name>
<type>message</type> <type>message</type>

View File

@ -47,6 +47,7 @@
<block>gsm_burst_sdcch_subslot_filter</block> <block>gsm_burst_sdcch_subslot_filter</block>
<block>gsm_burst_fnr_filter</block> <block>gsm_burst_fnr_filter</block>
<block>gsm_dummy_burst_filter</block> <block>gsm_dummy_burst_filter</block>
<block>gsm_uplink_downlink_splitter</block>
</cat> </cat>
<cat> <cat>
<name>Utilities</name> <name>Utilities</name>

View File

@ -23,8 +23,7 @@
install(FILES install(FILES
plotting.hpp plotting.hpp
api.h api.h
gsmtap.h gsmtap.h DESTINATION include/grgsm
uplink_downlink_filter.h DESTINATION include/grgsm
) )
add_subdirectory(decoding) add_subdirectory(decoding)

View File

@ -26,5 +26,6 @@ install(FILES
burst_timeslot_filter.h burst_timeslot_filter.h
burst_sdcch_subslot_filter.h burst_sdcch_subslot_filter.h
burst_fnr_filter.h burst_fnr_filter.h
dummy_burst_filter.h DESTINATION include/grgsm/flow_control dummy_burst_filter.h
uplink_downlink_splitter.h DESTINATION include/grgsm/flow_control
) )

View File

@ -21,8 +21,8 @@
*/ */
#ifndef INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_H #ifndef INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_H
#define INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_H #define INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_H
#include <grgsm/api.h> #include <grgsm/api.h>
#include <gnuradio/block.h> #include <gnuradio/block.h>
@ -35,17 +35,17 @@ namespace gr {
* \ingroup grgsm * \ingroup grgsm
* *
*/ */
class GRGSM_API uplink_downlink_filter : virtual public gr::block class GRGSM_API uplink_downlink_splitter : virtual public gr::block
{ {
public: public:
typedef boost::shared_ptr<uplink_downlink_filter> sptr; typedef boost::shared_ptr<uplink_downlink_splitter> sptr;
/*! /*!
* \brief Return a shared_ptr to a new instance of grgsm::uplink_downlink_filter. * \brief Return a shared_ptr to a new instance of grgsm::uplink_downlink_splitter.
* *
* To avoid accidental use of raw pointers, grgsm::uplink_downlink_filter's * To avoid accidental use of raw pointers, grgsm::uplink_downlink_splitter's
* constructor is in a private implementation * constructor is in a private implementation
* class. grgsm::uplink_downlink_filter::make is the public interface for * class. grgsm::uplink_downlink_splitter::make is the public interface for
* creating new instances. * creating new instances.
*/ */
static sptr make(); static sptr make();
@ -54,5 +54,5 @@ namespace gr {
} // namespace grgsm } // namespace grgsm
} // namespace gr } // namespace gr
#endif /* INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_H */ #endif /* INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_H */

View File

@ -49,6 +49,7 @@ list(APPEND grgsm_sources
flow_control/burst_sdcch_subslot_filter_impl.cc flow_control/burst_sdcch_subslot_filter_impl.cc
flow_control/burst_fnr_filter_impl.cc flow_control/burst_fnr_filter_impl.cc
flow_control/dummy_burst_filter_impl.cc flow_control/dummy_burst_filter_impl.cc
flow_control/uplink_downlink_splitter_impl.cc
misc_utils/controlled_rotator_cc_impl.cc misc_utils/controlled_rotator_cc_impl.cc
misc_utils/controlled_fractional_resampler_cc_impl.cc misc_utils/controlled_fractional_resampler_cc_impl.cc
misc_utils/msg_to_tag_impl.cc misc_utils/msg_to_tag_impl.cc
@ -66,7 +67,6 @@ list(APPEND grgsm_sources
qa_utils/message_source_impl.cc qa_utils/message_source_impl.cc
qa_utils/message_sink_impl.cc qa_utils/message_sink_impl.cc
decryption/decryption_impl.cc decryption/decryption_impl.cc
uplink_downlink_filter_impl.cc
) )

View File

@ -25,34 +25,34 @@
#endif #endif
#include <gnuradio/io_signature.h> #include <gnuradio/io_signature.h>
#include "uplink_downlink_filter_impl.h" #include "uplink_downlink_splitter_impl.h"
#include <grgsm/gsmtap.h> #include <grgsm/gsmtap.h>
#define BURST_SIZE 148 #define BURST_SIZE 148
namespace gr { namespace gr {
namespace grgsm { namespace grgsm {
uplink_downlink_filter::sptr uplink_downlink_splitter::sptr
uplink_downlink_filter::make() uplink_downlink_splitter::make()
{ {
return gnuradio::get_initial_sptr return gnuradio::get_initial_sptr
(new uplink_downlink_filter_impl()); (new uplink_downlink_splitter_impl());
} }
/* /*
* The private constructor * The private constructor
*/ */
uplink_downlink_filter_impl::uplink_downlink_filter_impl() uplink_downlink_splitter_impl::uplink_downlink_splitter_impl()
: gr::block("uplink_downlink_filter", : gr::block("uplink_downlink_splitter",
gr::io_signature::make(0,0,0), gr::io_signature::make(0,0,0),
gr::io_signature::make(0,0,0)) gr::io_signature::make(0,0,0))
{ {
message_port_register_in(pmt::mp("in")); message_port_register_in(pmt::mp("in"));
message_port_register_out(pmt::mp("uplink")); message_port_register_out(pmt::mp("uplink"));
message_port_register_out(pmt::mp("downlink")); message_port_register_out(pmt::mp("downlink"));
set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_filter_impl::process_msg, this, _1)); set_msg_handler(pmt::mp("in"), boost::bind(&uplink_downlink_splitter_impl::process_msg, this, _1));
} }
void uplink_downlink_filter_impl::process_msg(pmt::pmt_t msg) void uplink_downlink_splitter_impl::process_msg(pmt::pmt_t msg)
{ {
gsmtap_hdr * header = (gsmtap_hdr *)(pmt::blob_data(pmt::cdr(msg))); gsmtap_hdr * header = (gsmtap_hdr *)(pmt::blob_data(pmt::cdr(msg)));
bool uplink_burst = (be16toh(header->arfcn) & 0x4000) ? true : false; bool uplink_burst = (be16toh(header->arfcn) & 0x4000) ? true : false;
@ -67,7 +67,7 @@ namespace gr {
/* /*
* Our virtual destructor. * Our virtual destructor.
*/ */
uplink_downlink_filter_impl::~uplink_downlink_filter_impl() uplink_downlink_splitter_impl::~uplink_downlink_splitter_impl()
{ {
} }
} /* namespace grgsm */ } /* namespace grgsm */

View File

@ -20,24 +20,24 @@
* *
*/ */
#ifndef INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_IMPL_H #ifndef INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_IMPL_H
#define INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_IMPL_H #define INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_IMPL_H
#include <grgsm/uplink_downlink_filter.h> #include <grgsm/flow_control/uplink_downlink_splitter.h>
namespace gr { namespace gr {
namespace grgsm { namespace grgsm {
class uplink_downlink_filter_impl : public uplink_downlink_filter class uplink_downlink_splitter_impl : public uplink_downlink_splitter
{ {
public: public:
uplink_downlink_filter_impl(); uplink_downlink_splitter_impl();
~uplink_downlink_filter_impl(); ~uplink_downlink_splitter_impl();
void process_msg(pmt::pmt_t msg); void process_msg(pmt::pmt_t msg);
}; };
} // namespace grgsm } // namespace grgsm
} // namespace gr } // namespace gr
#endif /* INCLUDED_GRGSM_UPLINK_DOWNLINK_FILTER_IMPL_H */ #endif /* INCLUDED_GRGSM_UPLINK_DOWNLINK_SPLITTER_IMPL_H */

View File

@ -64,4 +64,4 @@ GR_ADD_TEST(qa_dummy_burst_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DI
#GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py) #GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py)
#GR_ADD_TEST(qa_msg_to_tag ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_msg_to_tag.py) #GR_ADD_TEST(qa_msg_to_tag ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_msg_to_tag.py)
#GR_ADD_TEST(qa_controlled_fractional_resampler_cc ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_controlled_fractional_resampler_cc.py) #GR_ADD_TEST(qa_controlled_fractional_resampler_cc ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_controlled_fractional_resampler_cc.py)
GR_ADD_TEST(qa_uplink_downlink_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_uplink_downlink_filter.py) #GR_ADD_TEST(qa_uplink_downlink_splitter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_uplink_downlink_splitter.py)

View File

@ -25,7 +25,7 @@ from gnuradio import gr, gr_unittest
from gnuradio import blocks from gnuradio import blocks
import grgsm_swig as grgsm import grgsm_swig as grgsm
class qa_uplink_downlink_filter (gr_unittest.TestCase): class qa_uplink_downlink_splitter (gr_unittest.TestCase):
def setUp (self): def setUp (self):
self.tb = gr.top_block () self.tb = gr.top_block ()
@ -40,4 +40,4 @@ class qa_uplink_downlink_filter (gr_unittest.TestCase):
if __name__ == '__main__': if __name__ == '__main__':
gr_unittest.run(qa_uplink_downlink_filter, "qa_uplink_downlink_filter.xml") gr_unittest.run(qa_uplink_downlink_splitter, "qa_uplink_downlink_splitter.xml")

View File

@ -22,6 +22,7 @@
#include "grgsm/flow_control/burst_sdcch_subslot_filter.h" #include "grgsm/flow_control/burst_sdcch_subslot_filter.h"
#include "grgsm/flow_control/burst_fnr_filter.h" #include "grgsm/flow_control/burst_fnr_filter.h"
#include "grgsm/flow_control/dummy_burst_filter.h" #include "grgsm/flow_control/dummy_burst_filter.h"
#include "grgsm/flow_control/uplink_downlink_splitter.h"
#include "grgsm/misc_utils/bursts_printer.h" #include "grgsm/misc_utils/bursts_printer.h"
#include "grgsm/misc_utils/controlled_rotator_cc.h" #include "grgsm/misc_utils/controlled_rotator_cc.h"
#include "grgsm/misc_utils/extract_system_info.h" #include "grgsm/misc_utils/extract_system_info.h"
@ -38,7 +39,6 @@
#include "grgsm/misc_utils/message_file_source.h" #include "grgsm/misc_utils/message_file_source.h"
#include "grgsm/misc_utils/msg_to_tag.h" #include "grgsm/misc_utils/msg_to_tag.h"
#include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" #include "grgsm/misc_utils/controlled_fractional_resampler_cc.h"
#include "grgsm/uplink_downlink_filter.h"
%} %}
%include "grgsm/receiver/receiver.h" %include "grgsm/receiver/receiver.h"
@ -73,6 +73,9 @@ GR_SWIG_BLOCK_MAGIC2(gsm, burst_sdcch_subslot_filter);
GR_SWIG_BLOCK_MAGIC2(gsm, burst_fnr_filter); GR_SWIG_BLOCK_MAGIC2(gsm, burst_fnr_filter);
%include "grgsm/flow_control/dummy_burst_filter.h" %include "grgsm/flow_control/dummy_burst_filter.h"
GR_SWIG_BLOCK_MAGIC2(gsm, dummy_burst_filter); GR_SWIG_BLOCK_MAGIC2(gsm, dummy_burst_filter);
%include "grgsm/flow_control/uplink_downlink_splitter.h"
GR_SWIG_BLOCK_MAGIC2(grgsm, uplink_downlink_splitter);
%include "grgsm/misc_utils/bursts_printer.h" %include "grgsm/misc_utils/bursts_printer.h"
GR_SWIG_BLOCK_MAGIC2(gsm, bursts_printer); GR_SWIG_BLOCK_MAGIC2(gsm, bursts_printer);
@ -108,5 +111,3 @@ GR_SWIG_BLOCK_MAGIC2(gsm, burst_source);
GR_SWIG_BLOCK_MAGIC2(gsm, message_source); GR_SWIG_BLOCK_MAGIC2(gsm, message_source);
%include "grgsm/qa_utils/message_sink.h" %include "grgsm/qa_utils/message_sink.h"
GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); GR_SWIG_BLOCK_MAGIC2(gsm, message_sink);
%include "grgsm/uplink_downlink_filter.h"
GR_SWIG_BLOCK_MAGIC2(grgsm, uplink_downlink_filter);