def sacch_hr_test(self, ts, sub, frames, bursts): timeslots = [ts, ts, ts, ts, ts, ts, ts, ts] src = grgsm.burst_source(frames, timeslots, bursts) demapper = grgsm.tch_h_chans_demapper(ts, sub) tch = grgsm.burst_sink() acch = grgsm.burst_sink() self.tb.msg_connect(src, "out", demapper, "bursts") self.tb.msg_connect(demapper, "tch_bursts", tch, "in") self.tb.msg_connect(demapper, "acch_bursts", acch, "in") self.tb.run() self.assertEqual([], list(tch.get_burst_data())) return list(acch.get_burst_data())
def test_hr_demapper_sub0(self): """ TCH/F Half Rate demapper sub-channel 0 """ frames = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ] timeslots = [ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ] b = self.bursts bursts = [ b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8], b[9], b[10], b[11], b[12], #12 - sacch b[13], b[14], b[15], b[16], b[17], b[18], b[19], b[20], b[21], b[22], b[23], b[24], b[25], #25 - idle b[26], b[27], b[28], b[29], b[30] ] src = grgsm.burst_source(frames, timeslots, bursts) demapper = grgsm.tch_h_chans_demapper(3, 0) tch = grgsm.burst_sink() acch = grgsm.burst_sink() self.tb.msg_connect(src, "out", demapper, "bursts") self.tb.msg_connect(demapper, "tch_bursts", tch, "in") self.tb.msg_connect(demapper, "acch_bursts", acch, "in") self.tb.run() self.assertEqual([ b[0], b[2], b[4], b[6], b[4], b[6], b[8], b[10], b[8], b[10], b[13], b[15], b[13], b[15], b[17], b[19], b[17], b[19], b[21], b[23], b[21], b[23], b[26], b[28], ], list(tch.get_burst_data())) self.assertEqual([], list(acch.get_burst_data()))