Big change of the universal control channels demapper:
-simplification of the universal demapper,
-addition of hierarhical blocks for each of the demappers - so they also look well and readable in python,
-addition of helper script for compilation of the demappers.
diff --git a/lib/demapping/universal_ctrl_chans_demapper_impl.h b/lib/demapping/universal_ctrl_chans_demapper_impl.h
index 0316bf4..9545ab6 100644
--- a/lib/demapping/universal_ctrl_chans_demapper_impl.h
+++ b/lib/demapping/universal_ctrl_chans_demapper_impl.h
@@ -29,23 +29,28 @@
namespace gr {
namespace gsm {
+ typedef enum {downlink=0,uplink=1} um_radio_link_direction;
class universal_ctrl_chans_demapper_impl : public universal_ctrl_chans_demapper
{
private:
- unsigned int d_downlink_starts_fn_mod51[51];
- unsigned int d_uplink_starts_fn_mod51[51];
- unsigned int d_downlink_channel_types[51];
- unsigned int d_uplink_channel_types[51];
- unsigned int d_downlink_subslots[102];
- unsigned int d_uplink_subslots[102];
- unsigned int d_timeslot;
- uint32_t d_downlink_frame_numbers[4];
- uint32_t d_uplink_frame_numbers[4];
- pmt::pmt_t d_downlink_bursts[4];
- pmt::pmt_t d_uplink_bursts[4];
+ //configuration of the block
+ unsigned int d_timeslot_nr;
+ std::vector<int> d_downlink_starts_fn_mod51;
+ std::vector<int> d_downlink_channel_types;
+ std::vector<int> d_downlink_subslots;
+
+ std::vector<int> d_uplink_starts_fn_mod51;
+ std::vector<int> d_uplink_channel_types;
+ std::vector<int> d_uplink_subslots;
+
+ //history of the downlink and uplink bursts
+ uint32_t d_downlink_frame_numbers[4];
+ pmt::pmt_t d_downlink_bursts[4];
+ uint32_t d_uplink_frame_numbers[4];
+ pmt::pmt_t d_uplink_bursts[4];
public:
- universal_ctrl_chans_demapper_impl(unsigned int timeslot_nr, const std::vector<int> &downlink_starts_fn_mod51, const std::vector<int> &downlink_channel_types, const std::vector<int> &uplink_starts_fn_mod51, const std::vector<int> &uplink_channel_types);
- ~universal_ctrl_chans_demapper_impl();
+ universal_ctrl_chans_demapper_impl(unsigned int timeslot_nr, const std::vector<int> &downlink_starts_fn_mod51, const std::vector<int> &downlink_channel_types, const std::vector<int> &downlink_subslots, const std::vector<int> &uplink_starts_fn_mod51, const std::vector<int> &uplink_channel_types, const std::vector<int> &uplink_subslots);
+ ~universal_ctrl_chans_demapper_impl();
void filter_ctrl_chans(pmt::pmt_t msg);
};