Linting
All checks were successful
Build Sphinx Docs Set / Build Docs (pull_request) Successful in 7s
Build Project / Build Project (3.10) (pull_request) Successful in 33s
Build Project / Build Project (3.11) (pull_request) Successful in 30s
Build Project / Build Project (3.12) (pull_request) Successful in 32s
Test with tox / Test with tox (3.10) (pull_request) Successful in 29s
Test with tox / Test with tox (3.11) (pull_request) Successful in 23s
Test with tox / Test with tox (3.12) (pull_request) Successful in 22s

This commit is contained in:
M madrigal 2026-01-30 17:51:01 -05:00
parent 823a0aba85
commit 1cb9cb6463
12 changed files with 36 additions and 72 deletions

View File

@ -956,10 +956,8 @@ def get_result_sizes( # noqa: C901 # TODO: Simplify function
# Check that each class that will be augmented does not already suffice target_size # Check that each class that will be augmented does not already suffice target_size
for cls_name, target_size_value in zip(classes_to_augment, target_size): for cls_name, target_size_value in zip(classes_to_augment, target_size):
if class_sizes[cls_name] >= target_size_value: if class_sizes[cls_name] >= target_size_value:
raise ValueError( raise ValueError(f"""target_size of {target_size_value} is already sufficed for current size of
f"""target_size of {target_size_value} is already sufficed for current size of {class_sizes[cls_name]} for class: {cls_name}""")
{class_sizes[cls_name]} for class: {cls_name}"""
)
for index, class_name in enumerate(classes_to_augment): for index, class_name in enumerate(classes_to_augment):
result_sizes[class_name] = target_size[index] result_sizes[class_name] = target_size[index]

View File

@ -474,10 +474,8 @@ class Blade(SDR):
if gain_mode == "relative": if gain_mode == "relative":
if gain > 0: if gain > 0:
raise SDRParameterError( raise SDRParameterError("When gain_mode = 'relative', gain must be < 0. This sets \
"When gain_mode = 'relative', gain must be < 0. This sets \ the gain relative to the maximum possible gain.")
the gain relative to the maximum possible gain."
)
else: else:
abs_gain = rx_gain_max + gain abs_gain = rx_gain_max + gain
else: else:
@ -550,10 +548,8 @@ class Blade(SDR):
if gain_mode == "relative": if gain_mode == "relative":
if gain > 0: if gain > 0:
raise SDRParameterError( raise SDRParameterError("When gain_mode = 'relative', gain must be < 0. This sets\
"When gain_mode = 'relative', gain must be < 0. This sets\ the gain relative to the maximum possible gain.")
the gain relative to the maximum possible gain."
)
else: else:
abs_gain = tx_gain_max + gain abs_gain = tx_gain_max + gain
else: else:

View File

@ -172,10 +172,8 @@ class HackRF(SDR):
tx_gain_max = 47 tx_gain_max = 47
if gain_mode == "relative": if gain_mode == "relative":
if gain > 0: if gain > 0:
raise SDRParameterError( raise SDRParameterError("When gain_mode = 'relative', gain must be < 0. This \
"When gain_mode = 'relative', gain must be < 0. This \ sets the gain relative to the maximum possible gain.")
sets the gain relative to the maximum possible gain."
)
else: else:
abs_gain = tx_gain_max + gain abs_gain = tx_gain_max + gain
else: else:

View File

@ -274,20 +274,16 @@ class Pluto(SDR):
data = [self._convert_tx_samples(samples), self._convert_tx_samples(samples)] data = [self._convert_tx_samples(samples), self._convert_tx_samples(samples)]
else: else:
if len(recording) > 2: if len(recording) > 2:
warnings.warn( warnings.warn("More recordings were provided than channels in the Pluto. \
"More recordings were provided than channels in the Pluto. \ Only the first two recordings will be used")
Only the first two recordings will be used"
)
sample0 = self._convert_tx_samples(recording.data[0]) sample0 = self._convert_tx_samples(recording.data[0])
sample1 = self._convert_tx_samples(recording.data[1]) sample1 = self._convert_tx_samples(recording.data[1])
data = [sample0, sample1] data = [sample0, sample1]
elif isinstance(recording, list): elif isinstance(recording, list):
if len(recording) > 2: if len(recording) > 2:
warnings.warn( warnings.warn("More recordings were provided than channels in the Pluto. \
"More recordings were provided than channels in the Pluto. \ Only the first two recordings will be used")
Only the first two recordings will be used"
)
if isinstance(recording[0], np.ndarray): if isinstance(recording[0], np.ndarray):
data = [self._convert_tx_samples(recording[0]), self._convert_tx_samples(recording[1])] data = [self._convert_tx_samples(recording[0]), self._convert_tx_samples(recording[1])]
@ -427,10 +423,8 @@ class Pluto(SDR):
if gain_mode == "relative": if gain_mode == "relative":
if gain > 0: if gain > 0:
raise SDRParameterError( raise SDRParameterError("When gain_mode = 'relative', gain must be < 0. This sets \
"When gain_mode = 'relative', gain must be < 0. This sets \ the gain relative to the maximum possible gain.")
the gain relative to the maximum possible gain."
)
else: else:
abs_gain = rx_gain_max + gain abs_gain = rx_gain_max + gain
else: else:
@ -540,10 +534,8 @@ class Pluto(SDR):
if gain_mode == "relative": if gain_mode == "relative":
if gain > 0: if gain > 0:
raise SDRParameterError( raise SDRParameterError("When gain_mode = 'relative', gain must be < 0. This sets\
"When gain_mode = 'relative', gain must be < 0. This sets\ the gain relative to the maximum possible gain.")
the gain relative to the maximum possible gain."
)
else: else:
abs_gain = tx_gain_max + gain abs_gain = tx_gain_max + gain
else: else:

View File

@ -131,19 +131,15 @@ class RTLSDR(SDR):
if gain_mode == "relative": if gain_mode == "relative":
if gain > 0: if gain > 0:
raise SDRParameterError( raise SDRParameterError("When gain_mode = 'relative', gain must be < 0. This sets\
"When gain_mode = 'relative', gain must be < 0. This sets\ the gain relative to the maximum possible gain.")
the gain relative to the maximum possible gain."
)
target_gain = max_gain + gain target_gain = max_gain + gain
else: else:
target_gain = gain target_gain = gain
if target_gain < min_gain or target_gain > max_gain: if target_gain < min_gain or target_gain > max_gain:
print( print(f"Requested gain {target_gain} dB out of range;\
f"Requested gain {target_gain} dB out of range;\ clamping to valid span {min_gain}-{max_gain} dB.")
clamping to valid span {min_gain}-{max_gain} dB."
)
target_gain = min(max(target_gain, min_gain), max_gain) target_gain = min(max(target_gain, min_gain), max_gain)
target_gain = min(available_gains, key=lambda g: abs(g - target_gain)) target_gain = min(available_gains, key=lambda g: abs(g - target_gain))

View File

@ -392,10 +392,8 @@ class ThinkRF(SDR):
actual_sample_rate = self.BASE_SAMPLE_RATE / decimation actual_sample_rate = self.BASE_SAMPLE_RATE / decimation
if abs(actual_sample_rate - requested_sample_rate) > 1e3: # More than 1 kHz difference if abs(actual_sample_rate - requested_sample_rate) > 1e3: # More than 1 kHz difference
print( print(f"ThinkRF: Requested {requested_sample_rate/1e6:.2f} MS/s → \
f"ThinkRF: Requested {requested_sample_rate/1e6:.2f} MS/s → \ Using decimation={decimation} ({actual_sample_rate/1e6:.2f} MS/s)")
Using decimation={decimation} ({actual_sample_rate/1e6:.2f} MS/s)"
)
return decimation, actual_sample_rate return decimation, actual_sample_rate

View File

@ -148,10 +148,8 @@ class USRP(SDR):
gain_range = self.usrp.get_rx_gain_range() gain_range = self.usrp.get_rx_gain_range()
if gain_mode == "relative": if gain_mode == "relative":
if gain > 0: if gain > 0:
raise SDRParameterError( raise SDRParameterError("When gain_mode = 'relative', gain must be < 0. This sets\
"When gain_mode = 'relative', gain must be < 0. This sets\ the gain relative to the maximum possible gain.")
the gain relative to the maximum possible gain."
)
else: else:
# set gain relative to max # set gain relative to max
abs_gain = gain_range.stop() + gain abs_gain = gain_range.stop() + gain
@ -356,10 +354,8 @@ class USRP(SDR):
gain_range = self.usrp.get_tx_gain_range() gain_range = self.usrp.get_tx_gain_range()
if gain_mode == "relative": if gain_mode == "relative":
if gain > 0: if gain > 0:
raise SDRParameterError( raise SDRParameterError("When gain_mode = 'relative', gain must be < 0. This sets\
"When gain_mode = 'relative', gain must be < 0. This sets\ the gain relative to the maximum possible gain.")
the gain relative to the maximum possible gain."
)
else: else:
# set gain relative to max # set gain relative to max
abs_gain = gain_range.stop() + gain abs_gain = gain_range.stop() + gain

View File

@ -37,10 +37,8 @@ class Add(RecordableBlock, ProcessBlock):
samples = block.get_samples(num_samples) samples = block.get_samples(num_samples)
if len(samples) != num_samples: if len(samples) != num_samples:
raise ValueError( raise ValueError(f"Block {self.__class__.__name__} requested {num_samples} \
f"Block {self.__class__.__name__} requested {num_samples} \ from block {block.__class__.__name__} but got {len(samples)}.")
from block {block.__class__.__name__} but got {len(samples)}."
)
return samples return samples

View File

@ -23,11 +23,9 @@ class ProcessBlock(Block, ABC):
) )
elif not all(isinstance(item, Block) for item in input): elif not all(isinstance(item, Block) for item in input):
raise ValueError( raise ValueError(f"Invalid input to block '{self.__class__.__name__}'. \
f"Invalid input to block '{self.__class__.__name__}'. \
Expected a list of Block objects but got \ Expected a list of Block objects but got \
{'[' + ',' .join(f'{item.__class__.__name__}({repr(item)})' for item in input) + ']'}" {'[' + ',' .join(f'{item.__class__.__name__}({repr(item)})' for item in input) + ']'}")
)
elif len(input) != len(self.input_type): elif len(input) != len(self.input_type):
raise ValueError( raise ValueError(

View File

@ -20,10 +20,8 @@ class RecordableBlock(Block, Recordable):
:raises ValueError: If the number of samples is incorrect.""" :raises ValueError: If the number of samples is incorrect."""
samples = self.get_samples(num_samples) samples = self.get_samples(num_samples)
if len(samples) != num_samples: if len(samples) != num_samples:
raise ValueError( raise ValueError(f"Error in block {self.__class__.__name__} record(). \
f"Error in block {self.__class__.__name__} record(). \ Requested {num_samples} samples but got {len(samples)}")
Requested {num_samples} samples but got {len(samples)}"
)
metadata = self._get_metadata() metadata = self._get_metadata()
return Recording(data=samples, metadata=metadata) return Recording(data=samples, metadata=metadata)

View File

@ -39,9 +39,7 @@ class RecordingSource(SourceBlock, RecordableBlock):
:raises ValueError: If num_samples is greater than the recording length. :raises ValueError: If num_samples is greater than the recording length.
""" """
if num_samples - 1 >= self.recording.data.shape[1]: if num_samples - 1 >= self.recording.data.shape[1]:
raise ValueError( raise ValueError(f"{num_samples} samples requested from recording source with \
f"{num_samples} samples requested from recording source with \ {self.recording.data.shape[1]} samples available.")
{self.recording.data.shape[1]} samples available."
)
return self.recording.data[0, 0:num_samples] return self.recording.data[0, 0:num_samples]

View File

@ -610,10 +610,8 @@ def cut_out( # noqa: C901 # TODO: Simplify function
raise ValueError("signal must be CxN complex.") raise ValueError("signal must be CxN complex.")
if fill_type not in {"zeros", "ones", "low-snr", "avg-snr", "high-snr"}: if fill_type not in {"zeros", "ones", "low-snr", "avg-snr", "high-snr"}:
raise UserWarning( raise UserWarning("""fill_type must be "zeros", "ones", "low-snr", "avg-snr", or "high-snr",
"""fill_type must be "zeros", "ones", "low-snr", "avg-snr", or "high-snr", "ones" has been selected by default""")
"ones" has been selected by default"""
)
if max_section_size < 1 or max_section_size >= n: if max_section_size < 1 or max_section_size >= n:
raise ValueError("max_section_size must be at least 1 and must be less than the length of signal.") raise ValueError("max_section_size must be at least 1 and must be less than the length of signal.")