dttlib 0.7.7__tar.gz → 0.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dttlib might be problematic. Click here for more details.
- {dttlib-0.7.7 → dttlib-0.8.0}/Cargo.lock +9 -8
- {dttlib-0.7.7 → dttlib-0.8.0}/Cargo.toml +2 -2
- {dttlib-0.7.7 → dttlib-0.8.0}/PKG-INFO +1 -1
- {dttlib-0.7.7 → dttlib-0.8.0}/dttlib.pyi +4 -2
- dttlib-0.8.0/pypi_build/py_versions.sh +2 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/graph/analysis.rs +14 -3
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/dummy.rs +8 -8
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/random.rs +8 -8
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/channel_params/channel.rs +17 -11
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/channel_params/channel_settings.rs +8 -7
- {dttlib-0.7.7 → dttlib-0.8.0}/src/run.rs +6 -2
- {dttlib-0.7.7 → dttlib-0.8.0}/src/user/mod.rs +1 -1
- dttlib-0.7.7/pypi_build/py_versions.sh +0 -2
- {dttlib-0.7.7 → dttlib-0.8.0}/.cargo/config.toml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/.devcontainer/Dockerfile +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/.devcontainer/devcontainer.json +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/.gitignore +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/.gitlab-ci.yml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/.python-version +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/CHANGES.md +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/COPYING +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/COPYING-GPL-3 +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/PUBLISH.md +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/README.md +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/bacon.toml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/build.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/build_wheel.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/cycle.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/devel_bullseye.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/docs/cache_design.md +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/dtt_macros/Cargo.toml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/dtt_macros/src/builder_lite.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/dtt_macros/src/lib.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/gen_stub +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/include/nds2.h +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/linked_libraries.json +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipeline_macros/Cargo.toml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipeline_macros/src/box_async.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipeline_macros/src/derive.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipeline_macros/src/gen.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipeline_macros/src/lib.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/Cargo.toml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/README.md +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/accumulator.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/complex.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/lib.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/pipe.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/publisher.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/python.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/stateless/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/stateless/pure.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pipelines/src/unsynced_pipe.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/publish_bullseye.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/build.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/build_docker.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/build_docker_base.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/build_docker_debian.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/dttbuild/Dockerfile +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/dttbuild/install_python.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/dttbuild_base/Dockerfile +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/dttbuild_base/build_clang.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/dttbuild_base_conda/Dockerfile +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/dttbuild_base_conda/dttbuild.yaml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build/dttbuild_debian/Dockerfile +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_build.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pypi_upload.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/pyproject.toml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/run.py +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/setup_conda.sh +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/arithmetic/average.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/arithmetic/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/arithmetic/real.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/arithmetic/sqrt.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/convert.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/decimate.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/heterodyne.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/partition.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/subtract_start_average.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/time_delay.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/time_shift.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/conditioning/trim.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/custom/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/fourier_tools/asd.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/fourier_tools/csd.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/fourier_tools/fft.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/fourier_tools/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/general/identity.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/general/into.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/general/maybe_into.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/general/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/graph/graph_to_pipeline.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/graph/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/graph/scheme.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/graph/view_graph_to_pipeline.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/result/analysis_id.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/result/analysis_result.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/result/edge_data_type.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/result/freq_domain_value.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/result/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/result/record.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/result/time_domain_value.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/scope/downsample.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/scope/inline_fft.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/scope/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/scope/splice.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/types/frequency_domain_array.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/types/linear.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/types/math_traits.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/types/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/analysis/types/time_domain_array.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/bin/stub_gen.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/c_math.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/constraints/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/buffer.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/channel_query.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/data_distributor.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/data_source_pipeline.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/nds2_direct.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/nds_cache/gap_handler.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/nds_cache/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/data_source/no_data.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/errors.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/gds_sigp/asd.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/gds_sigp/decimate.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/gds_sigp/fft.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/gds_sigp/heterodyne.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/gds_sigp/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/lib.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/channel_params/channel_id.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/channel_params/channel_type.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/channel_params/decimation_parameters/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/channel_params/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/channel_params/nds_data_type.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/channel_params/unit.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/constraints/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/custom_pipeline.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/excitation_params.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/params/test_params.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/python/dtt_types.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/python/dttlib.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/python/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/run_context.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/scope_view/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/scope_view/pipeline_graph.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/scope_view/view_set.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/timeline/constraints.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/timeline/ffttools.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/timeline/general.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/timeline/init.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/timeline/mod.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/src/tokio_setup.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/test_dtt.py +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/test_dttlib.py +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/user_messages/Cargo.toml +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/user_messages/src/lib.rs +0 -0
- {dttlib-0.7.7 → dttlib-0.8.0}/wrapper.h +0 -0
|
@@ -1408,7 +1408,7 @@ checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76"
|
|
|
1408
1408
|
|
|
1409
1409
|
[[package]]
|
|
1410
1410
|
name = "dtt_macros"
|
|
1411
|
-
version = "0.
|
|
1411
|
+
version = "0.8.0"
|
|
1412
1412
|
dependencies = [
|
|
1413
1413
|
"proc-macro2",
|
|
1414
1414
|
"quote",
|
|
@@ -1417,7 +1417,7 @@ dependencies = [
|
|
|
1417
1417
|
|
|
1418
1418
|
[[package]]
|
|
1419
1419
|
name = "dttlib"
|
|
1420
|
-
version = "0.
|
|
1420
|
+
version = "0.8.0"
|
|
1421
1421
|
dependencies = [
|
|
1422
1422
|
"bindgen",
|
|
1423
1423
|
"dtt_macros",
|
|
@@ -2969,7 +2969,7 @@ dependencies = [
|
|
|
2969
2969
|
[[package]]
|
|
2970
2970
|
name = "nds-cache-rs"
|
|
2971
2971
|
version = "0.1.0"
|
|
2972
|
-
source = "git+https://git.ligo.org/cds/software/cr_tools/nds-cache-rs.git?tag=
|
|
2972
|
+
source = "git+https://git.ligo.org/cds/software/cr_tools/nds-cache-rs.git?tag=dev_18#7fc14bd2ad2cf4c027cb212ab171752c9cc5b46c"
|
|
2973
2973
|
dependencies = [
|
|
2974
2974
|
"arrakis",
|
|
2975
2975
|
"bitcode",
|
|
@@ -3008,7 +3008,7 @@ dependencies = [
|
|
|
3008
3008
|
|
|
3009
3009
|
[[package]]
|
|
3010
3010
|
name = "nds_test"
|
|
3011
|
-
version = "0.
|
|
3011
|
+
version = "0.8.0"
|
|
3012
3012
|
dependencies = [
|
|
3013
3013
|
"dttlib",
|
|
3014
3014
|
"eframe",
|
|
@@ -3572,7 +3572,7 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
|
|
3572
3572
|
|
|
3573
3573
|
[[package]]
|
|
3574
3574
|
name = "pipeline_macros"
|
|
3575
|
-
version = "0.
|
|
3575
|
+
version = "0.8.0"
|
|
3576
3576
|
dependencies = [
|
|
3577
3577
|
"proc-macro2",
|
|
3578
3578
|
"quote",
|
|
@@ -3581,7 +3581,7 @@ dependencies = [
|
|
|
3581
3581
|
|
|
3582
3582
|
[[package]]
|
|
3583
3583
|
name = "pipelines"
|
|
3584
|
-
version = "0.
|
|
3584
|
+
version = "0.8.0"
|
|
3585
3585
|
dependencies = [
|
|
3586
3586
|
"futures",
|
|
3587
3587
|
"num-complex",
|
|
@@ -4770,11 +4770,12 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
|
|
|
4770
4770
|
[[package]]
|
|
4771
4771
|
name = "ts-tree-rs"
|
|
4772
4772
|
version = "0.1.0"
|
|
4773
|
-
source = "git+https://git.ligo.org/cds/software/cr_tools/ts-tree-rs.git?tag=
|
|
4773
|
+
source = "git+https://git.ligo.org/cds/software/cr_tools/ts-tree-rs.git?tag=dev_1#5d55d4d1fa6bbb8299fc68c98e64ce43f7539c61"
|
|
4774
4774
|
dependencies = [
|
|
4775
4775
|
"intrusive-collections",
|
|
4776
4776
|
"itertools 0.13.0",
|
|
4777
4777
|
"ligo_hires_gps_time",
|
|
4778
|
+
"log",
|
|
4778
4779
|
"serde",
|
|
4779
4780
|
]
|
|
4780
4781
|
|
|
@@ -4860,7 +4861,7 @@ dependencies = [
|
|
|
4860
4861
|
|
|
4861
4862
|
[[package]]
|
|
4862
4863
|
name = "user_messages"
|
|
4863
|
-
version = "0.
|
|
4864
|
+
version = "0.8.0"
|
|
4864
4865
|
dependencies = [
|
|
4865
4866
|
"log",
|
|
4866
4867
|
"pretty_env_logger",
|
|
@@ -7,7 +7,7 @@ authors = ["Erik von Reis <erik.vonreis@ligo.org>"]
|
|
|
7
7
|
edition = "2024"
|
|
8
8
|
homepage = "https://git.ligo.org/cds/software/cr-tools/dtt_rust"
|
|
9
9
|
repository = "https://git.ligo.org/cds/software/cr-tools/dtt_rust"
|
|
10
|
-
version = "0.
|
|
10
|
+
version = "0.8.0"
|
|
11
11
|
|
|
12
12
|
[package]
|
|
13
13
|
name = "dttlib"
|
|
@@ -82,7 +82,7 @@ num-rational = {version = "0.4"}
|
|
|
82
82
|
|
|
83
83
|
# ligo
|
|
84
84
|
nds2_client_rs = { git="https://git.ligo.org/erik.vonreis/nds_client_rs.git", tag = "dev_0", optional = true }
|
|
85
|
-
nds-cache-rs = { git = "https://git.ligo.org/cds/software/cr_tools/nds-cache-rs.git", tag = "
|
|
85
|
+
nds-cache-rs = { git = "https://git.ligo.org/cds/software/cr_tools/nds-cache-rs.git", tag = "dev_18"}
|
|
86
86
|
ligo_hires_gps_time = {workspace = true}
|
|
87
87
|
|
|
88
88
|
# workspace
|
|
@@ -49,7 +49,7 @@ class Channel:
|
|
|
49
49
|
@property
|
|
50
50
|
def channel_type(self) -> ChannelType: ...
|
|
51
51
|
@property
|
|
52
|
-
def
|
|
52
|
+
def period(self) -> PipDuration: ...
|
|
53
53
|
@property
|
|
54
54
|
def dcu_id(self) -> typing.Optional[builtins.int]: ...
|
|
55
55
|
@property
|
|
@@ -76,8 +76,10 @@ class Channel:
|
|
|
76
76
|
def online(self) -> builtins.bool: ...
|
|
77
77
|
@property
|
|
78
78
|
def testpoint(self) -> builtins.bool: ...
|
|
79
|
+
@property
|
|
80
|
+
def rate_hz(self) -> builtins.float: ...
|
|
79
81
|
def __new__(
|
|
80
|
-
cls, name: builtins.str, data_type: NDSDataType,
|
|
82
|
+
cls, name: builtins.str, data_type: NDSDataType, period: PipDuration
|
|
81
83
|
) -> Channel: ...
|
|
82
84
|
|
|
83
85
|
class ChannelId:
|
|
@@ -21,6 +21,7 @@ use crate::params::channel_params::ChannelSettings;
|
|
|
21
21
|
use crate::params::channel_params::channel::Channel;
|
|
22
22
|
use crate::params::channel_params::nds_data_type::NDSDataType::Float32;
|
|
23
23
|
use crate::run_context::RunContext;
|
|
24
|
+
use ligo_hires_gps_time::PipDuration;
|
|
24
25
|
use petgraph::algo::{connected_components, toposort};
|
|
25
26
|
use petgraph::data::DataMap;
|
|
26
27
|
use petgraph::graph::NodeIndex;
|
|
@@ -795,9 +796,19 @@ pub(crate) fn test_schemes<'a>(
|
|
|
795
796
|
check_duplicate_names("per-channel scheme", per_channel_scheme)?;
|
|
796
797
|
check_duplicate_names("cross-channel scheme", cross_channel_scheme)?;
|
|
797
798
|
|
|
798
|
-
let a_chan = Channel::new(
|
|
799
|
-
|
|
800
|
-
|
|
799
|
+
let a_chan = Channel::new(
|
|
800
|
+
"a_channel".to_string(),
|
|
801
|
+
Float32,
|
|
802
|
+
PipDuration::from_seconds(1.0),
|
|
803
|
+
)
|
|
804
|
+
.into();
|
|
805
|
+
|
|
806
|
+
let b_chan = Channel::new(
|
|
807
|
+
"b_channel".to_string(),
|
|
808
|
+
Float32,
|
|
809
|
+
PipDuration::from_seconds(1.0),
|
|
810
|
+
)
|
|
811
|
+
.into();
|
|
801
812
|
|
|
802
813
|
let channels = vec![a_chan, b_chan];
|
|
803
814
|
|
|
@@ -128,7 +128,7 @@ impl Dummy {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
fn gen_data_for_channel(channel: &Channel, start: PipInstant, span: PipDuration) -> Buffer {
|
|
131
|
-
let count = (span /
|
|
131
|
+
let count = (span / channel.period) as usize;
|
|
132
132
|
|
|
133
133
|
match channel.data_type {
|
|
134
134
|
NDSDataType::Int16 => {
|
|
@@ -137,7 +137,7 @@ impl Dummy {
|
|
|
137
137
|
nds_cache_rs::buffer::Buffer::Int16(TimeSeries::new(
|
|
138
138
|
channel.clone().into(),
|
|
139
139
|
start,
|
|
140
|
-
|
|
140
|
+
channel.period,
|
|
141
141
|
v,
|
|
142
142
|
))
|
|
143
143
|
.into()
|
|
@@ -148,7 +148,7 @@ impl Dummy {
|
|
|
148
148
|
nds_cache_rs::buffer::Buffer::Int32(TimeSeries::new(
|
|
149
149
|
channel.clone().into(),
|
|
150
150
|
start,
|
|
151
|
-
|
|
151
|
+
channel.period,
|
|
152
152
|
v,
|
|
153
153
|
))
|
|
154
154
|
.into()
|
|
@@ -159,7 +159,7 @@ impl Dummy {
|
|
|
159
159
|
nds_cache_rs::buffer::Buffer::Int64(TimeSeries::new(
|
|
160
160
|
channel.clone().into(),
|
|
161
161
|
start,
|
|
162
|
-
|
|
162
|
+
channel.period,
|
|
163
163
|
v,
|
|
164
164
|
))
|
|
165
165
|
.into()
|
|
@@ -170,7 +170,7 @@ impl Dummy {
|
|
|
170
170
|
nds_cache_rs::buffer::Buffer::Float32(TimeSeries::new(
|
|
171
171
|
channel.clone().into(),
|
|
172
172
|
start,
|
|
173
|
-
|
|
173
|
+
channel.period,
|
|
174
174
|
v,
|
|
175
175
|
))
|
|
176
176
|
.into()
|
|
@@ -181,7 +181,7 @@ impl Dummy {
|
|
|
181
181
|
nds_cache_rs::buffer::Buffer::Float64(TimeSeries::new(
|
|
182
182
|
channel.clone().into(),
|
|
183
183
|
start,
|
|
184
|
-
|
|
184
|
+
channel.period,
|
|
185
185
|
v,
|
|
186
186
|
))
|
|
187
187
|
.into()
|
|
@@ -192,7 +192,7 @@ impl Dummy {
|
|
|
192
192
|
nds_cache_rs::buffer::Buffer::Complex32(TimeSeries::new(
|
|
193
193
|
channel.clone().into(),
|
|
194
194
|
start,
|
|
195
|
-
|
|
195
|
+
channel.period,
|
|
196
196
|
v,
|
|
197
197
|
))
|
|
198
198
|
.into()
|
|
@@ -203,7 +203,7 @@ impl Dummy {
|
|
|
203
203
|
nds_cache_rs::buffer::Buffer::UInt32(TimeSeries::new(
|
|
204
204
|
channel.clone().into(),
|
|
205
205
|
start,
|
|
206
|
-
|
|
206
|
+
channel.period,
|
|
207
207
|
v,
|
|
208
208
|
))
|
|
209
209
|
.into()
|
|
@@ -135,7 +135,7 @@ impl RandomSource {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
fn gen_data_for_channel(channel: &Channel, start: PipInstant, span: PipDuration) -> Buffer {
|
|
138
|
-
let count = (span /
|
|
138
|
+
let count = (span / channel.period) as usize;
|
|
139
139
|
|
|
140
140
|
let mut rng = rand::rng();
|
|
141
141
|
|
|
@@ -145,7 +145,7 @@ impl RandomSource {
|
|
|
145
145
|
nds_cache_rs::buffer::Buffer::Int16(TimeSeries::new(
|
|
146
146
|
channel.clone().into(),
|
|
147
147
|
start,
|
|
148
|
-
|
|
148
|
+
channel.period,
|
|
149
149
|
v,
|
|
150
150
|
))
|
|
151
151
|
.into()
|
|
@@ -155,7 +155,7 @@ impl RandomSource {
|
|
|
155
155
|
nds_cache_rs::buffer::Buffer::Int32(TimeSeries::new(
|
|
156
156
|
channel.clone().into(),
|
|
157
157
|
start,
|
|
158
|
-
|
|
158
|
+
channel.period,
|
|
159
159
|
v,
|
|
160
160
|
))
|
|
161
161
|
.into()
|
|
@@ -165,7 +165,7 @@ impl RandomSource {
|
|
|
165
165
|
nds_cache_rs::buffer::Buffer::Int64(TimeSeries::new(
|
|
166
166
|
channel.clone().into(),
|
|
167
167
|
start,
|
|
168
|
-
|
|
168
|
+
channel.period,
|
|
169
169
|
v,
|
|
170
170
|
))
|
|
171
171
|
.into()
|
|
@@ -175,7 +175,7 @@ impl RandomSource {
|
|
|
175
175
|
nds_cache_rs::buffer::Buffer::Float32(TimeSeries::new(
|
|
176
176
|
channel.clone().into(),
|
|
177
177
|
start,
|
|
178
|
-
|
|
178
|
+
channel.period,
|
|
179
179
|
v,
|
|
180
180
|
))
|
|
181
181
|
.into()
|
|
@@ -185,7 +185,7 @@ impl RandomSource {
|
|
|
185
185
|
nds_cache_rs::buffer::Buffer::Float64(TimeSeries::new(
|
|
186
186
|
channel.clone().into(),
|
|
187
187
|
start,
|
|
188
|
-
|
|
188
|
+
channel.period,
|
|
189
189
|
v,
|
|
190
190
|
))
|
|
191
191
|
.into()
|
|
@@ -197,7 +197,7 @@ impl RandomSource {
|
|
|
197
197
|
nds_cache_rs::buffer::Buffer::Complex32(TimeSeries::new(
|
|
198
198
|
channel.clone().into(),
|
|
199
199
|
start,
|
|
200
|
-
|
|
200
|
+
channel.period,
|
|
201
201
|
v,
|
|
202
202
|
))
|
|
203
203
|
.into()
|
|
@@ -207,7 +207,7 @@ impl RandomSource {
|
|
|
207
207
|
nds_cache_rs::buffer::Buffer::UInt32(TimeSeries::new(
|
|
208
208
|
channel.clone().into(),
|
|
209
209
|
start,
|
|
210
|
-
|
|
210
|
+
channel.period,
|
|
211
211
|
v,
|
|
212
212
|
))
|
|
213
213
|
.into()
|
|
@@ -22,7 +22,7 @@ pub struct Channel {
|
|
|
22
22
|
pub name: String,
|
|
23
23
|
pub data_type: NDSDataType,
|
|
24
24
|
pub channel_type: ChannelType,
|
|
25
|
-
pub
|
|
25
|
+
pub period: PipDuration,
|
|
26
26
|
pub dcu_id: Option<i64>,
|
|
27
27
|
pub channel_number: Option<i64>,
|
|
28
28
|
pub calibration: Option<i64>,
|
|
@@ -58,7 +58,7 @@ impl Hash for Channel {
|
|
|
58
58
|
|
|
59
59
|
// rate
|
|
60
60
|
// get period in pips_per_sec
|
|
61
|
-
let period_pips =
|
|
61
|
+
let period_pips = self.period;
|
|
62
62
|
period_pips.hash(state);
|
|
63
63
|
|
|
64
64
|
// type
|
|
@@ -73,8 +73,8 @@ impl Hash for Channel {
|
|
|
73
73
|
impl PartialEq<Self> for Channel {
|
|
74
74
|
/// always update hash and PartialEq::eq to use the same data subset
|
|
75
75
|
fn eq(&self, other: &Self) -> bool {
|
|
76
|
-
let self_period_pips =
|
|
77
|
-
let other_period_pips =
|
|
76
|
+
let self_period_pips = self.period;
|
|
77
|
+
let other_period_pips = self.period;
|
|
78
78
|
|
|
79
79
|
(self.name == other.name)
|
|
80
80
|
&& (self_period_pips == other_period_pips)
|
|
@@ -89,11 +89,12 @@ impl Eq for Channel {}
|
|
|
89
89
|
#[cfg(feature = "nds")]
|
|
90
90
|
impl From<Channel> for nds2_client_rs::Channel {
|
|
91
91
|
fn from(value: Channel) -> Self {
|
|
92
|
+
let sample_rate = value.rate_hz();
|
|
92
93
|
Self {
|
|
93
94
|
name: value.name,
|
|
94
95
|
channel_type: value.channel_type.into(),
|
|
95
96
|
data_type: value.data_type.into(),
|
|
96
|
-
sample_rate
|
|
97
|
+
sample_rate,
|
|
97
98
|
gain: value.gain.unwrap_or(1.0) as f32,
|
|
98
99
|
slope: value.slope.unwrap_or(1.0) as f32,
|
|
99
100
|
offset: value.offset.unwrap_or(0.0) as f32,
|
|
@@ -108,7 +109,7 @@ impl From<Channel> for nds_cache_rs::buffer::Channel {
|
|
|
108
109
|
value.name,
|
|
109
110
|
nds_cache_rs::buffer::ChannelType::Raw,
|
|
110
111
|
value.data_type.into(),
|
|
111
|
-
value.
|
|
112
|
+
value.period,
|
|
112
113
|
value.gain.unwrap_or(1.0) as f32,
|
|
113
114
|
value.slope.unwrap_or(1.0) as f32,
|
|
114
115
|
value.offset.unwrap_or(0.0) as f32,
|
|
@@ -145,7 +146,7 @@ impl TryFrom<nds_cache_rs::buffer::Channel> for Channel {
|
|
|
145
146
|
name,
|
|
146
147
|
data_type: value.data_type().into(),
|
|
147
148
|
channel_type: value.channel_type().into(),
|
|
148
|
-
|
|
149
|
+
period: value.period(),
|
|
149
150
|
gain: Some(value.gain() as f64),
|
|
150
151
|
offset: Some(value.offset() as f64),
|
|
151
152
|
slope: Some(value.slope() as f64),
|
|
@@ -185,9 +186,9 @@ impl PartialOrd for Channel {
|
|
|
185
186
|
Some(Ordering::Less)
|
|
186
187
|
} else if self.name > other.name {
|
|
187
188
|
Some(Ordering::Greater)
|
|
188
|
-
} else if self.
|
|
189
|
+
} else if self.period > other.period {
|
|
189
190
|
Some(Ordering::Less)
|
|
190
|
-
} else if self.
|
|
191
|
+
} else if self.period < other.period {
|
|
191
192
|
Some(Ordering::Greater)
|
|
192
193
|
} else if self.data_type == other.data_type {
|
|
193
194
|
Some(Ordering::Equal)
|
|
@@ -201,11 +202,11 @@ impl PartialOrd for Channel {
|
|
|
201
202
|
#[cfg_attr(any(feature = "python", feature = "python-pipe"), pymethods)]
|
|
202
203
|
impl Channel {
|
|
203
204
|
#[new]
|
|
204
|
-
pub fn new(name: String, data_type: NDSDataType,
|
|
205
|
+
pub fn new(name: String, data_type: NDSDataType, period: PipDuration) -> Self {
|
|
205
206
|
Channel {
|
|
206
207
|
name,
|
|
207
208
|
data_type,
|
|
208
|
-
|
|
209
|
+
period,
|
|
209
210
|
..Default::default()
|
|
210
211
|
}
|
|
211
212
|
}
|
|
@@ -220,4 +221,9 @@ impl Channel {
|
|
|
220
221
|
pub fn testpoint(&self) -> bool {
|
|
221
222
|
self.channel_type == ChannelType::TestPoint
|
|
222
223
|
}
|
|
224
|
+
|
|
225
|
+
#[getter]
|
|
226
|
+
pub fn rate_hz(&self) -> f64 {
|
|
227
|
+
self.period.period_to_freq_hz()
|
|
228
|
+
}
|
|
223
229
|
}
|
|
@@ -17,6 +17,7 @@ use crate::run_context::RunContext;
|
|
|
17
17
|
use crate::timeline::Timeline;
|
|
18
18
|
#[cfg(not(any(feature = "python", feature = "python-pipe")))]
|
|
19
19
|
use dtt_macros::{getter, new};
|
|
20
|
+
use ligo_hires_gps_time::PipDuration;
|
|
20
21
|
use pipelines::complex::{c64, c128};
|
|
21
22
|
use pipelines::{PipeDataPrimitive, PipelineSubscriber};
|
|
22
23
|
#[cfg(any(feature = "python", feature = "python-pipe"))]
|
|
@@ -77,8 +78,8 @@ impl Hash for ChannelSettings {
|
|
|
77
78
|
#[cfg_attr(any(feature = "python", feature = "python-pipe"), pymethods)]
|
|
78
79
|
impl ChannelSettings {
|
|
79
80
|
#[new]
|
|
80
|
-
pub fn new(channel_name: String, data_type: NDSDataType,
|
|
81
|
-
let channel = Channel::new(channel_name, data_type,
|
|
81
|
+
pub fn new(channel_name: String, data_type: NDSDataType, period: PipDuration) -> Self {
|
|
82
|
+
let channel = Channel::new(channel_name, data_type, period);
|
|
82
83
|
Self {
|
|
83
84
|
channel,
|
|
84
85
|
..Self::default()
|
|
@@ -97,7 +98,7 @@ impl ChannelSettings {
|
|
|
97
98
|
|
|
98
99
|
#[getter]
|
|
99
100
|
pub fn rate_hz(&self) -> f64 {
|
|
100
|
-
self.channel.rate_hz
|
|
101
|
+
self.channel.rate_hz()
|
|
101
102
|
}
|
|
102
103
|
}
|
|
103
104
|
|
|
@@ -119,7 +120,7 @@ impl ChannelSettings {
|
|
|
119
120
|
if is_complex {
|
|
120
121
|
self.raw_decimation_params = DecimationParameters::new(
|
|
121
122
|
DecimationFilter::FirLS3,
|
|
122
|
-
self.channel.rate_hz,
|
|
123
|
+
self.channel.rate_hz(),
|
|
123
124
|
heterodyned_sample_rate_hz,
|
|
124
125
|
)?;
|
|
125
126
|
|
|
@@ -131,7 +132,7 @@ impl ChannelSettings {
|
|
|
131
132
|
// decimation down to the raw sample rate first, but don't time shift.
|
|
132
133
|
self.raw_decimation_params = DecimationParameters::new(
|
|
133
134
|
DecimationFilter::FirLS3,
|
|
134
|
-
self.channel.rate_hz,
|
|
135
|
+
self.channel.rate_hz(),
|
|
135
136
|
sample_max_hz,
|
|
136
137
|
)?;
|
|
137
138
|
|
|
@@ -146,7 +147,7 @@ impl ChannelSettings {
|
|
|
146
147
|
// not heterodyned
|
|
147
148
|
self.raw_decimation_params = DecimationParameters::new(
|
|
148
149
|
DecimationFilter::FirLS1,
|
|
149
|
-
self.channel.rate_hz,
|
|
150
|
+
self.channel.rate_hz(),
|
|
150
151
|
sample_max_hz,
|
|
151
152
|
)?;
|
|
152
153
|
self.heterodyned_decimation_params = DecimationParameters::default();
|
|
@@ -158,7 +159,7 @@ impl ChannelSettings {
|
|
|
158
159
|
|
|
159
160
|
self.decimation_delays = DecimationDelays::new(
|
|
160
161
|
remove_delay,
|
|
161
|
-
self.channel.rate_hz,
|
|
162
|
+
self.channel.rate_hz(),
|
|
162
163
|
total_decs,
|
|
163
164
|
self.raw_decimation_params.filter,
|
|
164
165
|
);
|
|
@@ -165,7 +165,7 @@ mod tests {
|
|
|
165
165
|
use crate::tokio_setup::tokio_init;
|
|
166
166
|
use crate::user::{DTT, UserOutputReceiver};
|
|
167
167
|
use lazy_static::lazy_static;
|
|
168
|
-
use ligo_hires_gps_time::PipInstant;
|
|
168
|
+
use ligo_hires_gps_time::{PipDuration, PipInstant};
|
|
169
169
|
use tokio::time::Duration;
|
|
170
170
|
|
|
171
171
|
fn test_parameters(num_chans: usize, averages: u64) -> TestParams {
|
|
@@ -175,7 +175,11 @@ mod tests {
|
|
|
175
175
|
|
|
176
176
|
ChannelParams {
|
|
177
177
|
active: true,
|
|
178
|
-
channel: Channel::new(
|
|
178
|
+
channel: Channel::new(
|
|
179
|
+
channel_name,
|
|
180
|
+
NDSDataType::Float64,
|
|
181
|
+
PipDuration::freq_hz_to_period(2048.0),
|
|
182
|
+
),
|
|
179
183
|
}
|
|
180
184
|
})
|
|
181
185
|
.collect();
|
|
@@ -704,7 +704,7 @@ mod tests {
|
|
|
704
704
|
name: "X1:NOT-A_CHANNEL".to_string(),
|
|
705
705
|
channel_type: ChannelType::Unknown,
|
|
706
706
|
data_type: NDSDataType::Float64,
|
|
707
|
-
|
|
707
|
+
period: PipDuration::freq_hz_to_period(16384.0),
|
|
708
708
|
dcu_id: None,
|
|
709
709
|
channel_number: None,
|
|
710
710
|
calibration: None,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|