def setUp (self): self.tb = gr.top_block () self.c = phy(slow_rate=True) self.dqcsk_mapper = ieee802_15_4.dqcsk_mapper_fc(self.c.chirp_seq, self.c.time_gap_1, self.c.time_gap_2, c.n_sub, self.c.n_subchirps) self.dqcsk_demapper = ieee802_15_4.dqcsk_demapper_cc(self.c.chirp_seq, self.c.time_gap_1, self.c.time_gap_2, c.n_sub, self.c.n_subchirps) self.dqpsk_mapper = ieee802_15_4.dqpsk_mapper_ff(framelen=self.c.nsym_frame, forward=True) self.dqpsk_demapper = ieee802_15_4.dqpsk_soft_demapper_cc(framelen=self.c.nsym_frame) self.qpsk_mapper = ieee802_15_4.qpsk_mapper_if() self.qpsk_demapper = ieee802_15_4.qpsk_demapper_fi() self.preamble_sfd_prefixer_I = ieee802_15_4.preamble_sfd_prefixer_ii(self.c.preamble, self.c.SFD, self.c.nsym_frame) self.preamble_sfd_removal_I = blocks.keep_m_in_n(gr.sizeof_int, self.c.nsym_frame - len(self.c.preamble) - len(self.c.SFD), self.c.nsym_frame, len(self.c.preamble)+len(self.c.SFD)) self.preamble_sfd_prefixer_Q = ieee802_15_4.preamble_sfd_prefixer_ii(self.c.preamble, self.c.SFD, self.c.nsym_frame) self.preamble_sfd_removal_Q = blocks.keep_m_in_n(gr.sizeof_int, self.c.nsym_frame - len(self.c.preamble) - len(self.c.SFD), self.c.nsym_frame, len(self.c.preamble)+len(self.c.SFD)) self.interleaver_I = ieee802_15_4.interleaver_ii(self.c.intlv_seq, forward=True) self.interleaver_Q = ieee802_15_4.interleaver_ii(self.c.intlv_seq, forward=True) self.deinterleaver_I = ieee802_15_4.interleaver_ii(self.c.intlv_seq, forward=False) self.deinterleaver_Q = ieee802_15_4.interleaver_ii(self.c.intlv_seq, forward=False) self.codeword_mapper_I = ieee802_15_4.codeword_mapper_bi(self.c.bits_per_symbol, self.c.codewords) self.codeword_mapper_Q = ieee802_15_4.codeword_mapper_bi(self.c.bits_per_symbol, self.c.codewords) self.codeword_demapper_I = ieee802_15_4.codeword_demapper_ib(self.c.bits_per_symbol, self.c.codewords) self.codeword_demapper_Q = ieee802_15_4.codeword_demapper_ib(self.c.bits_per_symbol, self.c.codewords) self.demux = blocks.deinterleave(gr.sizeof_char*1,1) self.mux = blocks.interleave(gr.sizeof_char*1,1) self.zeropadding = ieee802_15_4.zeropadding_b(self.c.padded_zeros) self.zeropadding_removal = ieee802_15_4.zeropadding_removal_b(self.c.phy_packetsize_bytes*8+len(self.c.PHR), self.c.padded_zeros) self.phr_prefixer = ieee802_15_4.phr_prefixer(self.c.PHR) self.phr_removal = ieee802_15_4.phr_removal(self.c.PHR) self.fragmentation = ieee802_15_4.fragmentation(self.c.phy_packetsize_bytes)
def setUp (self): self.tb = gr.top_block () self.c = phy(slow_rate=True) self.dqcsk_mapper = ieee802_15_4.dqcsk_mapper_fc(self.c.chirp_seq, self.c.time_gap_1, self.c.time_gap_2, c.n_sub, self.c.n_subchirps) self.dqcsk_demapper = ieee802_15_4.dqcsk_demapper_cf(self.c.chirp_seq, self.c.time_gap_1, self.c.time_gap_2, c.n_sub, self.c.n_subchirps) self.dqpsk_mapper = ieee802_15_4.dqpsk_mapper_ff(framelen=self.c.nsym_frame, forward=True) self.dqpsk_demapper = ieee802_15_4.dqpsk_mapper_ff(framelen=self.c.nsym_frame, forward=False) self.qpsk_mapper = ieee802_15_4.qpsk_mapper_if() self.qpsk_demapper = ieee802_15_4.qpsk_demapper_fi() self.preamble_sfd_prefixer_I = ieee802_15_4.preamble_sfd_prefixer_ii(self.c.preamble, self.c.SFD, self.c.nsym_frame) self.preamble_sfd_removal_I = blocks.keep_m_in_n(gr.sizeof_int, self.c.nsym_frame - len(self.c.preamble) - len(self.c.SFD), self.c.nsym_frame, len(self.c.preamble)+len(self.c.SFD)) self.preamble_sfd_prefixer_Q = ieee802_15_4.preamble_sfd_prefixer_ii(self.c.preamble, self.c.SFD, self.c.nsym_frame) self.preamble_sfd_removal_Q = blocks.keep_m_in_n(gr.sizeof_int, self.c.nsym_frame - len(self.c.preamble) - len(self.c.SFD), self.c.nsym_frame, len(self.c.preamble)+len(self.c.SFD)) self.interleaver_I = ieee802_15_4.interleaver_ii(self.c.intlv_seq, forward=True) self.interleaver_Q = ieee802_15_4.interleaver_ii(self.c.intlv_seq, forward=True) self.deinterleaver_I = ieee802_15_4.interleaver_ii(self.c.intlv_seq, forward=False) self.deinterleaver_Q = ieee802_15_4.interleaver_ii(self.c.intlv_seq, forward=False) self.codeword_mapper_I = ieee802_15_4.codeword_mapper_bi(self.c.bits_per_symbol, self.c.codewords) self.codeword_mapper_Q = ieee802_15_4.codeword_mapper_bi(self.c.bits_per_symbol, self.c.codewords) self.codeword_demapper_I = ieee802_15_4.codeword_demapper_ib(self.c.bits_per_symbol, self.c.codewords) self.codeword_demapper_Q = ieee802_15_4.codeword_demapper_ib(self.c.bits_per_symbol, self.c.codewords) self.demux = blocks.deinterleave(gr.sizeof_char*1,1) self.mux = blocks.interleave(gr.sizeof_char*1,1) self.zeropadding = ieee802_15_4.zeropadding_b(self.c.padded_zeros) self.zeropadding_removal = ieee802_15_4.zeropadding_removal_b(self.c.phy_packetsize_bytes*8+len(self.c.PHR), self.c.padded_zeros) self.phr_prefixer = ieee802_15_4.phr_prefixer(self.c.PHR) self.phr_removal = ieee802_15_4.phr_removal(self.c.PHR) self.fragmentation = ieee802_15_4.fragmentation(self.c.phy_packetsize_bytes)
def test_001_t (self): # set up fg self.src = blocks.vector_source_b(range(12), False, 1, []) self.s2ts = blocks.stream_to_tagged_stream(gr.sizeof_char, 1, 4, "packet_len") self.ts2pdu = blocks.tagged_stream_to_pdu(blocks.byte_t, "packet_len") self.zeropadding = ieee802_15_4.zeropadding_b(2) self.snk = blocks.vector_sink_b(1) self.tb.connect(self.src, self.s2ts, self.ts2pdu) self.tb.msg_connect(self.ts2pdu, "pdus", self.zeropadding, "in") self.tb.connect(self.zeropadding, self.snk) self.tb.start() time.sleep(1) self.tb.stop() # check data data = self.snk.data() self.assertFloatTuplesAlmostEqual(data, (0,1,2,3,0,0,4,5,6,7,0,0,8,9,10,11,0,0))
def test_001_t(self): # set up fg self.src = blocks.vector_source_b(range(12), False, 1, []) self.s2ts = blocks.stream_to_tagged_stream(gr.sizeof_char, 1, 4, "packet_len") self.ts2pdu = blocks.tagged_stream_to_pdu(blocks.byte_t, "packet_len") self.zeropadding = ieee802_15_4.zeropadding_b(2) self.snk = blocks.vector_sink_b(1) self.tb.connect(self.src, self.s2ts, self.ts2pdu) self.tb.msg_connect(self.ts2pdu, "pdus", self.zeropadding, "in") self.tb.connect(self.zeropadding, self.snk) self.tb.start() time.sleep(1) self.tb.stop() # check data data = self.snk.data() self.assertFloatTuplesAlmostEqual( data, (0, 1, 2, 3, 0, 0, 4, 5, 6, 7, 0, 0, 8, 9, 10, 11, 0, 0))