Skip to content

Commit 4e19ecd

Browse files
committed
minor changes, new release
1 parent 0d7a310 commit 4e19ecd

File tree

3 files changed

+36
-32
lines changed

3 files changed

+36
-32
lines changed

build.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,18 @@
11
import os
22
import shutil
33
import sys
4-
from distutils.core import Distribution, Extension
54
from distutils.command import build_ext
5+
from distutils.core import Distribution, Extension
66

7+
# import pip
78
from Cython.Build import cythonize
89

910

1011
def build() -> None:
1112
compile_args = []
1213

1314
if sys.platform == "linux":
14-
compile_args += [
15-
# "-march=native",
16-
# "-O3",
17-
# "-msse",
18-
# "-msse2",
19-
# "-mfma",
20-
# "-mfpmath=sse",
21-
"-Wno-pointer-sign",
22-
"-Wno-unused-variable",
23-
]
15+
compile_args += ["-Wno-pointer-sign", "-Wno-unused-variable"]
2416

2517
extensions = [
2618
Extension(

pyModeS/extra/rtlreader.py

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
1+
from __future__ import annotations
2+
13
import time
24
import traceback
35
import numpy as np
46
import pyModeS as pms
57

8+
from typing import Any
9+
10+
11+
import_msg = """
12+
---------------------------------------------------------------------
13+
Warning: pyrtlsdr not installed (required for using RTL-SDR devices)!
14+
---------------------------------------------------------------------"""
15+
616
try:
717
import rtlsdr # type: ignore
8-
except:
9-
print("------------------------------------------------------------------------")
10-
print("! Warning: pyrtlsdr not installed (required for using RTL-SDR devices) !")
11-
print("------------------------------------------------------------------------")
18+
except ImportError:
19+
print(import_msg)
1220

1321
sampling_rate = 2e6
1422
smaples_per_microsec = 2
@@ -24,9 +32,9 @@
2432

2533

2634
class RtlReader(object):
27-
def __init__(self, **kwargs):
35+
def __init__(self, **kwargs) -> None:
2836
super(RtlReader, self).__init__()
29-
self.signal_buffer = [] # amplitude of the sample only
37+
self.signal_buffer: list[float] = [] # amplitude of the sample only
3038
self.sdr = rtlsdr.RtlSdr()
3139
self.sdr.sample_rate = sampling_rate
3240
self.sdr.center_freq = modes_frequency
@@ -39,7 +47,7 @@ def __init__(self, **kwargs):
3947

4048
self.exception_queue = None
4149

42-
def _calc_noise(self):
50+
def _calc_noise(self) -> float:
4351
"""Calculate noise floor"""
4452
window = smaples_per_microsec * 100
4553
total_len = len(self.signal_buffer)
@@ -50,7 +58,7 @@ def _calc_noise(self):
5058
)
5159
return min(means)
5260

53-
def _process_buffer(self):
61+
def _process_buffer(self) -> list[list[Any]]:
5462
"""process raw IQ data in the buffer"""
5563

5664
# update noise floor
@@ -70,17 +78,18 @@ def _process_buffer(self):
7078
i += 1
7179
continue
7280

73-
if self._check_preamble(self.signal_buffer[i : i + pbits * 2]):
74-
frame_start = i + pbits * 2
75-
frame_end = i + pbits * 2 + (fbits + 1) * 2
81+
frame_start = i + pbits * 2
82+
if self._check_preamble(self.signal_buffer[i:frame_start]):
7683
frame_length = (fbits + 1) * 2
84+
frame_end = frame_start + frame_length
7785
frame_pulses = self.signal_buffer[frame_start:frame_end]
7886

7987
threshold = max(frame_pulses) * 0.2
8088

81-
msgbin = []
89+
msgbin: list[int] = []
8290
for j in range(0, frame_length, 2):
83-
p2 = frame_pulses[j : j + 2]
91+
j_2 = j + 2
92+
p2 = frame_pulses[j:j_2]
8493
if len(p2) < 2:
8594
break
8695

@@ -117,7 +126,7 @@ def _process_buffer(self):
117126

118127
return messages
119128

120-
def _check_preamble(self, pulses):
129+
def _check_preamble(self, pulses) -> bool:
121130
if len(pulses) != 16:
122131
return False
123132

@@ -127,7 +136,7 @@ def _check_preamble(self, pulses):
127136

128137
return True
129138

130-
def _check_msg(self, msg):
139+
def _check_msg(self, msg) -> bool:
131140
df = pms.df(msg)
132141
msglen = len(msg)
133142
if df == 17 and msglen == 28:
@@ -137,8 +146,9 @@ def _check_msg(self, msg):
137146
return True
138147
elif df in [4, 5, 11] and msglen == 14:
139148
return True
149+
return False
140150

141-
def _debug_msg(self, msg):
151+
def _debug_msg(self, msg) -> None:
142152
df = pms.df(msg)
143153
msglen = len(msg)
144154
if df == 17 and msglen == 28:
@@ -151,24 +161,26 @@ def _debug_msg(self, msg):
151161
# print("[*]", msg)
152162
pass
153163

154-
def _read_callback(self, data, rtlsdr_obj):
164+
def _read_callback(self, data, rtlsdr_obj) -> None:
155165
amp = np.absolute(data)
156166
self.signal_buffer.extend(amp.tolist())
157167

158168
if len(self.signal_buffer) >= buffer_size:
159169
messages = self._process_buffer()
160170
self.handle_messages(messages)
161171

162-
def handle_messages(self, messages):
172+
def handle_messages(self, messages) -> None:
163173
"""re-implement this method to handle the messages"""
164174
for msg, t in messages:
165175
# print("%15.9f %s" % (t, msg))
166176
pass
167177

168-
def stop(self, *args, **kwargs):
178+
def stop(self, *args, **kwargs) -> None:
169179
self.sdr.close()
170180

171-
def run(self, raw_pipe_in=None, stop_flag=None, exception_queue=None):
181+
def run(
182+
self, raw_pipe_in=None, stop_flag=None, exception_queue=None
183+
) -> None:
172184
self.raw_pipe_in = raw_pipe_in
173185
self.exception_queue = exception_queue
174186
self.stop_flag = stop_flag

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "pyModeS"
3-
version = "2.15"
3+
version = "2.16"
44
description = "Python Mode-S and ADS-B Decoder"
55
authors = ["Junzi Sun <j.sun-1@tudelft.nl>"]
66
license = "GNU GPL v3"

0 commit comments

Comments
 (0)