From 89fc14ba44723cfbd88c2499ec8ab96ad993c5c4 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Fri, 16 Jun 2017 21:00:29 +0700 Subject: Implement transceiver interface This change introduces a new block 'TRX Interface', which is aimed to provide an interface for external applications, such as Osmocom MS side stack implementation - OsmocomBB. Currently one allows to exchange raw GSM bursts between GR-GSM and other applications. Moreover, there is a new 'trx.py' application, which implements a simple follow graph, where all demodulated bursts are being sent to external application via UDP link provided by 'TRX Interface'. OsmoTRX (Osmocom's fork of OpenBTS transceiver) like control interface is used to initialize, configure, start and stop the application. Messages on this interface are human readable ASCII strings, which contain a command and some related parameters. --- swig/grgsm_swig.i | 3 +++ 1 file changed, 3 insertions(+) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index 68911ae..6013cb1 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -41,6 +41,7 @@ #include "grgsm/misc_utils/message_file_source.h" #include "grgsm/misc_utils/msg_to_tag.h" #include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" +#include "grgsm/trx_interface/trx.h" %} %include "grgsm/receiver/receiver.h" @@ -117,3 +118,5 @@ GR_SWIG_BLOCK_MAGIC2(gsm, burst_source); GR_SWIG_BLOCK_MAGIC2(gsm, message_source); %include "grgsm/qa_utils/message_sink.h" GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); +%include "grgsm/trx_interface/trx.h" +GR_SWIG_BLOCK_MAGIC2(grgsm, trx); -- cgit v1.2.3 From 902f4ebaf0785dd410253e5925770dc9c20b8084 Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Tue, 19 Sep 2017 08:04:33 +0200 Subject: Moved trx utilities from apps subdirectory - the grgsm_trx app need to be updated --- swig/grgsm_swig.i.orig | 151 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 swig/grgsm_swig.i.orig (limited to 'swig') diff --git a/swig/grgsm_swig.i.orig b/swig/grgsm_swig.i.orig new file mode 100644 index 0000000..888f07a --- /dev/null +++ b/swig/grgsm_swig.i.orig @@ -0,0 +1,151 @@ +/* -*- c++ -*- */ +/* + * @file + * @author (C) 2014 by Piotr Krysik + * @section LICENSE + * + * Gr-gsm 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, or (at your option) + * any later version. + * + * Gr-gsm 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 gr-gsm; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + + +#define GRGSM_API + +%include "gnuradio.i" // the common stuff + +//load generated python docstrings +%include "grgsm_swig_doc.i" + +%{ +#include "grgsm/constants.h" +#include "grgsm/receiver/receiver.h" +#include "grgsm/receiver/clock_offset_control.h" +#include "grgsm/receiver/cx_channel_hopper.h" +#include "grgsm/decoding/control_channels_decoder.h" +#include "grgsm/decoding/tch_f_decoder.h" +#include "grgsm/decryption/decryption.h" +#include "grgsm/demapping/universal_ctrl_chans_demapper.h" +#include "grgsm/demapping/tch_f_chans_demapper.h" +#include "grgsm/flow_control/common.h" +#include "grgsm/flow_control/burst_timeslot_splitter.h" +#include "grgsm/flow_control/burst_sdcch_subslot_splitter.h" +#include "grgsm/flow_control/burst_timeslot_filter.h" +#include "grgsm/flow_control/burst_sdcch_subslot_filter.h" +#include "grgsm/flow_control/burst_fnr_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/controlled_rotator_cc.h" +#include "grgsm/misc_utils/extract_system_info.h" +#include "grgsm/misc_utils/extract_immediate_assignment.h" +#include "grgsm/misc_utils/message_printer.h" +#include "grgsm/misc_utils/tmsi_dumper.h" +#include "grgsm/misc_utils/burst_file_sink.h" +#include "grgsm/misc_utils/burst_file_source.h" +#include "grgsm/misc_utils/collect_system_info.h" +#include "grgsm/misc_utils/extract_cmc.h" +#include "grgsm/qa_utils/burst_sink.h" +#include "grgsm/qa_utils/burst_source.h" +#include "grgsm/qa_utils/message_source.h" +#include "grgsm/qa_utils/message_sink.h" +#include "grgsm/misc_utils/message_file_sink.h" +#include "grgsm/misc_utils/message_file_source.h" +#include "grgsm/misc_utils/msg_to_tag.h" +#include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" +#include "grgsm/trx_interface/trx.h" +%} + +%include "constants.i" + +%include "grgsm/receiver/receiver.h" +GR_SWIG_BLOCK_MAGIC2(gsm, receiver); +%include "grgsm/receiver/clock_offset_control.h" +GR_SWIG_BLOCK_MAGIC2(gsm, clock_offset_control); +%include "grgsm/receiver/cx_channel_hopper.h" +GR_SWIG_BLOCK_MAGIC2(gsm, cx_channel_hopper); + +%include "grgsm/decoding/control_channels_decoder.h" +GR_SWIG_BLOCK_MAGIC2(gsm, control_channels_decoder); +%include "grgsm/decoding/tch_f_decoder.h" +GR_SWIG_BLOCK_MAGIC2(gsm, tch_f_decoder); + +%include "grgsm/decryption/decryption.h" +GR_SWIG_BLOCK_MAGIC2(gsm, decryption); + +%include "grgsm/demapping/universal_ctrl_chans_demapper.h" +GR_SWIG_BLOCK_MAGIC2(gsm, universal_ctrl_chans_demapper); +%include "grgsm/demapping/tch_f_chans_demapper.h" +GR_SWIG_BLOCK_MAGIC2(gsm, tch_f_chans_demapper); + +%include "grgsm/flow_control/common.h" +%include "grgsm/flow_control/burst_timeslot_splitter.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_timeslot_splitter); +%include "grgsm/flow_control/burst_sdcch_subslot_splitter.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_sdcch_subslot_splitter); +%include "grgsm/flow_control/burst_timeslot_filter.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_timeslot_filter); +%include "grgsm/flow_control/burst_sdcch_subslot_filter.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_sdcch_subslot_filter); +%include "grgsm/flow_control/burst_fnr_filter.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_fnr_filter); +%include "grgsm/flow_control/dummy_burst_filter.h" +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" +GR_SWIG_BLOCK_MAGIC2(gsm, bursts_printer); +%include "grgsm/misc_utils/burst_file_sink.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_file_sink); +%include "grgsm/misc_utils/burst_file_source.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_file_source); +%include "grgsm/misc_utils/collect_system_info.h" +GR_SWIG_BLOCK_MAGIC2(gsm, collect_system_info); +%include "grgsm/misc_utils/extract_system_info.h" +GR_SWIG_BLOCK_MAGIC2(gsm, extract_system_info); +%include "grgsm/misc_utils/extract_immediate_assignment.h" +GR_SWIG_BLOCK_MAGIC2(gsm, extract_immediate_assignment); +%include "grgsm/misc_utils/controlled_rotator_cc.h" +GR_SWIG_BLOCK_MAGIC2(gsm, controlled_rotator_cc); +%include "grgsm/misc_utils/message_printer.h" +GR_SWIG_BLOCK_MAGIC2(gsm, message_printer); +%include "grgsm/misc_utils/tmsi_dumper.h" +GR_SWIG_BLOCK_MAGIC2(gsm, tmsi_dumper); +%include "grgsm/misc_utils/message_file_sink.h" +GR_SWIG_BLOCK_MAGIC2(gsm, message_file_sink); +%include "grgsm/misc_utils/message_file_source.h" +GR_SWIG_BLOCK_MAGIC2(gsm, message_file_source); +%include "grgsm/misc_utils/msg_to_tag.h" +GR_SWIG_BLOCK_MAGIC2(gsm, msg_to_tag); +%include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" +GR_SWIG_BLOCK_MAGIC2(gsm, controlled_fractional_resampler_cc); +%include "grgsm/misc_utils/extract_cmc.h" +GR_SWIG_BLOCK_MAGIC2(gsm, extract_cmc); + + +%include "grgsm/qa_utils/burst_sink.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_sink); +%include "grgsm/qa_utils/burst_source.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_source); +%include "grgsm/qa_utils/message_source.h" +GR_SWIG_BLOCK_MAGIC2(gsm, message_source); +%include "grgsm/qa_utils/message_sink.h" +GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); +<<<<<<< HEAD +%include "grgsm/trx_interface/trx.h" +GR_SWIG_BLOCK_MAGIC2(grgsm, trx); +======= +>>>>>>> development -- cgit v1.2.3 From 34ce7a02f071c0aa4661799aa566236c92955d74 Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Tue, 31 Oct 2017 11:30:59 +0100 Subject: Added C++ version of fn_time --- swig/grgsm_swig.i | 2 ++ 1 file changed, 2 insertions(+) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index a67e264..08d95f1 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -65,6 +65,7 @@ #include "grgsm/misc_utils/msg_to_tag.h" #include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" #include "grgsm/trx_interface/trx.h" +#include "grgsm/misc_utils/fn_time.h" %} %include "constants.i" @@ -146,3 +147,4 @@ GR_SWIG_BLOCK_MAGIC2(gsm, message_source); GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); %include "grgsm/trx_interface/trx.h" GR_SWIG_BLOCK_MAGIC2(grgsm, trx); +%include "grgsm/misc_utils/fn_time.h" -- cgit v1.2.3 From 1dd2afe367b52cc1d77ca11a3832bf1fdcac6ef2 Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Tue, 31 Oct 2017 12:57:26 +0100 Subject: Changed fn_time to use time_spec_t copied from libUHD --- swig/grgsm_swig.i | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index 08d95f1..d5132dc 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -65,6 +65,7 @@ #include "grgsm/misc_utils/msg_to_tag.h" #include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" #include "grgsm/trx_interface/trx.h" +#include "grgsm/misc_utils/time_spec.h" #include "grgsm/misc_utils/fn_time.h" %} @@ -147,4 +148,5 @@ GR_SWIG_BLOCK_MAGIC2(gsm, message_source); GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); %include "grgsm/trx_interface/trx.h" GR_SWIG_BLOCK_MAGIC2(grgsm, trx); -%include "grgsm/misc_utils/fn_time.h" +//%include "grgsm/misc_utils/time_spec.h" +//%include "grgsm/misc_utils/fn_time.h" -- cgit v1.2.3 From 6e41d06bbfa897f6287ea14ee473683aa3576f5a Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Fri, 3 Nov 2017 09:56:49 +0100 Subject: Corrections in fn_time --- swig/grgsm_swig.i | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index d5132dc..56e988d 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -23,6 +23,9 @@ #define GRGSM_API +%include +%template(pairud) std::pair; + %include "gnuradio.i" // the common stuff //load generated python docstrings @@ -65,7 +68,7 @@ #include "grgsm/misc_utils/msg_to_tag.h" #include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" #include "grgsm/trx_interface/trx.h" -#include "grgsm/misc_utils/time_spec.h" +//#include "grgsm/misc_utils/time_spec.h" #include "grgsm/misc_utils/fn_time.h" %} @@ -149,4 +152,4 @@ GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); %include "grgsm/trx_interface/trx.h" GR_SWIG_BLOCK_MAGIC2(grgsm, trx); //%include "grgsm/misc_utils/time_spec.h" -//%include "grgsm/misc_utils/fn_time.h" +%include "grgsm/misc_utils/fn_time.h" -- cgit v1.2.3 From d32ba5b47170c6f3b49815e8e9ea1c9c3054d7a9 Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Fri, 3 Nov 2017 09:58:13 +0100 Subject: Removed unused (and problematic during SWIG) part of time_spec_t and exposed time_spec_t in the library's ABI --- swig/grgsm_swig.i | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index 56e988d..2743e80 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -151,5 +151,27 @@ GR_SWIG_BLOCK_MAGIC2(gsm, message_source); GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); %include "grgsm/trx_interface/trx.h" GR_SWIG_BLOCK_MAGIC2(grgsm, trx); + +//#pragma SWIG nowarn=319 //%include "grgsm/misc_utils/time_spec.h" + +//%extend gr::gsm::time_spec_t{ +// gr::gsm::time_spec_t __add__(const gr::gsm::time_spec_t &what) +// { +// gr::gsm::time_spec_t temp = *self; +// temp += what; +// return temp; +// } +// gr::gsm::time_spec_t __sub__(const gr::gsm::time_spec_t &what) +// { +// gr::gsm::time_spec_t temp = *self; +// temp -= what; +// return temp; +// } +// bool __eq__(const gr::gsm::time_spec_t &what) +// { +// return (what == *self); +// } +//}; + %include "grgsm/misc_utils/fn_time.h" -- cgit v1.2.3 From 517464c0a9d410cccf5b4f7eb471dce9de58cff5 Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Sun, 5 Nov 2017 12:23:15 +0100 Subject: Added txtime_setter block (a c++ version of txtime_bursts_tagger Python block) --- swig/grgsm_swig.i | 3 +++ 1 file changed, 3 insertions(+) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index 2743e80..b4fecf6 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -70,6 +70,7 @@ #include "grgsm/trx_interface/trx.h" //#include "grgsm/misc_utils/time_spec.h" #include "grgsm/misc_utils/fn_time.h" +#include "grgsm/transmitter/txtime_setter.h" %} %include "constants.i" @@ -175,3 +176,5 @@ GR_SWIG_BLOCK_MAGIC2(grgsm, trx); //}; %include "grgsm/misc_utils/fn_time.h" +%include "grgsm/transmitter/txtime_setter.h" +GR_SWIG_BLOCK_MAGIC2(gsm, txtime_setter); -- cgit v1.2.3 From 264fbf69f7d578db5b7c2cdc45ed9d66b0d3ae6d Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Sun, 5 Nov 2017 12:25:51 +0100 Subject: Corrected namespaces from grgsm to gsm --- swig/grgsm_swig.i | 5 +- swig/grgsm_swig.i.orig | 151 ------------------------------------------------- 2 files changed, 3 insertions(+), 153 deletions(-) delete mode 100644 swig/grgsm_swig.i.orig (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index b4fecf6..64c1024 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -109,7 +109,7 @@ GR_SWIG_BLOCK_MAGIC2(gsm, burst_fnr_filter); %include "grgsm/flow_control/dummy_burst_filter.h" GR_SWIG_BLOCK_MAGIC2(gsm, dummy_burst_filter); %include "grgsm/flow_control/uplink_downlink_splitter.h" -GR_SWIG_BLOCK_MAGIC2(grgsm, uplink_downlink_splitter); +GR_SWIG_BLOCK_MAGIC2(gsm, uplink_downlink_splitter); %include "grgsm/misc_utils/bursts_printer.h" @@ -151,7 +151,7 @@ GR_SWIG_BLOCK_MAGIC2(gsm, message_source); %include "grgsm/qa_utils/message_sink.h" GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); %include "grgsm/trx_interface/trx.h" -GR_SWIG_BLOCK_MAGIC2(grgsm, trx); +GR_SWIG_BLOCK_MAGIC2(gsm, trx); //#pragma SWIG nowarn=319 //%include "grgsm/misc_utils/time_spec.h" @@ -176,5 +176,6 @@ GR_SWIG_BLOCK_MAGIC2(grgsm, trx); //}; %include "grgsm/misc_utils/fn_time.h" + %include "grgsm/transmitter/txtime_setter.h" GR_SWIG_BLOCK_MAGIC2(gsm, txtime_setter); diff --git a/swig/grgsm_swig.i.orig b/swig/grgsm_swig.i.orig deleted file mode 100644 index 888f07a..0000000 --- a/swig/grgsm_swig.i.orig +++ /dev/null @@ -1,151 +0,0 @@ -/* -*- c++ -*- */ -/* - * @file - * @author (C) 2014 by Piotr Krysik - * @section LICENSE - * - * Gr-gsm 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, or (at your option) - * any later version. - * - * Gr-gsm 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 gr-gsm; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - - -#define GRGSM_API - -%include "gnuradio.i" // the common stuff - -//load generated python docstrings -%include "grgsm_swig_doc.i" - -%{ -#include "grgsm/constants.h" -#include "grgsm/receiver/receiver.h" -#include "grgsm/receiver/clock_offset_control.h" -#include "grgsm/receiver/cx_channel_hopper.h" -#include "grgsm/decoding/control_channels_decoder.h" -#include "grgsm/decoding/tch_f_decoder.h" -#include "grgsm/decryption/decryption.h" -#include "grgsm/demapping/universal_ctrl_chans_demapper.h" -#include "grgsm/demapping/tch_f_chans_demapper.h" -#include "grgsm/flow_control/common.h" -#include "grgsm/flow_control/burst_timeslot_splitter.h" -#include "grgsm/flow_control/burst_sdcch_subslot_splitter.h" -#include "grgsm/flow_control/burst_timeslot_filter.h" -#include "grgsm/flow_control/burst_sdcch_subslot_filter.h" -#include "grgsm/flow_control/burst_fnr_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/controlled_rotator_cc.h" -#include "grgsm/misc_utils/extract_system_info.h" -#include "grgsm/misc_utils/extract_immediate_assignment.h" -#include "grgsm/misc_utils/message_printer.h" -#include "grgsm/misc_utils/tmsi_dumper.h" -#include "grgsm/misc_utils/burst_file_sink.h" -#include "grgsm/misc_utils/burst_file_source.h" -#include "grgsm/misc_utils/collect_system_info.h" -#include "grgsm/misc_utils/extract_cmc.h" -#include "grgsm/qa_utils/burst_sink.h" -#include "grgsm/qa_utils/burst_source.h" -#include "grgsm/qa_utils/message_source.h" -#include "grgsm/qa_utils/message_sink.h" -#include "grgsm/misc_utils/message_file_sink.h" -#include "grgsm/misc_utils/message_file_source.h" -#include "grgsm/misc_utils/msg_to_tag.h" -#include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" -#include "grgsm/trx_interface/trx.h" -%} - -%include "constants.i" - -%include "grgsm/receiver/receiver.h" -GR_SWIG_BLOCK_MAGIC2(gsm, receiver); -%include "grgsm/receiver/clock_offset_control.h" -GR_SWIG_BLOCK_MAGIC2(gsm, clock_offset_control); -%include "grgsm/receiver/cx_channel_hopper.h" -GR_SWIG_BLOCK_MAGIC2(gsm, cx_channel_hopper); - -%include "grgsm/decoding/control_channels_decoder.h" -GR_SWIG_BLOCK_MAGIC2(gsm, control_channels_decoder); -%include "grgsm/decoding/tch_f_decoder.h" -GR_SWIG_BLOCK_MAGIC2(gsm, tch_f_decoder); - -%include "grgsm/decryption/decryption.h" -GR_SWIG_BLOCK_MAGIC2(gsm, decryption); - -%include "grgsm/demapping/universal_ctrl_chans_demapper.h" -GR_SWIG_BLOCK_MAGIC2(gsm, universal_ctrl_chans_demapper); -%include "grgsm/demapping/tch_f_chans_demapper.h" -GR_SWIG_BLOCK_MAGIC2(gsm, tch_f_chans_demapper); - -%include "grgsm/flow_control/common.h" -%include "grgsm/flow_control/burst_timeslot_splitter.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_timeslot_splitter); -%include "grgsm/flow_control/burst_sdcch_subslot_splitter.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_sdcch_subslot_splitter); -%include "grgsm/flow_control/burst_timeslot_filter.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_timeslot_filter); -%include "grgsm/flow_control/burst_sdcch_subslot_filter.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_sdcch_subslot_filter); -%include "grgsm/flow_control/burst_fnr_filter.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_fnr_filter); -%include "grgsm/flow_control/dummy_burst_filter.h" -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" -GR_SWIG_BLOCK_MAGIC2(gsm, bursts_printer); -%include "grgsm/misc_utils/burst_file_sink.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_file_sink); -%include "grgsm/misc_utils/burst_file_source.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_file_source); -%include "grgsm/misc_utils/collect_system_info.h" -GR_SWIG_BLOCK_MAGIC2(gsm, collect_system_info); -%include "grgsm/misc_utils/extract_system_info.h" -GR_SWIG_BLOCK_MAGIC2(gsm, extract_system_info); -%include "grgsm/misc_utils/extract_immediate_assignment.h" -GR_SWIG_BLOCK_MAGIC2(gsm, extract_immediate_assignment); -%include "grgsm/misc_utils/controlled_rotator_cc.h" -GR_SWIG_BLOCK_MAGIC2(gsm, controlled_rotator_cc); -%include "grgsm/misc_utils/message_printer.h" -GR_SWIG_BLOCK_MAGIC2(gsm, message_printer); -%include "grgsm/misc_utils/tmsi_dumper.h" -GR_SWIG_BLOCK_MAGIC2(gsm, tmsi_dumper); -%include "grgsm/misc_utils/message_file_sink.h" -GR_SWIG_BLOCK_MAGIC2(gsm, message_file_sink); -%include "grgsm/misc_utils/message_file_source.h" -GR_SWIG_BLOCK_MAGIC2(gsm, message_file_source); -%include "grgsm/misc_utils/msg_to_tag.h" -GR_SWIG_BLOCK_MAGIC2(gsm, msg_to_tag); -%include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" -GR_SWIG_BLOCK_MAGIC2(gsm, controlled_fractional_resampler_cc); -%include "grgsm/misc_utils/extract_cmc.h" -GR_SWIG_BLOCK_MAGIC2(gsm, extract_cmc); - - -%include "grgsm/qa_utils/burst_sink.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_sink); -%include "grgsm/qa_utils/burst_source.h" -GR_SWIG_BLOCK_MAGIC2(gsm, burst_source); -%include "grgsm/qa_utils/message_source.h" -GR_SWIG_BLOCK_MAGIC2(gsm, message_source); -%include "grgsm/qa_utils/message_sink.h" -GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); -<<<<<<< HEAD -%include "grgsm/trx_interface/trx.h" -GR_SWIG_BLOCK_MAGIC2(grgsm, trx); -======= ->>>>>>> development -- cgit v1.2.3 From e601c366bd179f908d4f34da9fe535c2606cac32 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Tue, 17 Oct 2017 08:24:25 +0700 Subject: Refactor the 'TRX Burst Interface' block The following changes were made: - Both implementation and headers were merged with misc_utils - Fixed namespace mess: was gr::grgsm, became gr::gsm - More accurate class name was chosen: "trx_burst_if" --- swig/grgsm_swig.i | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index 64c1024..4901b44 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -67,10 +67,10 @@ #include "grgsm/misc_utils/message_file_source.h" #include "grgsm/misc_utils/msg_to_tag.h" #include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" -#include "grgsm/trx_interface/trx.h" //#include "grgsm/misc_utils/time_spec.h" #include "grgsm/misc_utils/fn_time.h" #include "grgsm/transmitter/txtime_setter.h" +#include "grgsm/misc_utils/trx_burst_if.h" %} %include "constants.i" @@ -140,6 +140,8 @@ GR_SWIG_BLOCK_MAGIC2(gsm, msg_to_tag); GR_SWIG_BLOCK_MAGIC2(gsm, controlled_fractional_resampler_cc); %include "grgsm/misc_utils/extract_cmc.h" GR_SWIG_BLOCK_MAGIC2(gsm, extract_cmc); +%include "grgsm/misc_utils/trx_burst_if.h" +GR_SWIG_BLOCK_MAGIC2(gsm, trx_burst_if); %include "grgsm/qa_utils/burst_sink.h" @@ -150,8 +152,6 @@ GR_SWIG_BLOCK_MAGIC2(gsm, burst_source); GR_SWIG_BLOCK_MAGIC2(gsm, message_source); %include "grgsm/qa_utils/message_sink.h" GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); -%include "grgsm/trx_interface/trx.h" -GR_SWIG_BLOCK_MAGIC2(gsm, trx); //#pragma SWIG nowarn=319 //%include "grgsm/misc_utils/time_spec.h" -- cgit v1.2.3 From acc365f2f19e2fc6fcc6a76cd4ea69bfd14120ab Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Tue, 7 Nov 2017 19:31:42 +0100 Subject: Added C++ version of burst type filter --- swig/grgsm_swig.i | 3 +++ 1 file changed, 3 insertions(+) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index 4901b44..26b6a6d 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -47,6 +47,7 @@ #include "grgsm/flow_control/burst_timeslot_filter.h" #include "grgsm/flow_control/burst_sdcch_subslot_filter.h" #include "grgsm/flow_control/burst_fnr_filter.h" +#include "grgsm/flow_control/burst_type_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" @@ -106,6 +107,8 @@ GR_SWIG_BLOCK_MAGIC2(gsm, burst_timeslot_filter); GR_SWIG_BLOCK_MAGIC2(gsm, burst_sdcch_subslot_filter); %include "grgsm/flow_control/burst_fnr_filter.h" GR_SWIG_BLOCK_MAGIC2(gsm, burst_fnr_filter); +%include "grgsm/flow_control/burst_type_filter.h" +GR_SWIG_BLOCK_MAGIC2(gsm, burst_type_filter); %include "grgsm/flow_control/dummy_burst_filter.h" GR_SWIG_BLOCK_MAGIC2(gsm, dummy_burst_filter); %include "grgsm/flow_control/uplink_downlink_splitter.h" -- cgit v1.2.3 From ccb5e689e1fce642c23ddfb091bee7bedffd0b55 Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Tue, 7 Nov 2017 19:34:22 +0100 Subject: Added tx bursts preprocessing block --- swig/grgsm_swig.i | 3 +++ 1 file changed, 3 insertions(+) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index 26b6a6d..65c48be 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -71,6 +71,7 @@ //#include "grgsm/misc_utils/time_spec.h" #include "grgsm/misc_utils/fn_time.h" #include "grgsm/transmitter/txtime_setter.h" +#include "grgsm/transmitter/preprocess_tx_burst.h" #include "grgsm/misc_utils/trx_burst_if.h" %} @@ -182,3 +183,5 @@ GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); %include "grgsm/transmitter/txtime_setter.h" GR_SWIG_BLOCK_MAGIC2(gsm, txtime_setter); +%include "grgsm/transmitter/preprocess_tx_burst.h" +GR_SWIG_BLOCK_MAGIC2(gsm, preprocess_tx_burst); -- cgit v1.2.3 From 23444838698302e5dd331cfac44082d71794d7d2 Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Wed, 29 Nov 2017 16:39:22 +0100 Subject: Added a block for generating Access Bursts --- swig/grgsm_swig.i | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'swig') diff --git a/swig/grgsm_swig.i b/swig/grgsm_swig.i index 65c48be..005033f 100644 --- a/swig/grgsm_swig.i +++ b/swig/grgsm_swig.i @@ -1,7 +1,7 @@ /* -*- c++ -*- */ /* * @file - * @author (C) 2014 by Piotr Krysik + * @author (C) 2014-2017 by Piotr Krysik * @section LICENSE * * Gr-gsm is free software; you can redistribute it and/or modify @@ -72,6 +72,7 @@ #include "grgsm/misc_utils/fn_time.h" #include "grgsm/transmitter/txtime_setter.h" #include "grgsm/transmitter/preprocess_tx_burst.h" +#include "grgsm/transmitter/gen_test_ab.h" #include "grgsm/misc_utils/trx_burst_if.h" %} @@ -144,10 +145,6 @@ GR_SWIG_BLOCK_MAGIC2(gsm, msg_to_tag); GR_SWIG_BLOCK_MAGIC2(gsm, controlled_fractional_resampler_cc); %include "grgsm/misc_utils/extract_cmc.h" GR_SWIG_BLOCK_MAGIC2(gsm, extract_cmc); -%include "grgsm/misc_utils/trx_burst_if.h" -GR_SWIG_BLOCK_MAGIC2(gsm, trx_burst_if); - - %include "grgsm/qa_utils/burst_sink.h" GR_SWIG_BLOCK_MAGIC2(gsm, burst_sink); %include "grgsm/qa_utils/burst_source.h" @@ -185,3 +182,9 @@ GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); GR_SWIG_BLOCK_MAGIC2(gsm, txtime_setter); %include "grgsm/transmitter/preprocess_tx_burst.h" GR_SWIG_BLOCK_MAGIC2(gsm, preprocess_tx_burst); + +%include "grgsm/transmitter/gen_test_ab.h" +GR_SWIG_BLOCK_MAGIC2(gsm, gen_test_ab); + +%include "grgsm/misc_utils/trx_burst_if.h" +GR_SWIG_BLOCK_MAGIC2(gsm, trx_burst_if); -- cgit v1.2.3