示例#1
0
 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
示例#2
0
    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()
示例#3
0
 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))
示例#4
0
 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
示例#5
0
    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()
示例#6
0
 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))
示例#7
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