def test_get_receive_buffer_size(self): settings.OVERWRITE_RECEIVE_BUFFER_SIZE = None ns = settings.get_receive_buffer_size(resume_on_full_receive_buffer=True, spectrum_mode=True) self.assertEqual(ns, settings.SPECTRUM_BUFFER_SIZE) ns = settings.get_receive_buffer_size(resume_on_full_receive_buffer=True, spectrum_mode=False) self.assertEqual(ns, settings.SNIFF_BUFFER_SIZE) ns1 = settings.get_receive_buffer_size(resume_on_full_receive_buffer=False, spectrum_mode=True) ns2 = settings.get_receive_buffer_size(resume_on_full_receive_buffer=False, spectrum_mode=False) self.assertEqual(len(str(ns1)), len(str(ns2)))
def init_recv_buffer(self): if self.receive_buffer is None: num_samples = settings.get_receive_buffer_size( self.resume_on_full_receive_buffer, self.is_in_spectrum_mode) self.receive_buffer = IQArray(None, dtype=self.DATA_TYPE, n=int(num_samples))
def __init__(self, raw_mode=False, resume_on_full_receive_buffer=False, spectrum=False, sending=False): """ :param raw_mode: If true, sending and receiving raw samples if false bits are received/sent """ super().__init__(name="NetworkSDRInterface") self.client_ip = self.qsettings.value("client_ip", defaultValue="127.0.0.1", type=str) self.server_ip = "" self.samples_to_send = None # set in virtual device constructor self.client_port = self.qsettings.value("client_port", defaultValue=2222, type=int) self.server_port = self.qsettings.value("server_port", defaultValue=4444, type=int) self.is_in_spectrum_mode = spectrum self.resume_on_full_receive_buffer = resume_on_full_receive_buffer self.__is_sending = False self.__sending_interrupt_requested = False self.sending_repeats = 1 # only used in raw mode self.current_sent_sample = 0 self.current_sending_repeat = 0 self.sending_is_continuous = False self.continuous_send_ring_buffer = None self.num_samples_to_send = None # Only used for continuous send mode self.raw_mode = raw_mode if not sending: if self.raw_mode: num_samples = settings.get_receive_buffer_size( self.resume_on_full_receive_buffer, self.is_in_spectrum_mode) try: self.receive_buffer = IQArray(None, dtype=self.DATA_TYPE, n=num_samples) except MemoryError: logger.warning( "Could not allocate buffer with {0:d} samples, trying less..." ) i = 0 while True: try: i += 2 self.receive_buffer = IQArray(None, dtype=self.DATA_TYPE, n=num_samples // i) logger.debug( "Using buffer with {0:d} samples instead.". format(num_samples // i)) break except MemoryError: continue else: self.received_bits = []
def init_recv_buffer(self): n_samples = settings.get_receive_buffer_size( self.resume_on_full_receive_buffer, self.is_in_spectrum_mode) self.data = np.zeros(n_samples, dtype=np.complex64)