diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2019-01-19 16:52:20 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2019-01-19 18:24:27 +0700 |
commit | cdd0c993d3af1c4096ec4a194b1a877e349e697d (patch) | |
tree | 2bc911d7d1a191b3f6bea50341ea8bc5aeb47f8b /lib/receiver/receiver_impl.cc | |
parent | 588baff6b3d3ab31077f3be25c3e21d4584080ae (diff) |
receiver: add public API for multiframe configurationfixeria/mf_config
Change-Id: I3a4621852baad254f2bd626251fb7958492f0f32
Diffstat (limited to 'lib/receiver/receiver_impl.cc')
-rw-r--r-- | lib/receiver/receiver_impl.cc | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lib/receiver/receiver_impl.cc b/lib/receiver/receiver_impl.cc index ffaf9ee..94ad422 100644 --- a/lib/receiver/receiver_impl.cc +++ b/lib/receiver/receiver_impl.cc @@ -1132,5 +1132,59 @@ namespace gr { d_state = fcch_search; } + + void + receiver_impl::reset_mf_config(void) + { + d_channel_conf.reset_all(); + } + + multiframe_type + receiver_impl::get_mf_type(int tn) + { + return d_channel_conf.get_multiframe_type(tn); + } + + void + receiver_impl::set_mf_type(int tn, multiframe_type type) + { + d_channel_conf.set_multiframe_type(tn, type); + } + + burst_type + receiver_impl::get_mf_burst_type(int tn, unsigned fn) + { + return d_channel_conf.get_single_burst_type(tn, fn); + } + + void + receiver_impl::set_mf_burst_type(int tn, unsigned fn, burst_type type) + { + d_channel_conf.set_single_burst_type(tn, fn, type); + } + + void + receiver_impl::set_mf_burst_type_mod(int tn, int mod, unsigned fn, burst_type type) + { + multiframe_type mf_type; + unsigned i, mf_len; + + mf_type = d_channel_conf.get_multiframe_type(tn); + switch (mf_type) { + case multiframe_51: + mf_len = 51; break; + case multiframe_26: + mf_len = 26; break; + case unknown: + default: + mf_len = 0; break; + } + + for (i = 0; i < mf_len; i++) { + if (i % mod == fn) + d_channel_conf.set_single_burst_type(tn, i, type); + } + } + } /* namespace gsm */ } /* namespace gr */ |