diff --git a/src/main_3300.py b/src/main_3300.py index 9bbfb7a..c8e01c1 100644 --- a/src/main_3300.py +++ b/src/main_3300.py @@ -18,7 +18,6 @@ import time import threading import subprocess import os -import numpy as np from common.runtime import load_root_env, resolve_hackrf_index @@ -83,14 +82,6 @@ class get_center_freq(gr.top_block): self.flag = flag = 1 self.decimation = decimation = 1 self.center_freq = center_freq = my_freq.work(prob_freq) - self.read_pipe_settle_sec = float(os.getenv('read_pipe_settle_sec_hf', '0.003')) - self.read_pipe_windows_per_update = max(1, int(os.getenv('read_pipe_windows_per_update_hf', '3')) ) - self.read_pipe_vec_len = 4096 - self.read_pipe_window_sec = self.read_pipe_vec_len / self.samp_rate - self.read_pipe_poll_sec = float(os.getenv('read_pipe_poll_sec_hf', str(self.read_pipe_window_sec))) - self.read_pipe_poll_sec = max(self.read_pipe_window_sec, self.read_pipe_poll_sec) - self.read_pipe_next_at = time.monotonic() - self.read_pipe_settle_until = 0.0 ################################################## # Blocks @@ -103,42 +94,21 @@ class get_center_freq(gr.top_block): self.rtlsdr_source_0.set_sample_rate(samp_rate) self.rtlsdr_source_0.set_center_freq(center_freq, 0) self.rtlsdr_source_0.set_freq_corr(0, 0) - self.rtlsdr_source_0.set_gain(24, 0) - self.rtlsdr_source_0.set_if_gain(24, 0) + self.rtlsdr_source_0.set_gain(100, 0) + self.rtlsdr_source_0.set_if_gain(100, 0) self.rtlsdr_source_0.set_bb_gain(100, 0) self.rtlsdr_source_0.set_antenna('', 0) self.rtlsdr_source_0.set_bandwidth(0, 0) self.rtlsdr_source_0.set_min_output_buffer(4096) def _prob_freq_probe(): while True: - now = time.monotonic() - if now < self.read_pipe_settle_until: - time.sleep(min(self.read_pipe_poll_sec, self.read_pipe_settle_until - now)) - continue - - windows = [] - for i in range(self.read_pipe_windows_per_update): - windows.append(np.array(self.probSigVec.level()).ravel()) - if i + 1 < self.read_pipe_windows_per_update: - time.sleep(self.read_pipe_window_sec) - - if len(windows) == 1: - val = windows[0] - else: - val = np.concatenate(windows, axis=None) + val = self.probSigVec.level() try: self.set_prob_freq(val) except AttributeError: pass - - self.read_pipe_next_at += self.read_pipe_poll_sec - sleep_for = self.read_pipe_next_at - time.monotonic() - if sleep_for > 0: - time.sleep(sleep_for) - else: - self.read_pipe_next_at = time.monotonic() - + time.sleep(1.0 / (poll_rate)) _prob_freq_thread = threading.Thread(target=_prob_freq_probe) _prob_freq_thread.daemon = True _prob_freq_thread.start() @@ -158,12 +128,7 @@ class get_center_freq(gr.top_block): def set_prob_freq(self, prob_freq): self.prob_freq = prob_freq - next_center = my_freq.work(self.prob_freq) - if next_center is None: - return - if next_center != self.center_freq: - self.set_center_freq(next_center) - self.read_pipe_settle_until = time.monotonic() + self.read_pipe_settle_sec + self.set_center_freq(my_freq.work(self.prob_freq)) def get_top_peaks_amount(self): return self.top_peaks_amount diff --git a/src/main_4500.py b/src/main_4500.py index 55e39f3..0d75120 100644 --- a/src/main_4500.py +++ b/src/main_4500.py @@ -18,7 +18,6 @@ import time import threading import subprocess import os -import numpy as np from common.runtime import load_root_env, resolve_hackrf_index @@ -83,14 +82,6 @@ class get_center_freq(gr.top_block): self.flag = flag = 1 self.decimation = decimation = 1 self.center_freq = center_freq = my_freq.work(prob_freq) - self.read_pipe_settle_sec = float(os.getenv('read_pipe_settle_sec_hf', '0.003')) - self.read_pipe_windows_per_update = max(1, int(os.getenv('read_pipe_windows_per_update_hf', '3')) ) - self.read_pipe_vec_len = 4096 - self.read_pipe_window_sec = self.read_pipe_vec_len / self.samp_rate - self.read_pipe_poll_sec = float(os.getenv('read_pipe_poll_sec_hf', str(self.read_pipe_window_sec))) - self.read_pipe_poll_sec = max(self.read_pipe_window_sec, self.read_pipe_poll_sec) - self.read_pipe_next_at = time.monotonic() - self.read_pipe_settle_until = 0.0 ################################################## # Blocks @@ -103,42 +94,21 @@ class get_center_freq(gr.top_block): self.rtlsdr_source_0.set_sample_rate(samp_rate) self.rtlsdr_source_0.set_center_freq(center_freq, 0) self.rtlsdr_source_0.set_freq_corr(0, 0) - self.rtlsdr_source_0.set_gain(24, 0) - self.rtlsdr_source_0.set_if_gain(24, 0) + self.rtlsdr_source_0.set_gain(100, 0) + self.rtlsdr_source_0.set_if_gain(100, 0) self.rtlsdr_source_0.set_bb_gain(100, 0) self.rtlsdr_source_0.set_antenna('', 0) self.rtlsdr_source_0.set_bandwidth(0, 0) self.rtlsdr_source_0.set_min_output_buffer(4096) def _prob_freq_probe(): while True: - now = time.monotonic() - if now < self.read_pipe_settle_until: - time.sleep(min(self.read_pipe_poll_sec, self.read_pipe_settle_until - now)) - continue - - windows = [] - for i in range(self.read_pipe_windows_per_update): - windows.append(np.array(self.probSigVec.level()).ravel()) - if i + 1 < self.read_pipe_windows_per_update: - time.sleep(self.read_pipe_window_sec) - - if len(windows) == 1: - val = windows[0] - else: - val = np.concatenate(windows, axis=None) + val = self.probSigVec.level() try: self.set_prob_freq(val) except AttributeError: pass - - self.read_pipe_next_at += self.read_pipe_poll_sec - sleep_for = self.read_pipe_next_at - time.monotonic() - if sleep_for > 0: - time.sleep(sleep_for) - else: - self.read_pipe_next_at = time.monotonic() - + time.sleep(1.0 / (poll_rate)) _prob_freq_thread = threading.Thread(target=_prob_freq_probe) _prob_freq_thread.daemon = True _prob_freq_thread.start() @@ -158,12 +128,7 @@ class get_center_freq(gr.top_block): def set_prob_freq(self, prob_freq): self.prob_freq = prob_freq - next_center = my_freq.work(self.prob_freq) - if next_center is None: - return - if next_center != self.center_freq: - self.set_center_freq(next_center) - self.read_pipe_settle_until = time.monotonic() + self.read_pipe_settle_sec + self.set_center_freq(my_freq.work(self.prob_freq)) def get_top_peaks_amount(self): return self.top_peaks_amount diff --git a/src/main_5200.py b/src/main_5200.py index 52a1586..3c015df 100644 --- a/src/main_5200.py +++ b/src/main_5200.py @@ -18,7 +18,6 @@ import time import threading import subprocess import os -import numpy as np from common.runtime import load_root_env, resolve_hackrf_index load_root_env(__file__) @@ -82,14 +81,6 @@ class get_center_freq(gr.top_block): self.flag = flag = 1 self.decimation = decimation = 1 self.center_freq = center_freq = my_freq.work(prob_freq) - self.read_pipe_settle_sec = float(os.getenv('read_pipe_settle_sec_hf', '0.003')) - self.read_pipe_windows_per_update = max(1, int(os.getenv('read_pipe_windows_per_update_hf', '3')) ) - self.read_pipe_vec_len = 4096 - self.read_pipe_window_sec = self.read_pipe_vec_len / self.samp_rate - self.read_pipe_poll_sec = float(os.getenv('read_pipe_poll_sec_hf', str(self.read_pipe_window_sec))) - self.read_pipe_poll_sec = max(self.read_pipe_window_sec, self.read_pipe_poll_sec) - self.read_pipe_next_at = time.monotonic() - self.read_pipe_settle_until = 0.0 ################################################## # Blocks @@ -103,41 +94,20 @@ class get_center_freq(gr.top_block): self.rtlsdr_source_0.set_center_freq(center_freq, 0) self.rtlsdr_source_0.set_freq_corr(0, 0) self.rtlsdr_source_0.set_gain(100, 0) - self.rtlsdr_source_0.set_if_gain(24, 0) - self.rtlsdr_source_0.set_bb_gain(24, 0) + self.rtlsdr_source_0.set_if_gain(100, 0) + self.rtlsdr_source_0.set_bb_gain(100, 0) self.rtlsdr_source_0.set_antenna('', 0) self.rtlsdr_source_0.set_bandwidth(0, 0) self.rtlsdr_source_0.set_min_output_buffer(4096) def _prob_freq_probe(): while True: - now = time.monotonic() - if now < self.read_pipe_settle_until: - time.sleep(min(self.read_pipe_poll_sec, self.read_pipe_settle_until - now)) - continue - - windows = [] - for i in range(self.read_pipe_windows_per_update): - windows.append(np.array(self.probSigVec.level()).ravel()) - if i + 1 < self.read_pipe_windows_per_update: - time.sleep(self.read_pipe_window_sec) - - if len(windows) == 1: - val = windows[0] - else: - val = np.concatenate(windows, axis=None) + val = self.probSigVec.level() try: self.set_prob_freq(val) except AttributeError: pass - - self.read_pipe_next_at += self.read_pipe_poll_sec - sleep_for = self.read_pipe_next_at - time.monotonic() - if sleep_for > 0: - time.sleep(sleep_for) - else: - self.read_pipe_next_at = time.monotonic() - + time.sleep(1.0 / (poll_rate)) _prob_freq_thread = threading.Thread(target=_prob_freq_probe) _prob_freq_thread.daemon = True _prob_freq_thread.start() @@ -157,12 +127,7 @@ class get_center_freq(gr.top_block): def set_prob_freq(self, prob_freq): self.prob_freq = prob_freq - next_center = my_freq.work(self.prob_freq) - if next_center is None: - return - if next_center != self.center_freq: - self.set_center_freq(next_center) - self.read_pipe_settle_until = time.monotonic() + self.read_pipe_settle_sec + self.set_center_freq(my_freq.work(self.prob_freq)) def get_top_peaks_amount(self): return self.top_peaks_amount diff --git a/src/main_5800.py b/src/main_5800.py index 58e7159..d9a566b 100644 --- a/src/main_5800.py +++ b/src/main_5800.py @@ -18,7 +18,6 @@ import time import threading import subprocess import os -import numpy as np from common.runtime import load_root_env, resolve_hackrf_index @@ -83,14 +82,6 @@ class get_center_freq(gr.top_block): self.flag = flag = 1 self.decimation = decimation = 1 self.center_freq = center_freq = my_freq.work(prob_freq) - self.read_pipe_settle_sec = float(os.getenv('read_pipe_settle_sec_hf', '0.003')) - self.read_pipe_windows_per_update = max(1, int(os.getenv('read_pipe_windows_per_update_hf', '3')) ) - self.read_pipe_vec_len = 4096 - self.read_pipe_window_sec = self.read_pipe_vec_len / self.samp_rate - self.read_pipe_poll_sec = float(os.getenv('read_pipe_poll_sec_hf', str(self.read_pipe_window_sec))) - self.read_pipe_poll_sec = max(self.read_pipe_window_sec, self.read_pipe_poll_sec) - self.read_pipe_next_at = time.monotonic() - self.read_pipe_settle_until = 0.0 ################################################## # Blocks @@ -103,42 +94,21 @@ class get_center_freq(gr.top_block): self.rtlsdr_source_0.set_sample_rate(samp_rate) self.rtlsdr_source_0.set_center_freq(center_freq, 0) self.rtlsdr_source_0.set_freq_corr(0, 0) - self.rtlsdr_source_0.set_gain(24, 0) - self.rtlsdr_source_0.set_if_gain(24, 0) + self.rtlsdr_source_0.set_gain(100, 0) + self.rtlsdr_source_0.set_if_gain(100, 0) self.rtlsdr_source_0.set_bb_gain(100, 0) self.rtlsdr_source_0.set_antenna('', 0) self.rtlsdr_source_0.set_bandwidth(0, 0) self.rtlsdr_source_0.set_min_output_buffer(4096) def _prob_freq_probe(): while True: - now = time.monotonic() - if now < self.read_pipe_settle_until: - time.sleep(min(self.read_pipe_poll_sec, self.read_pipe_settle_until - now)) - continue - - windows = [] - for i in range(self.read_pipe_windows_per_update): - windows.append(np.array(self.probSigVec.level()).ravel()) - if i + 1 < self.read_pipe_windows_per_update: - time.sleep(self.read_pipe_window_sec) - - if len(windows) == 1: - val = windows[0] - else: - val = np.concatenate(windows, axis=None) + val = self.probSigVec.level() try: self.set_prob_freq(val) except AttributeError: pass - - self.read_pipe_next_at += self.read_pipe_poll_sec - sleep_for = self.read_pipe_next_at - time.monotonic() - if sleep_for > 0: - time.sleep(sleep_for) - else: - self.read_pipe_next_at = time.monotonic() - + time.sleep(1.0 / (poll_rate)) _prob_freq_thread = threading.Thread(target=_prob_freq_probe) _prob_freq_thread.daemon = True _prob_freq_thread.start() @@ -158,12 +128,7 @@ class get_center_freq(gr.top_block): def set_prob_freq(self, prob_freq): self.prob_freq = prob_freq - next_center = my_freq.work(self.prob_freq) - if next_center is None: - return - if next_center != self.center_freq: - self.set_center_freq(next_center) - self.read_pipe_settle_until = time.monotonic() + self.read_pipe_settle_sec + self.set_center_freq(my_freq.work(self.prob_freq)) def get_top_peaks_amount(self): return self.top_peaks_amount