def __init__(self, verbose_mode=True, radio_device_name="/dev/ndr47x", radio_baud_rate=921600, gig_iface_to_use="eth0", coherent_mode=0, num_tuners=1, tuner1_param_list=[False, 900e6, 0], tuner2_param_list=[False, 900e6, 0], tuner3_param_list=[False, 900e6, 0], tuner4_param_list=[False, 900e6, 0], tuner5_param_list=[False, 900e6, 0], tuner6_param_list=[False, 900e6, 0], num_wbddcs=1, wbddc1_param_list=[40001, 0, 0, False, 0e6], wbddc2_param_list=[40002, 0, 0, False, 0e6], wbddc3_param_list=[40003, 0, 0, False, 0e6], wbddc4_param_list=[40004, 0, 0, False, 0e6], wbddc5_param_list=[40005, 0, 0, False, 0e6], wbddc6_param_list=[40006, 0, 0, False, 0e6], tagged=False, ): gr.hier_block2.__init__( self, "[CyberRadio] NDR304 Source", gr.io_signature(0, 0, 0), gr.io_signaturev((6 if coherent_mode & 0x02 > 0 else num_wbddcs) + 1, (6 if coherent_mode & 0x02 > 0 else num_wbddcs) + 1, [gr.sizeof_char*1] + (6 if coherent_mode & 0x02 > 0 else num_wbddcs) * [gr.sizeof_gr_complex*1]), ) self.verbose_mode = verbose_mode self.radio_device_name = radio_device_name self.radio_baud_rate = radio_baud_rate self.gig_iface_to_use = gig_iface_to_use self.coherent_mode = coherent_mode self.tuners_coherent = (self.coherent_mode & 0x01 > 0) self.ddcs_coherent = (self.coherent_mode & 0x02 > 0) self.udp_host_name = CyberRadioDriver.getInterfaceAddresses(self.gig_iface_to_use)[1] self.num_tuners = num_tuners self.tuner1_param_list = tuner1_param_list if not self.tuners_coherent: self.tuner2_param_list = tuner2_param_list self.tuner3_param_list = tuner3_param_list self.tuner4_param_list = tuner4_param_list self.tuner5_param_list = tuner5_param_list self.tuner6_param_list = tuner6_param_list self.num_wbddcs = num_wbddcs self.wbddc1_param_list = wbddc1_param_list if not self.ddcs_coherent: self.wbddc2_param_list = wbddc2_param_list self.wbddc3_param_list = wbddc3_param_list self.wbddc4_param_list = wbddc4_param_list self.wbddc5_param_list = wbddc5_param_list self.wbddc6_param_list = wbddc6_param_list self.tagged = tagged self.CyberRadio_file_like_object_source_0 = CyberRadio.file_like_object_source() self.connect((self.CyberRadio_file_like_object_source_0, 0), (self, 0)) self.CyberRadio_NDR_driver_interface_0 = CyberRadio.NDR_driver_interface( radio_type="ndr304", verbose=verbose_mode, log_file=self.CyberRadio_file_like_object_source_0, connect_mode="tty", dev_name=radio_device_name, baud_rate=radio_baud_rate, ) self.vita_tail_size = self.CyberRadio_NDR_driver_interface_0.getVitaTailSize() self.vita_payload_size = self.CyberRadio_NDR_driver_interface_0.getVitaPayloadSize() self.vita_header_size = self.CyberRadio_NDR_driver_interface_0.getVitaHeaderSize() self.iq_swapped = self.CyberRadio_NDR_driver_interface_0.isIqSwapped() self.byte_swapped = self.CyberRadio_NDR_driver_interface_0.isByteswapped() self._set_coherent_mode(self.coherent_mode) self._set_udp_dest_info() if self.num_tuners >= 1: self._set_tuner_param_list(1, tuner1_param_list) if not self.tuners_coherent: if self.num_tuners >= 2: self._set_tuner_param_list(2, tuner2_param_list) if self.num_tuners >= 3: self._set_tuner_param_list(3, tuner3_param_list) if self.num_tuners >= 4: self._set_tuner_param_list(4, tuner4_param_list) if self.num_tuners >= 5: self._set_tuner_param_list(5, tuner5_param_list) if self.num_tuners >= 6: self._set_tuner_param_list(6, tuner6_param_list) self.wbddc_sources = {} if self.num_wbddcs >= 1: self.CyberRadio_vita_iq_source_wbddc_1 = self._get_configured_wbddc(1, wbddc1_param_list) if self.ddcs_coherent: self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 0), (self, 1)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 1), (self, 2)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 2), (self, 3)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 3), (self, 4)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 4), (self, 5)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 5), (self, 6)) else: self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 0), (self, 1)) self.wbddc_sources[1] = self.CyberRadio_vita_iq_source_wbddc_1 if not self.ddcs_coherent: if self.num_wbddcs >= 2: self.CyberRadio_vita_iq_source_wbddc_2 = self._get_configured_wbddc(2, wbddc2_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_2, 0), (self, 2)) self.wbddc_sources[2] = self.CyberRadio_vita_iq_source_wbddc_2 if self.num_wbddcs >= 3: self.CyberRadio_vita_iq_source_wbddc_3 = self._get_configured_wbddc(3, wbddc3_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_3, 0), (self, 3)) self.wbddc_sources[3] = self.CyberRadio_vita_iq_source_wbddc_3 if self.num_wbddcs >= 4: self.CyberRadio_vita_iq_source_wbddc_4 = self._get_configured_wbddc(4, wbddc4_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_4, 0), (self, 4)) self.wbddc_sources[4] = self.CyberRadio_vita_iq_source_wbddc_4 if self.num_wbddcs >= 5: self.CyberRadio_vita_iq_source_wbddc_5 = self._get_configured_wbddc(5, wbddc5_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_5, 0), (self, 5)) self.wbddc_sources[5] = self.CyberRadio_vita_iq_source_wbddc_5 if self.num_wbddcs >= 6: self.CyberRadio_vita_iq_source_wbddc_6 = self._get_configured_wbddc(6, wbddc6_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_6, 0), (self, 6)) self.wbddc_sources[6] = self.CyberRadio_vita_iq_source_wbddc_6
def __init__( self, radio_type="ndr304", radio_hostname="/dev/ndr47x", radio_port=921600, tuner1_index=-1, tuner1_freq=1e9, tuner1_atten=0, tuner2_index=-1, tuner2_freq=1e9, tuner2_atten=0, ddc1_index=-1, ddc1_wideband=True, ddc1_enable=True, ddc1_vita49_level=3, ddc1_rate_index=0, ddc1_freq=0.0, ddc1_udp_port=40001, ddc1_rf_source=-1, ddc1_data_port=1, ddc2_index=-1, ddc2_wideband=True, ddc2_enable=True, ddc2_vita49_level=3, ddc2_rate_index=0, ddc2_freq=0.0, ddc2_udp_port=40002, ddc2_rf_source=-1, ddc2_data_port=1, cal_freq=0.0, interface_dict={1: 'eth0'}, verbose=True, other_args={}, ): gr.hier_block2.__init__( self, "CyberRadio/NDR_demo_control", gr.io_signature(0, 0, 0), gr.io_signature(1, 1, gr.sizeof_char * 1), ) self.fileLikeObjectSource = CyberRadio.file_like_object_source() self.connect((self.fileLikeObjectSource, 0), (self, 0)) self.init = True self.set_radio_type(radio_type) self.set_radio_hostname(radio_hostname) self.set_radio_port(radio_port) self.set_tuner1_index(tuner1_index) self.set_tuner1_freq(tuner1_freq) self.set_tuner1_atten(tuner1_atten) self.set_tuner2_index(tuner2_index) self.set_tuner2_freq(tuner2_freq) self.set_tuner2_atten(tuner2_atten) self.set_ddc1_index(ddc1_index) self.set_ddc1_wideband(ddc1_wideband) self.set_ddc1_enable(ddc1_enable) self.set_ddc1_vita49_level(ddc1_vita49_level) self.set_ddc1_rate_index(ddc1_rate_index) self.set_ddc1_freq(ddc1_freq) self.set_ddc1_udp_port(ddc1_udp_port) self.set_ddc1_rf_source(ddc1_rf_source) self.set_ddc1_data_port(ddc1_data_port) self.set_ddc2_index(ddc2_index) self.set_ddc2_wideband(ddc2_wideband) self.set_ddc2_enable(ddc2_enable) self.set_ddc2_vita49_level(ddc2_vita49_level) self.set_ddc2_rate_index(ddc2_rate_index) self.set_ddc2_freq(ddc2_freq) self.set_ddc2_udp_port(ddc2_udp_port) self.set_ddc2_rf_source(ddc2_rf_source) self.set_ddc2_data_port(ddc2_data_port) self.set_cal_freq(cal_freq) self.set_interface_dict(interface_dict) self.set_verbose(verbose) self.set_other_args(other_args) self.init = False self.update_radio() self.update_tuner1() self.update_tuner2() self.update_ddc1() self.update_ddc2() self.update_cal() self.update_interface() self.update_verbose() self.update_other()
def __init__(self, verbose_mode=True, radio_host_name="ndr651", radio_host_port=8617, tengig_iface_list=['eth10', 'eth11'], num_tuners=1, tuner1_param_list=[False, 900e6, 0], tuner2_param_list=[False, 900e6, 0], num_wbddcs=1, wbddc1_param_list=["eth10", 40001, 0, 0, False], wbddc2_param_list=["eth10", 40002, 0, 0, False], num_nbddcs=1, nbddc1_param_list=["eth10", 41001, 0, 0, False, 0.0], nbddc2_param_list=["eth10", 41002, 0, 0, False, 0.0], nbddc3_param_list=["eth10", 41003, 0, 0, False, 0.0], nbddc4_param_list=["eth10", 41004, 0, 0, False, 0.0], nbddc5_param_list=["eth10", 41005, 0, 0, False, 0.0], nbddc6_param_list=["eth10", 41006, 0, 0, False, 0.0], nbddc7_param_list=["eth10", 41007, 0, 0, False, 0.0], nbddc8_param_list=["eth10", 41008, 0, 0, False, 0.0], nbddc9_param_list=["eth10", 41009, 0, 0, False, 0.0], nbddc10_param_list=["eth10", 41010, 0, 0, False, 0.0], nbddc11_param_list=["eth10", 41011, 0, 0, False, 0.0], nbddc12_param_list=["eth10", 41012, 0, 0, False, 0.0], nbddc13_param_list=["eth10", 41013, 0, 0, False, 0.0], nbddc14_param_list=["eth10", 41014, 0, 0, False, 0.0], nbddc15_param_list=["eth10", 41015, 0, 0, False, 0.0], nbddc16_param_list=["eth10", 41016, 0, 0, False, 0.0], tagged=False, debug=False, ): gr.hier_block2.__init__( self, "[CyberRadio] NDR651 Source", gr.io_signature(0, 0, 0), gr.io_signaturev(num_wbddcs + num_nbddcs + 1, num_wbddcs + num_nbddcs + 1, [gr.sizeof_char*1] + num_wbddcs * [gr.sizeof_gr_complex*1] + \ num_nbddcs * [gr.sizeof_gr_complex*1]), ) self.logger = gr.logger("CyberRadio") self.logger.set_level("INFO") self.tuner_param_lists = {} self.wbddc_sources = {} self.wbddc_param_lists = {} self.nbddc_sources = {} self.nbddc_param_lists = {} self.verbose_mode = verbose_mode self.radio_host_name = radio_host_name self.radio_host_port = radio_host_port self.tengig_iface_list = tengig_iface_list self.num_tuners = num_tuners self.tuner_param_lists[1] = tuner1_param_list self.tuner_param_lists[2] = tuner2_param_list self.num_wbddcs = num_wbddcs self.wbddc_param_lists[1] = wbddc1_param_list self.wbddc_param_lists[2] = wbddc2_param_list self.num_nbddcs = num_nbddcs self.nbddc_param_lists[1] = nbddc1_param_list self.nbddc_param_lists[2] = nbddc2_param_list self.nbddc_param_lists[3] = nbddc3_param_list self.nbddc_param_lists[4] = nbddc4_param_list self.nbddc_param_lists[5] = nbddc5_param_list self.nbddc_param_lists[6] = nbddc6_param_list self.nbddc_param_lists[7] = nbddc7_param_list self.nbddc_param_lists[8] = nbddc8_param_list self.nbddc_param_lists[9] = nbddc9_param_list self.nbddc_param_lists[10] = nbddc10_param_list self.nbddc_param_lists[11] = nbddc11_param_list self.nbddc_param_lists[12] = nbddc12_param_list self.nbddc_param_lists[13] = nbddc13_param_list self.nbddc_param_lists[14] = nbddc14_param_list self.nbddc_param_lists[15] = nbddc15_param_list self.nbddc_param_lists[16] = nbddc16_param_list self.tagged = tagged self.debug = debug self.CyberRadio_file_like_object_source_0 = CyberRadio.file_like_object_source() self.connect((self.CyberRadio_file_like_object_source_0, 0), (self, 0)) self.CyberRadio_NDR_driver_interface_0 = CyberRadio.NDR_driver_interface( radio_type="ndr651", verbose=verbose_mode, log_file=self.CyberRadio_file_like_object_source_0, connect_mode="tcp", host_name=radio_host_name, host_port=radio_host_port, ) self.vita_tail_size = self.CyberRadio_NDR_driver_interface_0.getVitaTailSize() self.vita_payload_size = self.CyberRadio_NDR_driver_interface_0.getVitaPayloadSize() self.vita_header_size = self.CyberRadio_NDR_driver_interface_0.getVitaHeaderSize() self.iq_swapped = self.CyberRadio_NDR_driver_interface_0.isIqSwapped() self.byte_swapped = self.CyberRadio_NDR_driver_interface_0.isByteswapped() # tengig_iface_info = Nested dictionary caching info for our 10GigE # interfaces. Keyed by interface name and datum keyword ("index", # , "destMAC", "sourceIP", or "destIP"). self.tengig_iface_info = {} self._get_tengig_iface_info() # UDP destination info needs to be tracked dynamically, since # DDCs can be freely assigned to any 10GigE port but there are # not enough DIP table entries to hard-code any assignments. self.udp_dest_dip_entries = {} self.udp_dest_dip_entry_range = self.CyberRadio_NDR_driver_interface_0.getGigEDipEntryIndexRange() self._set_udp_dest_info() for tuner_index in xrange(1, self.num_tuners + 1, 1): self._set_tuner_param_list(tuner_index, self.tuner_param_lists[tuner_index]) for wbddc_index in xrange(1, self.num_wbddcs + 1, 1): self.wbddc_sources[wbddc_index] = self._get_configured_wbddc( wbddc_index, self.wbddc_param_lists[wbddc_index]) self.connect((self.wbddc_sources[wbddc_index], 0), (self, wbddc_index)) for nbddc_index in xrange(1, self.num_nbddcs + 1, 1): self.nbddc_sources[nbddc_index] = self._get_configured_nbddc( nbddc_index, self.nbddc_param_lists[nbddc_index]) self.connect((self.nbddc_sources[nbddc_index], 0), (self, self.num_wbddcs + nbddc_index))
def __init__( self, verbose_mode=True, radio_device_name="/dev/ndr47x", radio_baud_rate=921600, gig_iface_to_use="eth0", coherent_mode=0, num_tuners=1, tuner1_param_list=[False, 900e6, 0], tuner2_param_list=[False, 900e6, 0], tuner3_param_list=[False, 900e6, 0], tuner4_param_list=[False, 900e6, 0], tuner5_param_list=[False, 900e6, 0], tuner6_param_list=[False, 900e6, 0], num_wbddcs=1, wbddc1_param_list=[40001, 0, 0, False, 0e6], wbddc2_param_list=[40002, 0, 0, False, 0e6], wbddc3_param_list=[40003, 0, 0, False, 0e6], wbddc4_param_list=[40004, 0, 0, False, 0e6], wbddc5_param_list=[40005, 0, 0, False, 0e6], wbddc6_param_list=[40006, 0, 0, False, 0e6], tagged=False, ): gr.hier_block2.__init__( self, "[CyberRadio] NDR304 Source", gr.io_signature(0, 0, 0), gr.io_signaturev( (6 if coherent_mode & 0x02 > 0 else num_wbddcs) + 1, (6 if coherent_mode & 0x02 > 0 else num_wbddcs) + 1, [gr.sizeof_char * 1] + (6 if coherent_mode & 0x02 > 0 else num_wbddcs) * [gr.sizeof_gr_complex * 1], ), ) self.verbose_mode = verbose_mode self.radio_device_name = radio_device_name self.radio_baud_rate = radio_baud_rate self.gig_iface_to_use = gig_iface_to_use self.coherent_mode = coherent_mode self.tuners_coherent = self.coherent_mode & 0x01 > 0 self.ddcs_coherent = self.coherent_mode & 0x02 > 0 self.udp_host_name = CyberRadioDriver.getInterfaceAddresses(self.gig_iface_to_use)[1] self.num_tuners = num_tuners self.tuner1_param_list = tuner1_param_list if not self.tuners_coherent: self.tuner2_param_list = tuner2_param_list self.tuner3_param_list = tuner3_param_list self.tuner4_param_list = tuner4_param_list self.tuner5_param_list = tuner5_param_list self.tuner6_param_list = tuner6_param_list self.num_wbddcs = num_wbddcs self.wbddc1_param_list = wbddc1_param_list if not self.ddcs_coherent: self.wbddc2_param_list = wbddc2_param_list self.wbddc3_param_list = wbddc3_param_list self.wbddc4_param_list = wbddc4_param_list self.wbddc5_param_list = wbddc5_param_list self.wbddc6_param_list = wbddc6_param_list self.tagged = tagged self.CyberRadio_file_like_object_source_0 = CyberRadio.file_like_object_source() self.connect((self.CyberRadio_file_like_object_source_0, 0), (self, 0)) self.CyberRadio_NDR_driver_interface_0 = CyberRadio.NDR_driver_interface( radio_type="ndr304", verbose=verbose_mode, log_file=self.CyberRadio_file_like_object_source_0, connect_mode="tty", dev_name=radio_device_name, baud_rate=radio_baud_rate, ) self.vita_tail_size = self.CyberRadio_NDR_driver_interface_0.getVitaTailSize() self.vita_payload_size = self.CyberRadio_NDR_driver_interface_0.getVitaPayloadSize() self.vita_header_size = self.CyberRadio_NDR_driver_interface_0.getVitaHeaderSize() self.iq_swapped = self.CyberRadio_NDR_driver_interface_0.isIqSwapped() self.byte_swapped = self.CyberRadio_NDR_driver_interface_0.isByteswapped() self._set_coherent_mode(self.coherent_mode) self._set_udp_dest_info() if self.num_tuners >= 1: self._set_tuner_param_list(1, tuner1_param_list) if not self.tuners_coherent: if self.num_tuners >= 2: self._set_tuner_param_list(2, tuner2_param_list) if self.num_tuners >= 3: self._set_tuner_param_list(3, tuner3_param_list) if self.num_tuners >= 4: self._set_tuner_param_list(4, tuner4_param_list) if self.num_tuners >= 5: self._set_tuner_param_list(5, tuner5_param_list) if self.num_tuners >= 6: self._set_tuner_param_list(6, tuner6_param_list) self.wbddc_sources = {} if self.num_wbddcs >= 1: self.CyberRadio_vita_iq_source_wbddc_1 = self._get_configured_wbddc(1, wbddc1_param_list) if self.ddcs_coherent: self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 0), (self, 1)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 1), (self, 2)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 2), (self, 3)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 3), (self, 4)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 4), (self, 5)) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 5), (self, 6)) else: self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 0), (self, 1)) self.wbddc_sources[1] = self.CyberRadio_vita_iq_source_wbddc_1 if not self.ddcs_coherent: if self.num_wbddcs >= 2: self.CyberRadio_vita_iq_source_wbddc_2 = self._get_configured_wbddc(2, wbddc2_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_2, 0), (self, 2)) self.wbddc_sources[2] = self.CyberRadio_vita_iq_source_wbddc_2 if self.num_wbddcs >= 3: self.CyberRadio_vita_iq_source_wbddc_3 = self._get_configured_wbddc(3, wbddc3_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_3, 0), (self, 3)) self.wbddc_sources[3] = self.CyberRadio_vita_iq_source_wbddc_3 if self.num_wbddcs >= 4: self.CyberRadio_vita_iq_source_wbddc_4 = self._get_configured_wbddc(4, wbddc4_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_4, 0), (self, 4)) self.wbddc_sources[4] = self.CyberRadio_vita_iq_source_wbddc_4 if self.num_wbddcs >= 5: self.CyberRadio_vita_iq_source_wbddc_5 = self._get_configured_wbddc(5, wbddc5_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_5, 0), (self, 5)) self.wbddc_sources[5] = self.CyberRadio_vita_iq_source_wbddc_5 if self.num_wbddcs >= 6: self.CyberRadio_vita_iq_source_wbddc_6 = self._get_configured_wbddc(6, wbddc6_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_6, 0), (self, 6)) self.wbddc_sources[6] = self.CyberRadio_vita_iq_source_wbddc_6
def __init__( self, radioType="ndr804", hostname="ndr308", verbose=True, interface="eth6", dataPort=1, tunerFreq=1000, tunerAtten=0, tunerFilter=1, tunerIndex=1, calFrequency=0, wbddcEnable=True, wbddcVitaLevel=3, wbddcRate=0, wbddcFormat=1, wbddcFreq=0.0, wbddcPort=10100, wbddcIndex=1, specRate=1, nbddcEnable=True, nbddcVitaLevel=3, nbddcRate=0.0, #~ nbddcFormat=0, nbddcDemodType=0, nbddcDemodBfo=0, nbddcDemodDcBlock=0, nbddcDemodAlcType=0, nbddcDemodAlcLevel=0, nbddcDemodSquelchLevel=0, nbddcDagcType=0, nbddcDagcLevel=0, nbddcFreq=0.0, nbddcPort=10101, nbddcIndex=46, otherNbddcEnable=False, otherNbddcPort=10102, ): gr.hier_block2.__init__( self, "CyberRadio/NDR_demo_control", gr.io_signature(0, 0, 0), gr.io_signature(1, 1, gr.sizeof_char * 1), ) self.fileLikeObjectSource = CyberRadio.file_like_object_source() self.connect((self.fileLikeObjectSource, 0), (self, 0)) print("radioType = %r (%s)" % (radioType, type(radioType))) print("hostname = %r (%s)" % (hostname, type(hostname))) print("verbose = %r (%s)" % (verbose, type(verbose))) print("interface = %r (%s)" % (interface, type(interface))) print("dataPort = %r (%s)" % (dataPort, type(dataPort))) print("tunerFreq = %r (%s)" % (tunerFreq, type(tunerFreq))) print("tunerAtten = %r (%s)" % (tunerAtten, type(tunerAtten))) print("tunerIndex = %r (%s)" % (tunerIndex, type(tunerIndex))) print("calFrequency = %r (%s)" % (calFrequency, type(calFrequency))) print("wbddcEnable = %r (%s)" % (wbddcEnable, type(wbddcEnable))) print("wbddcVitaLevel = %r (%s)" % (wbddcVitaLevel, type(wbddcVitaLevel))) print("wbddcRate = %r (%s)" % (wbddcRate, type(wbddcRate))) print("wbddcFormat = %r (%s)" % (wbddcFormat, type(wbddcFormat))) print("wbddcFreq = %r (%s)" % (wbddcFreq, type(wbddcFreq))) print("wbddcPort = %r (%s)" % (wbddcPort, type(wbddcPort))) print("wbddcIndex = %r (%s)" % (wbddcIndex, type(wbddcIndex))) print("specRate = %r (%s)" % (specRate, type(specRate))) print("nbddcEnable = %r (%s)" % (nbddcEnable, type(nbddcEnable))) print("nbddcVitaLevel = %r (%s)" % (nbddcVitaLevel, type(nbddcVitaLevel))) print("nbddcRate = %r (%s)" % (nbddcRate, type(nbddcRate))) print("nbddcFreq = %r (%s)" % (nbddcFreq, type(nbddcFreq))) print("nbddcPort = %r (%s)" % (nbddcPort, type(nbddcPort))) print("nbddcIndex = %r (%s)" % (nbddcIndex, type(nbddcIndex))) print("otherNbddcEnable = %r (%s)" % (otherNbddcEnable, type(otherNbddcEnable))) print("otherNbddcPort = %r (%s)" % (otherNbddcPort, type(otherNbddcPort))) self.init = True self.set_radioType(radioType) self.set_hostname(hostname) self.set_verbose(verbose) #~ self.set_interface( interface ) #~ self.set_dataPort( dataPort ) self.set_tunerFreq(tunerFreq) self.set_tunerAtten(tunerAtten) self.set_tunerFilter(tunerFilter) self.set_tunerIndex(tunerIndex) self.set_calFrequency(calFrequency) self.set_wbddcEnable(wbddcEnable) self.set_wbddcVitaLevel(wbddcVitaLevel) self.set_wbddcRate(wbddcRate) self.set_wbddcFormat(wbddcFormat) self.set_wbddcFreq(wbddcFreq) self.set_wbddcPort(wbddcPort) self.set_wbddcIndex(wbddcIndex) self.set_specRate(specRate) self.set_nbddcEnable(nbddcEnable) self.set_nbddcVitaLevel(nbddcVitaLevel) self.set_nbddcRate(nbddcRate) #~ self.set_nbddcFormat( nbddcFormat ) self.set_nbddcDemodType(nbddcDemodType) self.set_nbddcDemodBfo(nbddcDemodBfo) self.set_nbddcDemodDcBlock(nbddcDemodDcBlock) self.set_nbddcDemodAlcType(nbddcDemodAlcType) self.set_nbddcDemodAlcLevel(nbddcDemodAlcLevel) self.set_nbddcDemodSquelchLevel(nbddcDemodSquelchLevel) self.set_nbddcDagcType(nbddcDagcType) self.set_nbddcDagcLevel(nbddcDagcLevel) self.set_nbddcFreq(nbddcFreq) self.set_nbddcPort(nbddcPort) self.set_nbddcIndex(nbddcIndex) self.set_otherNbddcEnable(otherNbddcEnable) self.set_otherNbddcPort(otherNbddcPort) self.init = False self.radio = crd.getRadioObject( self.radioType, verbose=self.verbose, logFile=self.fileLikeObjectSource, ) self.radio.connect("tcp", self.hostname, 8617) self.set_dataPort(interface, dataPort) for dipIndex, udpPort in ( (self.wbddcDipIndex, self.wbddcPort), (self.nbddcDipIndex, self.nbddcPort), (self.otherNbddcDipIndex, self.otherNbddcPort), (self.spectralDipIndex, self.wbddcPort + 4), (self.demodDipIndex, self.wbddcPort + 5), ): self.setDipEntry(dipIndex, udpPort) self.disableWbddc(True) self.disableNbddc(True) self.updateWbddc() self.updateNbddc() self.updateTuner() self.updateCal()
def __init__(self, verbose_mode=True, radio_host_name="ndr651", radio_host_port=8617, tengig_iface_list=['eth10', 'eth11'], iq_scale_factor=2**15, num_transmitters=1, transmitter1_param_list=[False, 900, 0], transmitter2_param_list=[False, 900, 0], num_wbducs=1, wbduc1_param_list=["eth10", 0, 0, 0, 1, 40001], wbduc2_param_list=["eth10", 0, 0, 0, 1, 40002], wbduc3_param_list=["eth10", 0, 0, 0, 1, 40003], wbduc4_param_list=["eth10", 0, 0, 0, 1, 40004], wbduc5_param_list=["eth10", 0, 0, 0, 1, 40005], wbduc6_param_list=["eth10", 0, 0, 0, 1, 40006], wbduc7_param_list=["eth10", 0, 0, 0, 1, 40007], wbduc8_param_list=["eth10", 0, 0, 0, 1, 40008], debug=False, ): gr.hier_block2.__init__( self, "[CyberRadio] NDR651 Sink", gr.io_signaturev(num_wbducs, num_wbducs, num_wbducs * [gr.sizeof_gr_complex*1]), gr.io_signature(1, 1, gr.sizeof_char*1), ) self.transmitter_param_lists = {} self.wbduc_sources = {} self.wbduc_param_lists = {} self.verbose_mode = verbose_mode self.radio_host_name = radio_host_name self.radio_host_port = radio_host_port self.tengig_iface_list = tengig_iface_list self.iq_scale_factor = iq_scale_factor self.num_transmitters = num_transmitters self.transmitter_param_lists[1] = transmitter1_param_list self.transmitter_param_lists[2] = transmitter2_param_list self.num_wbducs = num_wbducs self.wbduc_param_lists[1] = wbduc1_param_list self.wbduc_param_lists[2] = wbduc2_param_list self.wbduc_param_lists[3] = wbduc3_param_list self.wbduc_param_lists[4] = wbduc4_param_list self.wbduc_param_lists[5] = wbduc5_param_list self.wbduc_param_lists[6] = wbduc6_param_list self.wbduc_param_lists[7] = wbduc7_param_list self.wbduc_param_lists[8] = wbduc8_param_list self.debug = debug self.CyberRadio_file_like_object_source_0 = CyberRadio.file_like_object_source() self.CyberRadio_NDR_driver_interface_0 = CyberRadio.NDR_driver_interface( radio_type="ndr651", verbose=verbose_mode, log_file=self.CyberRadio_file_like_object_source_0, connect_mode="tcp", host_name=radio_host_name, host_port=radio_host_port, ) self.connect((self.CyberRadio_file_like_object_source_0, 0), (self, 0)) for transmitter_index in xrange(1, self.num_transmitters + 1, 1): self._set_transmitter_param_list(transmitter_index, self.transmitter_param_lists[transmitter_index], True) for wbduc_index in xrange(1, self.num_wbducs + 1, 1): self.wbduc_sources[wbduc_index] = self._get_configured_wbduc( wbduc_index, self.wbduc_param_lists[wbduc_index]) self.connect((self, wbduc_index-1), (self.wbduc_sources[wbduc_index], 0))
def __init__( self, verbose_mode=True, radio_device_name="/dev/ndr47x", radio_baud_rate=921600, gig_iface_to_use="eth0", num_tuners=1, tuner1_param_list=[False, 900e6, 0], tuner2_param_list=[False, 900e6, 0], num_wbddcs=1, wbddc1_param_list=[40001, 0, 0, False, 0e6], wbddc2_param_list=[40002, 0, 0, False, 0e6], tagged=False, ): gr.hier_block2.__init__( self, "[CyberRadio] NDR472 Source", gr.io_signature(0, 0, 0), gr.io_signaturev(num_wbddcs + 1, num_wbddcs + 1, [gr.sizeof_char * 1] + num_wbddcs * [gr.sizeof_gr_complex * 1]), ) self.verbose_mode = verbose_mode self.radio_device_name = radio_device_name self.radio_baud_rate = radio_baud_rate self.gig_iface_to_use = gig_iface_to_use self.udp_host_name = CyberRadioDriver.getInterfaceAddresses( self.gig_iface_to_use)[1] self.num_tuners = num_tuners self.tuner1_param_list = tuner1_param_list self.tuner2_param_list = tuner2_param_list self.num_wbddcs = num_wbddcs self.wbddc1_param_list = wbddc1_param_list self.wbddc2_param_list = wbddc2_param_list self.tagged = tagged self.CyberRadio_file_like_object_source_0 = CyberRadio.file_like_object_source( ) self.connect((self.CyberRadio_file_like_object_source_0, 0), (self, 0)) self.CyberRadio_NDR_driver_interface_0 = CyberRadio.NDR_driver_interface( radio_type="ndr472", verbose=verbose_mode, log_file=self.CyberRadio_file_like_object_source_0, connect_mode="tty", dev_name=radio_device_name, baud_rate=radio_baud_rate, ) self.vita_tail_size = self.CyberRadio_NDR_driver_interface_0.getVitaTailSize( ) self.vita_payload_size = self.CyberRadio_NDR_driver_interface_0.getVitaPayloadSize( ) self.vita_header_size = self.CyberRadio_NDR_driver_interface_0.getVitaHeaderSize( ) self.iq_swapped = self.CyberRadio_NDR_driver_interface_0.isIqSwapped() self.byte_swapped = self.CyberRadio_NDR_driver_interface_0.isByteswapped( ) self._set_udp_dest_info() if self.num_tuners >= 1: self._set_tuner_param_list(1, tuner1_param_list) if self.num_tuners >= 2: self._set_tuner_param_list(2, tuner2_param_list) self.wbddc_sources = {} if self.num_wbddcs >= 1: self.CyberRadio_vita_iq_source_wbddc_1 = self._get_configured_wbddc( 1, wbddc1_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_1, 0), (self, 1)) self.wbddc_sources[1] = self.CyberRadio_vita_iq_source_wbddc_1 if self.num_wbddcs >= 2: self.CyberRadio_vita_iq_source_wbddc_2 = self._get_configured_wbddc( 2, wbddc2_param_list) self.connect((self.CyberRadio_vita_iq_source_wbddc_2, 0), (self, 2)) self.wbddc_sources[2] = self.CyberRadio_vita_iq_source_wbddc_2