def build_radio(options): """ @param options """ radio = RadioDevice(name='radio') ############################# # # RX PATH - sensing and packet # ############################# ss_and_rx_source = UHDSource("addr=%s" % options.my_ip) ss_sink = blocks.probe_signal_f() ss_path = EnergySSArch(fft_size=512, mavg_size=5, algorithm=EnergyDecision(th=5.0/10**4)) radio.add_arch(source=ss_and_rx_source, sink=ss_sink, arch=ss_path, name='ss', uhd_device=ss_and_rx_source) pkt_rx_path = PacketGMSKRx(callback=PktQueue()) radio.add_arch(source=ss_and_rx_source, sink=None, arch=pkt_rx_path, name='rx', uhd_device=ss_and_rx_source) ############################# # # TX PATH - packet # ############################# uhd_sink = UHDSink("addr=%s" % options.my_ip) pkt_tx_path = PacketGMSKTx() radio.add_arch(source=None, sink=uhd_sink, arch=pkt_tx_path, name='tx', uhd_device=uhd_sink) radio.set_samp_rate(200e3) return radio