Skip to content

Commit 919c14b

Browse files
committed
added types
1 parent b01acab commit 919c14b

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

python_hackrf/pyhackrf_tools/pyhackrf_sweep.pyx

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ except ImportError:
3333
from libc.stdint cimport uint32_t, uint64_t
3434
from python_hackrf import pyhackrf
3535
import numpy as np
36+
cimport numpy as cnp
3637
import datetime
3738
cimport cython
3839
import signal
@@ -78,16 +79,16 @@ def init_signals():
7879
cdef sweep_callback(device: pyhackrf.PyHackrfDevice, buffer: np.ndarray[np.uint8_t, 1], buffer_length: int, valid_length: int):
7980
global run_available, device_data
8081

81-
timestamp = datetime.datetime.now()
82-
time_str = timestamp.strftime('%Y-%m-%d, %H:%M:%S.%f')
82+
cdef double timestamp = datetime.datetime.now()
83+
cdef str time_str = timestamp.strftime('%Y-%m-%d, %H:%M:%S.%f')
8384

84-
current_device_data = device_data[device.serialno]
85-
norm_factor = 1.0 / current_device_data['fft_size']
86-
data_length = current_device_data['fft_size'] * 2
87-
sweep_style = current_device_data['sweep_style']
88-
sample_rate = current_device_data['sample_rate']
89-
fft_size = current_device_data['fft_size']
90-
window = current_device_data['window']
85+
cdef dict current_device_data = device_data[device.serialno]
86+
cdef double norm_factor = 1.0 / current_device_data['fft_size']
87+
cdef int data_length = current_device_data['fft_size'] * 2
88+
cdef object sweep_style = current_device_data['sweep_style']
89+
cdef int sample_rate = current_device_data['sample_rate']
90+
cdef int fft_size = current_device_data['fft_size']
91+
cdef cnp.ndarray window = current_device_data['window']
9192

9293
cdef int pwr_1_start = 1 + (fft_size * 5) // 8
9394
cdef int pwr_1_stop = 1 + (fft_size * 5) // 8 + fft_size // 4
@@ -229,7 +230,7 @@ def pyhackrf_sweep(frequencies: list = None, sample_rate: int = 20_000_000, base
229230
sample_rate = int(sample_rate) if int(sample_rate) in AVAILABLE_SAMPLING_RATES else 20_000_000
230231
baseband_filter_bandwidth = int(baseband_filter_bandwidth) if baseband_filter_bandwidth in AVAILABLE_BASEBAND_FILTER_BANDWIDTHS else pyhackrf.pyhackrf_compute_baseband_filter_bw(int(sample_rate * .75))
231232

232-
current_device_data = {
233+
cdef dict current_device_data = {
233234
'sweep_style': sweep_style if sweep_style in pyhackrf.py_sweep_style else pyhackrf.py_sweep_style.INTERLEAVED,
234235
'sample_rate': sample_rate,
235236

@@ -325,8 +326,10 @@ def pyhackrf_sweep(frequencies: list = None, sample_rate: int = 20_000_000, base
325326
device.pyhackrf_init_sweep(frequencies, num_ranges, pyhackrf.PY_BYTES_PER_BLOCK, int(TUNE_STEP * 1e6), OFFSET, current_device_data['sweep_style'])
326327
device.pyhackrf_start_rx_sweep()
327328

328-
time_start = time.time()
329-
time_prev = time.time()
329+
cdef double time_start = time.time()
330+
cdef double time_prev = time.time()
331+
cdef double time_difference = 0
332+
cdef sweep_rate = 0
330333
while device.pyhackrf_is_streaming() and run_available[device.serialno]:
331334
time.sleep(0.05)
332335
time_now = time.time()

0 commit comments

Comments
 (0)