예제 #1
0
    def __init__(self, rate): #TODO pass in chanlist
        gr.hier_block2.__init__(self,
                                "smartnet_ctrl_rx",
                                gr.io_signature(1,1,gr.sizeof_gr_complex),
                                gr.io_signature(0,0,0))

        self.set_assign_callback(None)
        self._queue = gr.msg_queue()
        self._async_sender = gru.msgq_runner(self._queue, self.msg_handler)

        self._syms_per_sec = 3600.
        self._sps = rate / self._syms_per_sec

        self._demod = scanner.fsk_demod(self._sps, 0.1)
        self._sof = digital.correlate_access_code_tag_bb("10101100",
                                                          0,
                                                         "smartnet_preamble")
        self._deinterleave = scanner.deinterleave()
        self._crc = scanner.crc(self._queue)
        self.connect(self, self._demod, self._sof, self._deinterleave, self._crc)
예제 #2
0
    def __init__(self, rate): #TODO pass in chanlist
        gr.hier_block2.__init__(self,
                                "edacs_ctrl_rx",
                                gr.io_signature(1,1,gr.sizeof_gr_complex),
                                gr.io_signature(0,0,0))

        self.set_assign_callback(None)
        self._queue = gr.msg_queue()
        self._async_sender = gru.msgq_runner(self._queue, self.msg_handler)

        self._syms_per_sec = 9600.
        self._sps = rate / self._syms_per_sec

        self._demod = scanner.fsk_demod(self._sps, 0.575)
        self._invert = scanner.invert()
        self._sof = digital.correlate_access_code_tag_bb("010101010101010101010111000100100101010101010101",
                                                          0,
                                                         "edacs_preamble")
        self._rx = scanner.edacs_pkt_rx(self._queue)
        self.connect(self, self._demod, self._invert, self._sof, self._rx)