ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 1 | /* -*- c++ -*- */ |
Piotr Krysik | a6268a5 | 2017-08-23 16:02:19 +0200 | [diff] [blame] | 2 | /* |
| 3 | * @file |
| 4 | * @author (C) 2014 by Piotr Krysik <ptrkrysik@gmail.com> |
| 5 | * @section LICENSE |
| 6 | * |
| 7 | * Gr-gsm is free software; you can redistribute it and/or modify |
| 8 | * it under the terms of the GNU General Public License as published by |
| 9 | * the Free Software Foundation; either version 3, or (at your option) |
| 10 | * any later version. |
| 11 | * |
| 12 | * Gr-gsm is distributed in the hope that it will be useful, |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 15 | * GNU General Public License for more details. |
| 16 | * |
| 17 | * You should have received a copy of the GNU General Public License |
| 18 | * along with gr-gsm; see the file COPYING. If not, write to |
| 19 | * the Free Software Foundation, Inc., 51 Franklin Street, |
| 20 | * Boston, MA 02110-1301, USA. |
| 21 | */ |
| 22 | |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 23 | |
Piotr Krysik | af8ad5d | 2016-05-29 13:05:48 +0200 | [diff] [blame] | 24 | #define GRGSM_API |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 25 | |
Piotr Krysik | 6e41d06 | 2017-11-03 09:56:49 +0100 | [diff] [blame] | 26 | %include <std_pair.i> |
| 27 | %template(pairud) std::pair<unsigned long long,double>; |
| 28 | |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 29 | %include "gnuradio.i" // the common stuff |
| 30 | |
| 31 | //load generated python docstrings |
| 32 | %include "grgsm_swig_doc.i" |
| 33 | |
| 34 | %{ |
Piotr Krysik | bb961c1 | 2017-08-24 15:35:42 +0200 | [diff] [blame] | 35 | #include "grgsm/constants.h" |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 36 | #include "grgsm/receiver/receiver.h" |
ptrkrysik | f8c7e83 | 2015-04-04 12:28:20 +0200 | [diff] [blame] | 37 | #include "grgsm/receiver/clock_offset_control.h" |
rpp | 4f0f3b5 | 2015-06-10 10:23:30 +0200 | [diff] [blame] | 38 | #include "grgsm/receiver/cx_channel_hopper.h" |
ptrkrysik | 18b631e | 2014-12-15 09:09:18 +0100 | [diff] [blame] | 39 | #include "grgsm/decoding/control_channels_decoder.h" |
Roman Khassraf | 059bab9 | 2015-05-20 12:49:46 +0200 | [diff] [blame] | 40 | #include "grgsm/decoding/tch_f_decoder.h" |
ptrkrysik | 18b631e | 2014-12-15 09:09:18 +0100 | [diff] [blame] | 41 | #include "grgsm/decryption/decryption.h" |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 42 | #include "grgsm/demapping/universal_ctrl_chans_demapper.h" |
Roman Khassraf | fb6bc50 | 2015-04-14 15:44:40 +0200 | [diff] [blame] | 43 | #include "grgsm/demapping/tch_f_chans_demapper.h" |
Vadim Yanitskiy | 04536ab | 2017-07-21 10:59:51 +0700 | [diff] [blame] | 44 | #include "grgsm/flow_control/common.h" |
Roman Khassraf | dbc3a50 | 2015-08-03 23:20:20 +0200 | [diff] [blame] | 45 | #include "grgsm/flow_control/burst_timeslot_splitter.h" |
Roman Khassraf | a1eb188 | 2015-08-05 12:30:29 +0200 | [diff] [blame] | 46 | #include "grgsm/flow_control/burst_sdcch_subslot_splitter.h" |
Roman Khassraf | d7e3eec | 2015-08-06 11:54:22 +0200 | [diff] [blame] | 47 | #include "grgsm/flow_control/burst_timeslot_filter.h" |
Roman Khassraf | 8b64d87 | 2015-08-06 17:30:04 +0200 | [diff] [blame] | 48 | #include "grgsm/flow_control/burst_sdcch_subslot_filter.h" |
Roman Khassraf | 8e3b0ec | 2015-08-04 11:16:04 +0200 | [diff] [blame] | 49 | #include "grgsm/flow_control/burst_fnr_filter.h" |
Piotr Krysik | acc365f | 2017-11-07 19:31:42 +0100 | [diff] [blame] | 50 | #include "grgsm/flow_control/burst_type_filter.h" |
Roman Khassraf | 7cccb52 | 2015-08-04 12:26:54 +0200 | [diff] [blame] | 51 | #include "grgsm/flow_control/dummy_burst_filter.h" |
Piotr Krysik | a3405b2 | 2016-08-30 21:31:24 +0200 | [diff] [blame] | 52 | #include "grgsm/flow_control/uplink_downlink_splitter.h" |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 53 | #include "grgsm/misc_utils/bursts_printer.h" |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 54 | #include "grgsm/misc_utils/controlled_rotator_cc.h" |
| 55 | #include "grgsm/misc_utils/extract_system_info.h" |
Roman Khassraf | 5bd14f2 | 2015-06-24 17:59:13 +0200 | [diff] [blame] | 56 | #include "grgsm/misc_utils/extract_immediate_assignment.h" |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 57 | #include "grgsm/misc_utils/message_printer.h" |
ptrkrysik | 8984758 | 2015-01-15 11:48:20 +0100 | [diff] [blame] | 58 | #include "grgsm/misc_utils/tmsi_dumper.h" |
Roman Khassraf | 1c3419e | 2015-08-03 10:58:57 +0200 | [diff] [blame] | 59 | #include "grgsm/misc_utils/burst_file_sink.h" |
| 60 | #include "grgsm/misc_utils/burst_file_source.h" |
Roman Khassraf | 98581a8 | 2017-01-11 12:50:38 +0100 | [diff] [blame] | 61 | #include "grgsm/misc_utils/collect_system_info.h" |
Roman Khassraf | e5ddab3 | 2016-12-04 16:19:40 +0100 | [diff] [blame] | 62 | #include "grgsm/misc_utils/extract_cmc.h" |
Roman Khassraf | 1ce4469 | 2015-08-03 11:16:10 +0200 | [diff] [blame] | 63 | #include "grgsm/qa_utils/burst_sink.h" |
| 64 | #include "grgsm/qa_utils/burst_source.h" |
Roman Khassraf | b8f4909 | 2015-08-03 10:08:18 +0200 | [diff] [blame] | 65 | #include "grgsm/qa_utils/message_source.h" |
| 66 | #include "grgsm/qa_utils/message_sink.h" |
Roman Khassraf | c323454 | 2015-08-03 16:17:46 +0200 | [diff] [blame] | 67 | #include "grgsm/misc_utils/message_file_sink.h" |
| 68 | #include "grgsm/misc_utils/message_file_source.h" |
Piotr Krysik | 89ff899 | 2016-07-18 10:24:35 +0200 | [diff] [blame] | 69 | #include "grgsm/misc_utils/msg_to_tag.h" |
| 70 | #include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" |
Piotr Krysik | 6e41d06 | 2017-11-03 09:56:49 +0100 | [diff] [blame] | 71 | //#include "grgsm/misc_utils/time_spec.h" |
Piotr Krysik | 34ce7a0 | 2017-10-31 11:30:59 +0100 | [diff] [blame] | 72 | #include "grgsm/misc_utils/fn_time.h" |
Piotr Krysik | 517464c | 2017-11-05 12:23:15 +0100 | [diff] [blame] | 73 | #include "grgsm/transmitter/txtime_setter.h" |
Piotr Krysik | ccb5e68 | 2017-11-07 19:34:22 +0100 | [diff] [blame] | 74 | #include "grgsm/transmitter/preprocess_tx_burst.h" |
Vadim Yanitskiy | e601c36 | 2017-10-17 08:24:25 +0700 | [diff] [blame] | 75 | #include "grgsm/misc_utils/trx_burst_if.h" |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 76 | %} |
| 77 | |
Piotr Krysik | bb961c1 | 2017-08-24 15:35:42 +0200 | [diff] [blame] | 78 | %include "constants.i" |
| 79 | |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 80 | %include "grgsm/receiver/receiver.h" |
| 81 | GR_SWIG_BLOCK_MAGIC2(gsm, receiver); |
ptrkrysik | f8c7e83 | 2015-04-04 12:28:20 +0200 | [diff] [blame] | 82 | %include "grgsm/receiver/clock_offset_control.h" |
| 83 | GR_SWIG_BLOCK_MAGIC2(gsm, clock_offset_control); |
rpp | 4f0f3b5 | 2015-06-10 10:23:30 +0200 | [diff] [blame] | 84 | %include "grgsm/receiver/cx_channel_hopper.h" |
| 85 | GR_SWIG_BLOCK_MAGIC2(gsm, cx_channel_hopper); |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 86 | |
| 87 | %include "grgsm/decoding/control_channels_decoder.h" |
| 88 | GR_SWIG_BLOCK_MAGIC2(gsm, control_channels_decoder); |
Roman Khassraf | 059bab9 | 2015-05-20 12:49:46 +0200 | [diff] [blame] | 89 | %include "grgsm/decoding/tch_f_decoder.h" |
| 90 | GR_SWIG_BLOCK_MAGIC2(gsm, tch_f_decoder); |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 91 | |
ptrkrysik | 18b631e | 2014-12-15 09:09:18 +0100 | [diff] [blame] | 92 | %include "grgsm/decryption/decryption.h" |
| 93 | GR_SWIG_BLOCK_MAGIC2(gsm, decryption); |
| 94 | |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 95 | %include "grgsm/demapping/universal_ctrl_chans_demapper.h" |
| 96 | GR_SWIG_BLOCK_MAGIC2(gsm, universal_ctrl_chans_demapper); |
Roman Khassraf | fb6bc50 | 2015-04-14 15:44:40 +0200 | [diff] [blame] | 97 | %include "grgsm/demapping/tch_f_chans_demapper.h" |
| 98 | GR_SWIG_BLOCK_MAGIC2(gsm, tch_f_chans_demapper); |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 99 | |
Vadim Yanitskiy | 04536ab | 2017-07-21 10:59:51 +0700 | [diff] [blame] | 100 | %include "grgsm/flow_control/common.h" |
Roman Khassraf | dbc3a50 | 2015-08-03 23:20:20 +0200 | [diff] [blame] | 101 | %include "grgsm/flow_control/burst_timeslot_splitter.h" |
| 102 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_timeslot_splitter); |
Roman Khassraf | a1eb188 | 2015-08-05 12:30:29 +0200 | [diff] [blame] | 103 | %include "grgsm/flow_control/burst_sdcch_subslot_splitter.h" |
| 104 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_sdcch_subslot_splitter); |
Roman Khassraf | d7e3eec | 2015-08-06 11:54:22 +0200 | [diff] [blame] | 105 | %include "grgsm/flow_control/burst_timeslot_filter.h" |
| 106 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_timeslot_filter); |
Roman Khassraf | 8b64d87 | 2015-08-06 17:30:04 +0200 | [diff] [blame] | 107 | %include "grgsm/flow_control/burst_sdcch_subslot_filter.h" |
| 108 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_sdcch_subslot_filter); |
Roman Khassraf | 8e3b0ec | 2015-08-04 11:16:04 +0200 | [diff] [blame] | 109 | %include "grgsm/flow_control/burst_fnr_filter.h" |
| 110 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_fnr_filter); |
Piotr Krysik | acc365f | 2017-11-07 19:31:42 +0100 | [diff] [blame] | 111 | %include "grgsm/flow_control/burst_type_filter.h" |
| 112 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_type_filter); |
Roman Khassraf | 7cccb52 | 2015-08-04 12:26:54 +0200 | [diff] [blame] | 113 | %include "grgsm/flow_control/dummy_burst_filter.h" |
| 114 | GR_SWIG_BLOCK_MAGIC2(gsm, dummy_burst_filter); |
Piotr Krysik | a3405b2 | 2016-08-30 21:31:24 +0200 | [diff] [blame] | 115 | %include "grgsm/flow_control/uplink_downlink_splitter.h" |
Piotr Krysik | 264fbf6 | 2017-11-05 12:25:51 +0100 | [diff] [blame] | 116 | GR_SWIG_BLOCK_MAGIC2(gsm, uplink_downlink_splitter); |
Piotr Krysik | a3405b2 | 2016-08-30 21:31:24 +0200 | [diff] [blame] | 117 | |
Roman Khassraf | dbc3a50 | 2015-08-03 23:20:20 +0200 | [diff] [blame] | 118 | |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 119 | %include "grgsm/misc_utils/bursts_printer.h" |
| 120 | GR_SWIG_BLOCK_MAGIC2(gsm, bursts_printer); |
Roman Khassraf | 1c3419e | 2015-08-03 10:58:57 +0200 | [diff] [blame] | 121 | %include "grgsm/misc_utils/burst_file_sink.h" |
| 122 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_file_sink); |
| 123 | %include "grgsm/misc_utils/burst_file_source.h" |
| 124 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_file_source); |
Roman Khassraf | 98581a8 | 2017-01-11 12:50:38 +0100 | [diff] [blame] | 125 | %include "grgsm/misc_utils/collect_system_info.h" |
| 126 | GR_SWIG_BLOCK_MAGIC2(gsm, collect_system_info); |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 127 | %include "grgsm/misc_utils/extract_system_info.h" |
| 128 | GR_SWIG_BLOCK_MAGIC2(gsm, extract_system_info); |
Roman Khassraf | 5bd14f2 | 2015-06-24 17:59:13 +0200 | [diff] [blame] | 129 | %include "grgsm/misc_utils/extract_immediate_assignment.h" |
| 130 | GR_SWIG_BLOCK_MAGIC2(gsm, extract_immediate_assignment); |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 131 | %include "grgsm/misc_utils/controlled_rotator_cc.h" |
| 132 | GR_SWIG_BLOCK_MAGIC2(gsm, controlled_rotator_cc); |
ptrkrysik | 3be74a7 | 2014-12-13 10:11:00 +0100 | [diff] [blame] | 133 | %include "grgsm/misc_utils/message_printer.h" |
| 134 | GR_SWIG_BLOCK_MAGIC2(gsm, message_printer); |
ptrkrysik | 8984758 | 2015-01-15 11:48:20 +0100 | [diff] [blame] | 135 | %include "grgsm/misc_utils/tmsi_dumper.h" |
| 136 | GR_SWIG_BLOCK_MAGIC2(gsm, tmsi_dumper); |
Roman Khassraf | c323454 | 2015-08-03 16:17:46 +0200 | [diff] [blame] | 137 | %include "grgsm/misc_utils/message_file_sink.h" |
| 138 | GR_SWIG_BLOCK_MAGIC2(gsm, message_file_sink); |
| 139 | %include "grgsm/misc_utils/message_file_source.h" |
| 140 | GR_SWIG_BLOCK_MAGIC2(gsm, message_file_source); |
Piotr Krysik | 89ff899 | 2016-07-18 10:24:35 +0200 | [diff] [blame] | 141 | %include "grgsm/misc_utils/msg_to_tag.h" |
| 142 | GR_SWIG_BLOCK_MAGIC2(gsm, msg_to_tag); |
| 143 | %include "grgsm/misc_utils/controlled_fractional_resampler_cc.h" |
| 144 | GR_SWIG_BLOCK_MAGIC2(gsm, controlled_fractional_resampler_cc); |
Roman Khassraf | e5ddab3 | 2016-12-04 16:19:40 +0100 | [diff] [blame] | 145 | %include "grgsm/misc_utils/extract_cmc.h" |
| 146 | GR_SWIG_BLOCK_MAGIC2(gsm, extract_cmc); |
Vadim Yanitskiy | e601c36 | 2017-10-17 08:24:25 +0700 | [diff] [blame] | 147 | %include "grgsm/misc_utils/trx_burst_if.h" |
| 148 | GR_SWIG_BLOCK_MAGIC2(gsm, trx_burst_if); |
Piotr Krysik | 89ff899 | 2016-07-18 10:24:35 +0200 | [diff] [blame] | 149 | |
Roman Khassraf | b8f4909 | 2015-08-03 10:08:18 +0200 | [diff] [blame] | 150 | |
Roman Khassraf | 1ce4469 | 2015-08-03 11:16:10 +0200 | [diff] [blame] | 151 | %include "grgsm/qa_utils/burst_sink.h" |
| 152 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_sink); |
| 153 | %include "grgsm/qa_utils/burst_source.h" |
| 154 | GR_SWIG_BLOCK_MAGIC2(gsm, burst_source); |
Roman Khassraf | b8f4909 | 2015-08-03 10:08:18 +0200 | [diff] [blame] | 155 | %include "grgsm/qa_utils/message_source.h" |
Roman Khassraf | adea86f | 2015-07-27 15:52:02 +0200 | [diff] [blame] | 156 | GR_SWIG_BLOCK_MAGIC2(gsm, message_source); |
Roman Khassraf | b8f4909 | 2015-08-03 10:08:18 +0200 | [diff] [blame] | 157 | %include "grgsm/qa_utils/message_sink.h" |
Roman Khassraf | 1e82b8d | 2015-07-29 11:01:34 +0200 | [diff] [blame] | 158 | GR_SWIG_BLOCK_MAGIC2(gsm, message_sink); |
Piotr Krysik | d32ba5b | 2017-11-03 09:58:13 +0100 | [diff] [blame] | 159 | |
| 160 | //#pragma SWIG nowarn=319 |
Piotr Krysik | 1dd2afe | 2017-10-31 12:57:26 +0100 | [diff] [blame] | 161 | //%include "grgsm/misc_utils/time_spec.h" |
Piotr Krysik | d32ba5b | 2017-11-03 09:58:13 +0100 | [diff] [blame] | 162 | |
| 163 | //%extend gr::gsm::time_spec_t{ |
| 164 | // gr::gsm::time_spec_t __add__(const gr::gsm::time_spec_t &what) |
| 165 | // { |
| 166 | // gr::gsm::time_spec_t temp = *self; |
| 167 | // temp += what; |
| 168 | // return temp; |
| 169 | // } |
| 170 | // gr::gsm::time_spec_t __sub__(const gr::gsm::time_spec_t &what) |
| 171 | // { |
| 172 | // gr::gsm::time_spec_t temp = *self; |
| 173 | // temp -= what; |
| 174 | // return temp; |
| 175 | // } |
| 176 | // bool __eq__(const gr::gsm::time_spec_t &what) |
| 177 | // { |
| 178 | // return (what == *self); |
| 179 | // } |
| 180 | //}; |
| 181 | |
Piotr Krysik | 6e41d06 | 2017-11-03 09:56:49 +0100 | [diff] [blame] | 182 | %include "grgsm/misc_utils/fn_time.h" |
Piotr Krysik | 264fbf6 | 2017-11-05 12:25:51 +0100 | [diff] [blame] | 183 | |
Piotr Krysik | 517464c | 2017-11-05 12:23:15 +0100 | [diff] [blame] | 184 | %include "grgsm/transmitter/txtime_setter.h" |
| 185 | GR_SWIG_BLOCK_MAGIC2(gsm, txtime_setter); |
Piotr Krysik | ccb5e68 | 2017-11-07 19:34:22 +0100 | [diff] [blame] | 186 | %include "grgsm/transmitter/preprocess_tx_burst.h" |
| 187 | GR_SWIG_BLOCK_MAGIC2(gsm, preprocess_tx_burst); |