def __init__(self, timeslot, burst_file, mode, show_gprs): gr.top_block.__init__(self, "Top Block") self.gsm_burst_file_source = grgsm.burst_file_source(burst_file) self.gsm_burst_timeslot_filter = grgsm.burst_timeslot_filter(timeslot) if mode == 'BCCH_SDCCH4': self.demapper = grgsm.gsm_bcch_ccch_sdcch4_demapper( timeslot_nr=timeslot, ) else: self.demapper = grgsm.gsm_sdcch8_demapper(timeslot_nr=timeslot, ) self.gsm_control_channels_decoder = grgsm.control_channels_decoder() self.gsm_extract_cmc = grgsm.extract_cmc() self.gsm_extract_immediate_assignment = grgsm.extract_immediate_assignment( False, not show_gprs, True) self.gsm_extract_system_info = grgsm.extract_system_info() self.msg_connect((self.gsm_burst_file_source, 'out'), (self.gsm_burst_timeslot_filter, 'in')) self.msg_connect((self.gsm_burst_timeslot_filter, 'out'), (self.demapper, 'bursts')) self.msg_connect((self.demapper, 'bursts'), (self.gsm_control_channels_decoder, 'bursts')) self.msg_connect((self.gsm_control_channels_decoder, 'msgs'), (self.gsm_extract_cmc, 'msgs')) self.msg_connect((self.gsm_control_channels_decoder, 'msgs'), (self.gsm_extract_immediate_assignment, 'msgs')) self.msg_connect((self.gsm_control_channels_decoder, 'msgs'), (self.gsm_extract_system_info, 'msgs'))
def __init__(self, burst_file, timeslot, mode, framenumber): gr.top_block.__init__(self, "Top Block") self.burst_file_source = grgsm.burst_file_source(burst_file) self.timeslot_filter = grgsm.burst_timeslot_filter(timeslot) self.fnr_filter_start = grgsm.burst_fnr_filter( grgsm.FILTER_GREATER_OR_EQUAL, framenumber) if mode == 'BCCH_SDCCH4': self.demapper = grgsm.gsm_bcch_ccch_sdcch4_demapper( timeslot_nr=timeslot, ) else: self.demapper = grgsm.gsm_sdcch8_demapper(timeslot_nr=timeslot, ) self.decoder = grgsm.control_channels_decoder() self.extract_immediate_assignment = grgsm.extract_immediate_assignment( ) self.msg_connect((self.burst_file_source, 'out'), (self.timeslot_filter, 'in')) self.msg_connect((self.timeslot_filter, 'out'), (self.fnr_filter_start, 'in')) self.msg_connect((self.fnr_filter_start, 'out'), (self.demapper, 'bursts')) self.msg_connect((self.demapper, 'bursts'), (self.decoder, 'bursts')) self.msg_connect((self.decoder, 'msgs'), (self.extract_immediate_assignment, 'msgs'))