annotationsfix #19
102
poetry.lock
generated
102
poetry.lock
generated
|
|
@ -896,13 +896,113 @@ files = [
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
numpy = ">=1.21.2"
|
numpy = ">=1.21.2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "httpcore"
|
||||||
|
version = "1.0.9"
|
||||||
|
description = "A minimal low-level HTTP client."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8"
|
||||||
|
groups = ["test"]
|
||||||
|
files = [
|
||||||
|
{file = "httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55"},
|
||||||
|
{file = "httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
certifi = "*"
|
||||||
|
h11 = ">=0.16"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
asyncio = ["anyio (>=4.0,<5.0)"]
|
||||||
|
http2 = ["h2 (>=3,<5)"]
|
||||||
|
socks = ["socksio (==1.*)"]
|
||||||
|
trio = ["trio (>=0.22.0,<1.0)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "httptools"
|
||||||
|
version = "0.7.1"
|
||||||
|
description = "A collection of framework independent HTTP protocol utils."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.9"
|
||||||
|
groups = ["server", "test"]
|
||||||
|
files = [
|
||||||
|
{file = "httptools-0.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:11d01b0ff1fe02c4c32d60af61a4d613b74fad069e47e06e9067758c01e9ac78"},
|
||||||
|
{file = "httptools-0.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84d86c1e5afdc479a6fdabf570be0d3eb791df0ae727e8dbc0259ed1249998d4"},
|
||||||
|
{file = "httptools-0.7.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c8c751014e13d88d2be5f5f14fc8b89612fcfa92a9cc480f2bc1598357a23a05"},
|
||||||
|
{file = "httptools-0.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:654968cb6b6c77e37b832a9be3d3ecabb243bbe7a0b8f65fbc5b6b04c8fcabed"},
|
||||||
|
{file = "httptools-0.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b580968316348b474b020edf3988eecd5d6eec4634ee6561e72ae3a2a0e00a8a"},
|
||||||
|
{file = "httptools-0.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d496e2f5245319da9d764296e86c5bb6fcf0cf7a8806d3d000717a889c8c0b7b"},
|
||||||
|
{file = "httptools-0.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cbf8317bfccf0fed3b5680c559d3459cccf1abe9039bfa159e62e391c7270568"},
|
||||||
|
{file = "httptools-0.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:474d3b7ab469fefcca3697a10d11a32ee2b9573250206ba1e50d5980910da657"},
|
||||||
|
{file = "httptools-0.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3c3b7366bb6c7b96bd72d0dbe7f7d5eead261361f013be5f6d9590465ea1c70"},
|
||||||
|
{file = "httptools-0.7.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:379b479408b8747f47f3b253326183d7c009a3936518cdb70db58cffd369d9df"},
|
||||||
|
{file = "httptools-0.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cad6b591a682dcc6cf1397c3900527f9affef1e55a06c4547264796bbd17cf5e"},
|
||||||
|
{file = "httptools-0.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eb844698d11433d2139bbeeb56499102143beb582bd6c194e3ba69c22f25c274"},
|
||||||
|
{file = "httptools-0.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f65744d7a8bdb4bda5e1fa23e4ba16832860606fcc09d674d56e425e991539ec"},
|
||||||
|
{file = "httptools-0.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:135fbe974b3718eada677229312e97f3b31f8a9c8ffa3ae6f565bf808d5b6bcb"},
|
||||||
|
{file = "httptools-0.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:38e0c83a2ea9746ebbd643bdfb521b9aa4a91703e2cd705c20443405d2fd16a5"},
|
||||||
|
{file = "httptools-0.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f25bbaf1235e27704f1a7b86cd3304eabc04f569c828101d94a0e605ef7205a5"},
|
||||||
|
{file = "httptools-0.7.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2c15f37ef679ab9ecc06bfc4e6e8628c32a8e4b305459de7cf6785acd57e4d03"},
|
||||||
|
{file = "httptools-0.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7fe6e96090df46b36ccfaf746f03034e5ab723162bc51b0a4cf58305324036f2"},
|
||||||
|
{file = "httptools-0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f72fdbae2dbc6e68b8239defb48e6a5937b12218e6ffc2c7846cc37befa84362"},
|
||||||
|
{file = "httptools-0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e99c7b90a29fd82fea9ef57943d501a16f3404d7b9ee81799d41639bdaae412c"},
|
||||||
|
{file = "httptools-0.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:3e14f530fefa7499334a79b0cf7e7cd2992870eb893526fb097d51b4f2d0f321"},
|
||||||
|
{file = "httptools-0.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6babce6cfa2a99545c60bfef8bee0cc0545413cb0018f617c8059a30ad985de3"},
|
||||||
|
{file = "httptools-0.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:601b7628de7504077dd3dcb3791c6b8694bbd967148a6d1f01806509254fb1ca"},
|
||||||
|
{file = "httptools-0.7.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:04c6c0e6c5fb0739c5b8a9eb046d298650a0ff38cf42537fc372b28dc7e4472c"},
|
||||||
|
{file = "httptools-0.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69d4f9705c405ae3ee83d6a12283dc9feba8cc6aaec671b412917e644ab4fa66"},
|
||||||
|
{file = "httptools-0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44c8f4347d4b31269c8a9205d8a5ee2df5322b09bbbd30f8f862185bb6b05346"},
|
||||||
|
{file = "httptools-0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:465275d76db4d554918aba40bf1cbebe324670f3dfc979eaffaa5d108e2ed650"},
|
||||||
|
{file = "httptools-0.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:322d00c2068d125bd570f7bf78b2d367dad02b919d8581d7476d8b75b294e3e6"},
|
||||||
|
{file = "httptools-0.7.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:c08fe65728b8d70b6923ce31e3956f859d5e1e8548e6f22ec520a962c6757270"},
|
||||||
|
{file = "httptools-0.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7aea2e3c3953521c3c51106ee11487a910d45586e351202474d45472db7d72d3"},
|
||||||
|
{file = "httptools-0.7.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0e68b8582f4ea9166be62926077a3334064d422cf08ab87d8b74664f8e9058e1"},
|
||||||
|
{file = "httptools-0.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df091cf961a3be783d6aebae963cc9b71e00d57fa6f149025075217bc6a55a7b"},
|
||||||
|
{file = "httptools-0.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f084813239e1eb403ddacd06a30de3d3e09a9b76e7894dcda2b22f8a726e9c60"},
|
||||||
|
{file = "httptools-0.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7347714368fb2b335e9063bc2b96f2f87a9ceffcd9758ac295f8bbcd3ffbc0ca"},
|
||||||
|
{file = "httptools-0.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:cfabda2a5bb85aa2a904ce06d974a3f30fb36cc63d7feaddec05d2050acede96"},
|
||||||
|
{file = "httptools-0.7.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ac50afa68945df63ec7a2707c506bd02239272288add34539a2ef527254626a4"},
|
||||||
|
{file = "httptools-0.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de987bb4e7ac95b99b805b99e0aae0ad51ae61df4263459d36e07cf4052d8b3a"},
|
||||||
|
{file = "httptools-0.7.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d169162803a24425eb5e4d51d79cbf429fd7a491b9e570a55f495ea55b26f0bf"},
|
||||||
|
{file = "httptools-0.7.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49794f9250188a57fa73c706b46cb21a313edb00d337ca4ce1a011fe3c760b28"},
|
||||||
|
{file = "httptools-0.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aeefa0648362bb97a7d6b5ff770bfb774930a327d7f65f8208394856862de517"},
|
||||||
|
{file = "httptools-0.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0d92b10dbf0b3da4823cde6a96d18e6ae358a9daa741c71448975f6a2c339cad"},
|
||||||
|
{file = "httptools-0.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:5ddbd045cfcb073db2449563dd479057f2c2b681ebc232380e63ef15edc9c023"},
|
||||||
|
{file = "httptools-0.7.1.tar.gz", hash = "sha256:abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "httpx"
|
||||||
|
version = "0.28.1"
|
||||||
|
description = "The next generation HTTP client."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.8"
|
||||||
|
groups = ["test"]
|
||||||
|
files = [
|
||||||
|
{file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"},
|
||||||
|
{file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
anyio = "*"
|
||||||
|
certifi = "*"
|
||||||
|
httpcore = "==1.*"
|
||||||
|
idna = "*"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""]
|
||||||
|
cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
|
||||||
|
http2 = ["h2 (>=3,<5)"]
|
||||||
|
socks = ["socksio (==1.*)"]
|
||||||
|
zstd = ["zstandard (>=0.18.0)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "idna"
|
name = "idna"
|
||||||
version = "3.11"
|
version = "3.11"
|
||||||
description = "Internationalized Domain Names in Applications (IDNA)"
|
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8"
|
python-versions = ">=3.8"
|
||||||
groups = ["docs"]
|
groups = ["agent", "docs", "server", "test"]
|
||||||
files = [
|
files = [
|
||||||
{file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"},
|
{file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"},
|
||||||
{file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"},
|
{file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"},
|
||||||
|
|
|
||||||
|
|
@ -958,10 +958,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]
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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])]
|
||||||
|
|
@ -432,10 +428,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:
|
||||||
|
|
@ -545,10 +539,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:
|
||||||
|
|
|
||||||
|
|
@ -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))
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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(
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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]
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
This module contains all the CLI bindings for the ria package.
|
This module contains all the CLI bindings for the ria package.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
from .annotate import annotate
|
from .annotate import annotate
|
||||||
from .campaign import campaign
|
from .campaign import campaign
|
||||||
from .capture import capture
|
from .capture import capture
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user