def __init__(self, ampl=0.7, args='', arq_timeout=.1*0 + 0.04, dest_addr=-1, iface='tun0', max_arq_attempts=5 * 2, mtu=128, ogradio_addr=0, ogrx_freq=915e6, ogtx_freq=915e6, port="12345", rate=1e6, rx_antenna="TX/RX", rx_gain=65-20, rx_lo_offset=0, samps_per_sym=4, tx_gain=45, tx_lo_offset=0): grc_wxgui.top_block_gui.__init__(self, title="Broadcastwithfreqandmac") self._lock = threading.RLock() ################################################## # Parameters ################################################## self.ampl = ampl self.args = args self.arq_timeout = arq_timeout self.dest_addr = dest_addr self.iface = iface self.max_arq_attempts = max_arq_attempts self.mtu = mtu self.ogradio_addr = ogradio_addr self.ogrx_freq = ogrx_freq self.ogtx_freq = ogtx_freq self.port = port self.rate = rate self.rx_antenna = rx_antenna self.rx_gain = rx_gain self.rx_lo_offset = rx_lo_offset self.samps_per_sym = samps_per_sym self.tx_gain = tx_gain self.tx_lo_offset = tx_lo_offset ################################################## # Variables ################################################## self.user_tx_gain = user_tx_gain = tx_gain self.user_rx_gain = user_rx_gain = rx_gain self.tx_freq = tx_freq = 915e6 self.samp_rate = samp_rate = rate self.rx_freq = rx_freq = 915e6 self.radio_addr = radio_addr = 84 ################################################## # Blocks ################################################## _user_tx_gain_sizer = wx.BoxSizer(wx.VERTICAL) self._user_tx_gain_text_box = forms.text_box( parent=self.GetWin(), sizer=_user_tx_gain_sizer, value=self.user_tx_gain, callback=self.set_user_tx_gain, label="TX Gain", converter=forms.float_converter(), proportion=0, ) self._user_tx_gain_slider = forms.slider( parent=self.GetWin(), sizer=_user_tx_gain_sizer, value=self.user_tx_gain, callback=self.set_user_tx_gain, minimum=0, maximum=90, num_steps=90, style=wx.SL_HORIZONTAL, cast=float, proportion=1, ) self.Add(_user_tx_gain_sizer) _user_rx_gain_sizer = wx.BoxSizer(wx.VERTICAL) self._user_rx_gain_text_box = forms.text_box( parent=self.GetWin(), sizer=_user_rx_gain_sizer, value=self.user_rx_gain, callback=self.set_user_rx_gain, label="RX Gain", converter=forms.float_converter(), proportion=0, ) self._user_rx_gain_slider = forms.slider( parent=self.GetWin(), sizer=_user_rx_gain_sizer, value=self.user_rx_gain, callback=self.set_user_rx_gain, minimum=0, maximum=90, num_steps=90, style=wx.SL_HORIZONTAL, cast=float, proportion=1, ) self.Add(_user_rx_gain_sizer) self._tx_freq_text_box = forms.text_box( parent=self.GetWin(), value=self.tx_freq, callback=self.set_tx_freq, label='tx_freq', converter=forms.float_converter(), ) self.Add(self._tx_freq_text_box) self._rx_freq_text_box = forms.text_box( parent=self.GetWin(), value=self.rx_freq, callback=self.set_rx_freq, label='rx_freq', converter=forms.float_converter(), ) self.Add(self._rx_freq_text_box) self._radio_addr_text_box = forms.text_box( parent=self.GetWin(), value=self.radio_addr, callback=self.set_radio_addr, label="Local address", converter=forms.int_converter(), ) self.Add(self._radio_addr_text_box) self.mac_802_3_tracker = mac.tracker_802_3(verbose=False) self.wxgui_scopesink2_0_0 = scopesink2.scope_sink_c( self.GetWin(), title="RX", sample_rate=samp_rate, v_scale=0.02, v_offset=0, t_scale=0.0001, ac_couple=False, xy_mode=False, num_inputs=2, trig_mode=wxgui.TRIG_MODE_NORM, y_axis_label="Counts", ) self.GridAdd(self.wxgui_scopesink2_0_0.win, 0, 0, 1, 1) self.simple_mac_1 = mac.simple_mac( radio_addr, arq_timeout, max_arq_attempts, 2.0, False, 0.05, node_expiry_delay=10.0, expire_on_arq_failure=False, only_send_if_alive=False, prepend_dummy=False, ) self.mac_virtual_channel_encoder_0_0 = mac.virtual_channel_encoder(-1, True,mtu=mtu, chan_id=1, prepend_dummy=False, chan_tracker=self.mac_802_3_tracker, ) self.mac_virtual_channel_encoder_0 = mac.virtual_channel_encoder(-1, True,mtu=mtu, chan_id=0, prepend_dummy=False, ) self.mac_virtual_channel_decoder_0 = mac.virtual_channel_decoder(3, [0, 1]) self.gmsk_radio_0 = gmsk_radio( access_code_threshold=0 + 12 + 4*0, samps_per_sym=samps_per_sym, tx_lo_offset=tx_lo_offset, rx_lo_offset=rx_lo_offset, ampl=ampl, rx_gain=user_rx_gain, rx_freq=rx_freq, rx_ant=rx_antenna, tx_freq=tx_freq, tx_gain=user_tx_gain, args=args, rate=samp_rate, ) self.blocks_tuntap_pdu_0 = blocks.tuntap_pdu(iface, mtu*0 + 1514, False) self.blocks_socket_pdu_0 = blocks.socket_pdu("TCP_SERVER", "", port, mtu, False) self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vff((1, )) self.blocks_moving_average_xx_0 = blocks.moving_average_ff(10000, 1./10000, 40000/4) self.blocks_message_strobe_0 = blocks.message_strobe(pmt.intern("T"), 1) self.blocks_message_debug_0_0_1 = blocks.message_debug() self.blocks_float_to_complex_0 = blocks.float_to_complex(1) self.blocks_complex_to_mag_0 = blocks.complex_to_mag(1) ################################################## # Connections ################################################## self.msg_connect((self.blocks_message_strobe_0, 'strobe'), (self.simple_mac_1, 'ctrl_in')) self.msg_connect((self.blocks_socket_pdu_0, 'pdus'), (self.mac_virtual_channel_encoder_0, 'in')) self.msg_connect((self.blocks_tuntap_pdu_0, 'pdus'), (self.mac_virtual_channel_encoder_0_0, 'in')) self.msg_connect((self.gmsk_radio_0, 'msg_out'), (self.simple_mac_1, 'from_radio')) self.msg_connect((self.mac_virtual_channel_decoder_0, 'out2'), (self.blocks_message_debug_0_0_1, 'print')) self.msg_connect((self.mac_virtual_channel_decoder_0, 'out0'), (self.blocks_socket_pdu_0, 'pdus')) self.msg_connect((self.mac_virtual_channel_decoder_0, 'out1'), (self.blocks_tuntap_pdu_0, 'pdus')) self.msg_connect((self.mac_virtual_channel_decoder_0, 'out1'), (self.mac_802_3_tracker, 'in')) self.msg_connect((self.mac_virtual_channel_encoder_0, 'out'), (self.simple_mac_1, 'from_app_arq')) self.msg_connect((self.mac_virtual_channel_encoder_0_0, 'out'), (self.simple_mac_1, 'from_app_arq')) self.msg_connect((self.simple_mac_1, 'to_radio'), (self.gmsk_radio_0, 'msg_in')) self.msg_connect((self.simple_mac_1, 'to_app'), (self.mac_virtual_channel_decoder_0, 'in')) self.connect((self.blocks_complex_to_mag_0, 0), (self.blocks_float_to_complex_0, 0)) self.connect((self.blocks_complex_to_mag_0, 0), (self.blocks_moving_average_xx_0, 0)) self.connect((self.blocks_float_to_complex_0, 0), (self.wxgui_scopesink2_0_0, 1)) self.connect((self.blocks_moving_average_xx_0, 0), (self.blocks_multiply_const_vxx_0, 0)) self.connect((self.blocks_multiply_const_vxx_0, 0), (self.blocks_float_to_complex_0, 1)) self.connect((self.gmsk_radio_0, 0), (self.blocks_complex_to_mag_0, 0)) self.connect((self.gmsk_radio_0, 0), (self.wxgui_scopesink2_0_0, 0))
def __init__(self, ampl=0.7, args='', arq_timeout=.1*0 + 0.04, dest_addr=-1, iface='tun0', max_arq_attempts=5 * 2, mtu=128, port="12345", rx_antenna="TX/RX", rx_gain=65-20, rx_lo_offset=0, samps_per_sym=4, tx_gain=45, tx_lo_offset=0, radio_addr=63, rx_freq=915e6, tx_freq=915e6, rate=1e6): gr.top_block.__init__(self, "Broadcasfandmnogui") self._lock = threading.RLock() ################################################## # Parameters ################################################## self.ampl = ampl self.args = args self.arq_timeout = arq_timeout self.dest_addr = dest_addr self.iface = iface self.max_arq_attempts = max_arq_attempts self.mtu = mtu self.port = port self.rx_antenna = rx_antenna self.rx_gain = rx_gain self.rx_lo_offset = rx_lo_offset self.samps_per_sym = samps_per_sym self.tx_gain = tx_gain self.tx_lo_offset = tx_lo_offset self.radio_addr = radio_addr self.rx_freq = rx_freq self.tx_freq = tx_freq self.rate = rate ################################################## # Variables ################################################## self.samp_rate = samp_rate = rate ################################################## # Blocks ################################################## self.mac_802_3_tracker = mac.tracker_802_3(verbose=False) self.simple_mac_1 = mac.simple_mac( radio_addr, arq_timeout, max_arq_attempts, 2.0, False, 0.05, node_expiry_delay=10.0, expire_on_arq_failure=False, only_send_if_alive=False, prepend_dummy=False, ) self.mac_virtual_channel_encoder_0_0 = mac.virtual_channel_encoder(-1, True,mtu=mtu, chan_id=1, prepend_dummy=False, chan_tracker=self.mac_802_3_tracker, ) self.mac_virtual_channel_encoder_0 = mac.virtual_channel_encoder(-1, True,mtu=mtu, chan_id=0, prepend_dummy=False, ) self.mac_virtual_channel_decoder_0 = mac.virtual_channel_decoder(3, [0, 1]) self.gmsk_radio_0 = gmsk_radio( rate=samp_rate, args=args, tx_gain=tx_gain, tx_freq=tx_freq, rx_ant=rx_antenna, rx_freq=rx_freq, rx_gain=rx_gain, ampl=ampl, rx_lo_offset=rx_lo_offset, tx_lo_offset=tx_lo_offset, samps_per_sym=samps_per_sym, access_code_threshold=0 + 12 + 4*0, ) self.blocks_tuntap_pdu_0 = blocks.tuntap_pdu(iface, mtu*0 + 1514, False) self.blocks_socket_pdu_0 = blocks.socket_pdu("TCP_SERVER", "", port, mtu, False) self.blocks_message_strobe_0 = blocks.message_strobe(pmt.intern("T"), 1) self.blocks_message_debug_0_0_1 = blocks.message_debug() ################################################## # Connections ################################################## self.msg_connect((self.blocks_message_strobe_0, 'strobe'), (self.simple_mac_1, 'ctrl_in')) self.msg_connect((self.blocks_socket_pdu_0, 'pdus'), (self.mac_virtual_channel_encoder_0, 'in')) self.msg_connect((self.blocks_tuntap_pdu_0, 'pdus'), (self.mac_virtual_channel_encoder_0_0, 'in')) self.msg_connect((self.gmsk_radio_0, 'msg_out'), (self.simple_mac_1, 'from_radio')) self.msg_connect((self.mac_virtual_channel_decoder_0, 'out2'), (self.blocks_message_debug_0_0_1, 'print')) self.msg_connect((self.mac_virtual_channel_decoder_0, 'out0'), (self.blocks_socket_pdu_0, 'pdus')) self.msg_connect((self.mac_virtual_channel_decoder_0, 'out1'), (self.blocks_tuntap_pdu_0, 'pdus')) self.msg_connect((self.mac_virtual_channel_decoder_0, 'out1'), (self.mac_802_3_tracker, 'in')) self.msg_connect((self.mac_virtual_channel_encoder_0, 'out'), (self.simple_mac_1, 'from_app_arq')) self.msg_connect((self.mac_virtual_channel_encoder_0_0, 'out'), (self.simple_mac_1, 'from_app_arq')) self.msg_connect((self.simple_mac_1, 'to_radio'), (self.gmsk_radio_0, 'msg_in')) self.msg_connect((self.simple_mac_1, 'to_app'), (self.mac_virtual_channel_decoder_0, 'in'))