cgse 0.16.11__tar.gz → 0.16.13__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.
- {cgse-0.16.11 → cgse-0.16.13}/PKG-INFO +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/async_control.py +14 -18
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/confman_acs.py +0 -1
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/mixin.py +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_mixin.py +67 -2
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/__init__.py +0 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py +3 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-fits/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-hdf5/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-spw/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/pyproject.toml +1 -1
- {cgse-0.16.11 → cgse-0.16.13}/service_registry.db +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/service_registry.db-shm +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/service_registry.db-wal +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/.github/workflows/ruff-format-check.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/.gitignore +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/buffer_vat.log +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/buffer_vat.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/bump.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/conftest.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/bits.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/calibration.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/command.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/config.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/control.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/counter.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/decorators.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/device.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/dicts.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/dummy.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/env.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/exceptions.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/heartbeat.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/hk.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/listener.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/metrics.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/mixin.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/monitoring.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/observer.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/obsid.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/persistence.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/plugin.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/process.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/reload.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/settings.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/setup.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/api/system.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/custom_theme/main.html +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/coding_style.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/docs.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/installation.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/monitoring.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/monorepo.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/nox.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/plugins.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/project-configuration.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/unit_testing.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/uv.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/dev_guide/versioning.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/getting_started.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/help.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/images/cli-cgse.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/images/github-fork-clone-dark.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/images/github-fork-clone.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/images/grafana-queries.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/images/icons/cgse-logo-blue.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/images/icons/cgse-logo.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/initialize.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-common/images/load_methods.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-common/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-common/settings.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-common/setup.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-coordinates/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-core/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-core/notifyhub.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-core/registry.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/cgse-gui/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/libs/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/package_list.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/projects/cgse-tools.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/projects/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/projects/symetrie-hexapod.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/roadmap.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/stylesheets/custom.css +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/stylesheets/extra.css +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/tutorial.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/user_guide/cli.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/docs/user_guide/index.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/duckdb_metrics.db +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/duckdb_metrics.db.wal +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/identifier.sqlite +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/justfile +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/justfile +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/noxfile.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/service_registry.db +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/cgse_common/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/cgse_common/cgse.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/cgse_common/settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/bits.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/calibration.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/config.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/counter.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/decorators.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/device.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/dicts.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/env.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/exceptions.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/heartbeat.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/hk.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/log.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/metrics.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/observer.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/obsid.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/persistence.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/plugin.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/plugins/metrics/duckdb.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/plugins/metrics/influxdb.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/plugins/metrics/timescaledb.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/process.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/py.typed +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/randomwalk.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/ratelimit.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/reload.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/resource.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/response.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/scpi.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/settings.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/setup.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/signal.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/socketdevice.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/state.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/system.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/task.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/version.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/src/egse/zmq_ser.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/conftest.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/COPYING +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00028_201028_155259.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00029_201028_155331.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00030_210311_134043.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00080_210917_105245.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00081_210922_142259.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL/conf/SETUP_CSL_00082_210923_094458.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL1/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/CSL2/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/IAS/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/INTA/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/LAB23/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00027_211119_140441.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00028_211119_160406.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00029_211119_172918.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00030_211122_103604.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/SRON/conf/SETUP_SRON_00031_211123_124900.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/common/telemetry/tm-dictionary-default.csv +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/conf/SETUP_20250114_1519.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/conf/config-file.toml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/cal_coeff_1234.csv +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/calibration.csv +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/calibration.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/command.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/corrupt.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/data-file.txt +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/empty_data_file.txt +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/empty_yaml_file.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/local_settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/new_local_settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/data/test_setup.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/icons/hourglass.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/icons/keyboard.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/icons/soap_sponge.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/lib/dev1/shared-lib.so +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/data/lib/dev2/shared-lib.so +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/fixtures/default_env.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/fixtures/helpers.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/empty_process.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/handle_sigterm.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/process_with_children.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/raise_value_error.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/void-0.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/scripts/void-1.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_bits.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_config.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_decorators.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_device.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_env.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_fixtures.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_hk.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_influxdb_plugin.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_log.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_metrics.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_plugin.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_process.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_ratelimit.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_resource.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_response.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_settings.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_setup.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_signal.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_state.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_system.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_task.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-common/tests/test_zmq_ser.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/cgse_coordinates/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/cgse_coordinates/settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/avoidance.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/cslmodel.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/laser_tracker_to_dict.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/point.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/pyplot.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/referenceFrame.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/refmodel.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/rotationMatrix.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/src/egse/coordinates/transform3d_addon.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_avoidance.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_coordinates_plot.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_coordinates_serialize.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_point.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_ref_model.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_reference_frames.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-coordinates/tests/test_refmodel.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/.envrc.disabled +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/service_registry.db +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/_start.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/_status.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/_stop.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/cgse_explore.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/cgse_core/settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/_setup_core.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/async_control_claude.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/command.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/__main__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/confman.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/confman/confman_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/connect-todo.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/connect.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/control.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/dummy.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/busy.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/operational-mode.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/pm_ui.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/simulator-mode.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/start-process-button.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/stop-process-button.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/icons/user-interface.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/listener.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/logger/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/logger/__main__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/logger/log_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/metricshub/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/metricshub/server.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/monitoring.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/client.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/event.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/server.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/notifyhub/test.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/procman.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/procman_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/procman_protocol.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/procman/procman_ui.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/protocol.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/proxy.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/backend.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/client.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/server.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/registry/service.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/services.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/__main__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/persistence.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/storage.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/src/egse/storage/storage_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/conftest.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/data/local_settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/fixtures/default_env.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/fixtures/helpers.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/fixtures/services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/marimo/intro.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_subscribe_to_notifyhub.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_test_async_registry_client.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_test_registry_client_server.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_test_service_registry_server.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/script_test_sync_registry_client.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/stress_test_registry_server.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_async_control.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_client_server_interaction.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_cm_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_command.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_confman_setups.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_connect.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_control.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_dummy.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_event_notification.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_extensions.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_listener.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_logger.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_notify_hub.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_protocol.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_registry_backend.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_registry_service.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_server_running.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_server_running_with_fixture.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_settings_core.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-core/tests/test_zmq_microservice.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/buttons.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-start.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu-cs-stop.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu-cs.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-started.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu_cs-stopped.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/aeu_cs.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/alert.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/arrow-double-left.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/arrow-double-right.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/arrow-up.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/backward.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/busy.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cleaning.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/color-scheme.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cs-connected-alert.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cs-connected-disabled.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cs-connected.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/cs-not-connected.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/double-left-arrow.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/double-right-arrow.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/erase-disabled.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/erase.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fitsgen-start.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fitsgen-stop.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fitsgen.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/forward.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fov-hk-start.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fov-hk-stop.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/fov-hk.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/front-desk.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/home-actioned.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/home-disabled.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/home.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/info.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/invalid.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-green.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-grey.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-orange.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-red.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-square-green.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-square-grey.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-square-orange.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/led-square-red.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-green.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/limit-switch-all-red.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el+.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/limit-switch-el-.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/location-marker.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-dpu.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-gimbal.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-huber.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-ogse.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-puna.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-tcs.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/logo-zonda.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/maximize.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/meter.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/more.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-start.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk-stop.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/n-fee-hk.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/observing-off.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/observing-on.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/open-document-hdf5.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/ops-mode.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/play-green.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/plugged-disabled.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/plugged.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/pm_ui.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/power-button-green.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/power-button-red.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/power-button.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/radar.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/radioactive.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/reload.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/remote-control-off.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/remote-control-on.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/repeat-blue.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/repeat.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/settings.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/shrink.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/shutter.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/sign-off.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/sign-on.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/sim-mode.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/small-buttons-go.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/small-buttons-minus.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/small-buttons-plus.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/sponge.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/start-button-disabled.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/start-button.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/stop-button-disabled.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/stop-button.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/stop-red.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/stop.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-disabled-square.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-disabled.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-off-square.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-off.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-on-square.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/switch-on.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/temperature-control.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/th_ui_logo.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/unplugged.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/unvalid.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/user-interface.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/vacuum.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/valid.png +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-dark.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/icons/zoom-to-pixel-white.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/led.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/limitswitch.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/states.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/styles/dark.qss +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/styles/default.qss +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/styles.qss +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/libs/cgse-gui/src/egse/gui/switch.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/mkdocs.yml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/noxfile.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/overrides/.icons/custom/dbend-dark.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/overrides/.icons/custom/dbend-light.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/overrides/.icons/custom/gear.svg +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/cgse_tools/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/cgse_tools/cgse_clock.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/cgse_tools/cgse_commands.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/cgse_tools/cgse_services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/cgse-tools/src/egse/tools/status.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/justfile +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/noxfile.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/service_registry.db +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_acs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_adev.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_dev.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_mon.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_protocol.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/egse/tempcontrol/keithley/daq6510_sim.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_explore.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/cgse_services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/src/keithley_tempcontrol/settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/temperature_readings.log +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/script_daq6510_central_heating.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/script_daq6510_mon.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/script_plot_readings.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/test_adev.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/keithley-tempcontrol/tests/test_dev.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_devif.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/egse/tempcontrol/lakeshore/lakeshore336_protocol.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_explore.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/cgse_services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/src/lakeshore_tempcontrol/settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/lakeshore-tempcontrol/tests/test_lakeshore336_simulator.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/alpha.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/dynalpha.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/hexapod_ui.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_protocol.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/joran_ui.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/pmac_regex.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_protocol.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_sim.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/punaplus.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_devif.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_protocol.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/zonda_ui.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/__init__.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_explore.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/cgse_services.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/symetrie_hexapod/settings.yaml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/tests/test_puna.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/tests/test_puna_cs.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/tests/test_puna_simulator.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-fits/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-fits/src/egse/plugins/storage/fits.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-hdf5/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-hdf5/src/egse/plugins/storage/hdf5.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-spw/README.md +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/projects/plato/plato-spw/src/egse/spw.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/ruff.toml +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/scratch/advanced-process-monitoring.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/scratch/live-process-monitoring.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/scratch/match-case.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/scratch/processes.json +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/scratch/simple-process-monitoring.py +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/temperature_readings.log +0 -0
- {cgse-0.16.11 → cgse-0.16.13}/test_service_registry.db +0 -0
|
@@ -18,7 +18,6 @@ from rich.traceback import Traceback
|
|
|
18
18
|
from egse.env import bool_env
|
|
19
19
|
from egse.exceptions import InitialisationError
|
|
20
20
|
from egse.log import logging
|
|
21
|
-
from egse.process import ProcessStatus
|
|
22
21
|
from egse.registry.client import AsyncRegistryClient
|
|
23
22
|
from egse.system import Periodic
|
|
24
23
|
from egse.system import get_current_location
|
|
@@ -48,6 +47,7 @@ RECREATE_SOCKET = False
|
|
|
48
47
|
"""Recreate ZeroMQ socket after a timeout. Set to True when experiencing problems
|
|
49
48
|
with corrupted socket states. This is mainly used for REQ-REP protocols."""
|
|
50
49
|
|
|
50
|
+
|
|
51
51
|
class SocketType(Enum):
|
|
52
52
|
"""The socket type defines which socket to use for the intended communication."""
|
|
53
53
|
|
|
@@ -498,8 +498,7 @@ class AsyncControlServer:
|
|
|
498
498
|
self._sequential_queue.put_nowait(coroutine_func)
|
|
499
499
|
|
|
500
500
|
|
|
501
|
-
class DummyAsyncControlServer(AsyncControlServer):
|
|
502
|
-
...
|
|
501
|
+
class DummyAsyncControlServer(AsyncControlServer): ...
|
|
503
502
|
|
|
504
503
|
|
|
505
504
|
DEFAULT_CLIENT_REQUEST_TIMEOUT = 5.0 # seconds
|
|
@@ -510,12 +509,12 @@ DEFAULT_LINGER = 100 # milliseconds
|
|
|
510
509
|
|
|
511
510
|
class AsyncControlClient:
|
|
512
511
|
def __init__(
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
512
|
+
self,
|
|
513
|
+
endpoint: str | None = None,
|
|
514
|
+
service_type: str | None = None,
|
|
515
|
+
client_id: str = CONTROL_CLIENT_ID,
|
|
516
|
+
timeout: float = DEFAULT_CLIENT_REQUEST_TIMEOUT,
|
|
517
|
+
linger: int = DEFAULT_LINGER,
|
|
519
518
|
):
|
|
520
519
|
self.logger = logging.getLogger("egse.async_control.client")
|
|
521
520
|
|
|
@@ -672,10 +671,7 @@ class AsyncControlClient:
|
|
|
672
671
|
return response
|
|
673
672
|
|
|
674
673
|
async def block(self, sleep: int, timeout: int | None = None) -> str | None:
|
|
675
|
-
cmd = {
|
|
676
|
-
'command': 'block',
|
|
677
|
-
'sleep': sleep
|
|
678
|
-
}
|
|
674
|
+
cmd = {"command": "block", "sleep": sleep}
|
|
679
675
|
response = await self._send_request(SocketType.SERVICE, cmd, timeout=timeout)
|
|
680
676
|
if response["success"]:
|
|
681
677
|
return response["message"]
|
|
@@ -708,10 +704,10 @@ class AsyncControlClient:
|
|
|
708
704
|
return None
|
|
709
705
|
|
|
710
706
|
async def _send_request(
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
707
|
+
self,
|
|
708
|
+
socket_type: SocketType,
|
|
709
|
+
request: dict[str, Any] | str,
|
|
710
|
+
timeout: float | None = None,
|
|
715
711
|
) -> dict[str, Any]:
|
|
716
712
|
"""
|
|
717
713
|
Send a request to the control server and get the response.
|
|
@@ -832,7 +828,6 @@ class AsyncControlClient:
|
|
|
832
828
|
return self.service_command_socket
|
|
833
829
|
|
|
834
830
|
def recreate_socket(self, socket_type: SocketType):
|
|
835
|
-
|
|
836
831
|
if RECREATE_SOCKET:
|
|
837
832
|
self.logger.warning(f"Recreating {socket_type.name} socket ...")
|
|
838
833
|
match socket_type:
|
|
@@ -845,6 +840,7 @@ class AsyncControlClient:
|
|
|
845
840
|
else:
|
|
846
841
|
self.logger.debug("Socket recreation after timeout has been disabled.")
|
|
847
842
|
|
|
843
|
+
|
|
848
844
|
async def cs_test_device_command_timeouts():
|
|
849
845
|
"""
|
|
850
846
|
This test is about timeouts on the client and blocking commands on the server
|
|
@@ -104,7 +104,7 @@ def add_cr_lf(cmd_string: str) -> str:
|
|
|
104
104
|
return cmd_string
|
|
105
105
|
|
|
106
106
|
|
|
107
|
-
def expand_kwargs(kwargs: Dict):
|
|
107
|
+
def expand_kwargs(kwargs: Dict) -> str:
|
|
108
108
|
"""Expand keyword arguments and their values as 'key=value' separated by spaces."""
|
|
109
109
|
return " ".join(f"{k}={v}" for k, v in kwargs.items())
|
|
110
110
|
|
|
@@ -201,10 +201,26 @@ def pre_command(transport: DeviceTransport = None, **kwargs):
|
|
|
201
201
|
LOGGER.info(f"Inside pre_command({transport.__class__.__name__}, {kwargs})")
|
|
202
202
|
|
|
203
203
|
|
|
204
|
-
def post_command(transport: DeviceTransport = None, response: bytes = None):
|
|
204
|
+
def post_command(transport: DeviceTransport = None, response: bytes = None) -> bytes:
|
|
205
205
|
LOGGER.info(f"Inside post_command(transport={transport.__class__.__name__}, {response=})")
|
|
206
206
|
return response
|
|
207
207
|
|
|
208
|
+
def rewrite_kwargs(kwargs: dict) -> str:
|
|
209
|
+
"""Rewrite some of the keyword arguments according to device specs."""
|
|
210
|
+
|
|
211
|
+
def calc_crc(data) -> int:
|
|
212
|
+
return len(data)
|
|
213
|
+
|
|
214
|
+
# assume we need to build our own fancy device command string...
|
|
215
|
+
address = kwargs.get("address")
|
|
216
|
+
identifier = kwargs.get("identifier")
|
|
217
|
+
cargo1 = kwargs.get("cargo1", 1)
|
|
218
|
+
cargo2 = kwargs.get("cargo2", 2)
|
|
219
|
+
|
|
220
|
+
cmd = f"{address:06X} 0x{identifier:06x} DEV_07463 CARGO1={cargo1:04d} CARGO2={cargo2}"
|
|
221
|
+
|
|
222
|
+
return f"{cmd} {calc_crc(cmd)}"
|
|
223
|
+
|
|
208
224
|
|
|
209
225
|
class NewStyleCommandInterface:
|
|
210
226
|
"""Interface definition for new style dynamic commands."""
|
|
@@ -251,10 +267,25 @@ class NewStyleCommandInterface:
|
|
|
251
267
|
def test_cmd_enum_with_format(self, enumeration: MyEnum):
|
|
252
268
|
"""Returns the command string"""
|
|
253
269
|
|
|
270
|
+
@dynamic_command(
|
|
271
|
+
cmd_type="transaction",
|
|
272
|
+
cmd_string="ARG_EXPANSION::{mode}::{crc:06x}",
|
|
273
|
+
use_format=True
|
|
274
|
+
)
|
|
275
|
+
def test_cmd_with_arg_expansion(self, *, mode, crc):
|
|
276
|
+
"""Return the command string, after processing the arguments in the overriding function."""
|
|
277
|
+
|
|
254
278
|
@dynamic_command(cmd_type="transaction", cmd_string="msg = ${msg}", pre_cmd=pre_command, post_cmd=post_command)
|
|
255
|
-
def test_cmd_pre_post(self, msg: str):
|
|
279
|
+
def test_cmd_pre_post(self, msg: str) -> bytes:
|
|
256
280
|
"""Return the command string, executes pre- and post-commands."""
|
|
257
281
|
|
|
282
|
+
@dynamic_command(cmd_type="transaction", cmd_string="TRANS ${a} ${kwargs}")
|
|
283
|
+
def test_cmd_process_kwargs(self, *, a, **kwargs):
|
|
284
|
+
"""Returns the command string."""
|
|
285
|
+
|
|
286
|
+
@dynamic_command(cmd_type="transaction", cmd_string="TRANS ${kwargs}", process_kwargs=rewrite_kwargs)
|
|
287
|
+
def test_cmd_rewrite_kwargs(self, **kwargs):
|
|
288
|
+
"""Returns the command string with rewritten kwargs."""
|
|
258
289
|
|
|
259
290
|
class NewStyleCommand(DynamicCommandMixin, NewStyleCommandInterface):
|
|
260
291
|
"""Simple new style commanding interface."""
|
|
@@ -263,6 +294,30 @@ class NewStyleCommand(DynamicCommandMixin, NewStyleCommandInterface):
|
|
|
263
294
|
self.transport = NewStyleTransport()
|
|
264
295
|
super().__init__()
|
|
265
296
|
|
|
297
|
+
def test_cmd_with_arg_expansion(self, *, mode, **kwargs):
|
|
298
|
+
# This function overrides the function from the NewStyleCommandInterface. The reason for doing that is
|
|
299
|
+
# because we need to reformat and/or process the arguments before passing them to the decorated function.
|
|
300
|
+
|
|
301
|
+
# rewrite 'mode'
|
|
302
|
+
mode = f"{mode:04x}"
|
|
303
|
+
|
|
304
|
+
if "crc" in kwargs:
|
|
305
|
+
crc = kwargs['crc']
|
|
306
|
+
else:
|
|
307
|
+
# 'calculate' the checksum
|
|
308
|
+
crc = 0x1234
|
|
309
|
+
|
|
310
|
+
# pass the method as defined in the NewStyleCommandInterface, to the handle_dynamic_command method of
|
|
311
|
+
# the mixin class. Provide the expected parameters as if the decorated function would have been called.
|
|
312
|
+
return DynamicCommandMixin.handle_dynamic_command(
|
|
313
|
+
self,
|
|
314
|
+
super().test_cmd_with_arg_expansion
|
|
315
|
+
)(
|
|
316
|
+
mode=mode, crc=crc
|
|
317
|
+
)
|
|
318
|
+
|
|
319
|
+
# Note that the following doesn't work, I didn't really figure out why yet...
|
|
320
|
+
# return super().test_cmd_with_mode_expansion(mode, crc)
|
|
266
321
|
|
|
267
322
|
def test_new_style(caplog):
|
|
268
323
|
caplog.set_level(logging.INFO)
|
|
@@ -319,6 +374,16 @@ def test_new_style(caplog):
|
|
|
319
374
|
in caplog.text
|
|
320
375
|
)
|
|
321
376
|
|
|
377
|
+
assert ns.test_cmd_with_arg_expansion(mode=23) == b"ARG_EXPANSION::0017::001234"
|
|
378
|
+
assert ns.test_cmd_with_arg_expansion(mode=0x10, crc=5678) == b"ARG_EXPANSION::0010::00162e"
|
|
379
|
+
|
|
380
|
+
# This tests the expansion of kwargs in the function's signature, by the default `expand_kwargs`
|
|
381
|
+
assert ns.test_cmd_process_kwargs(a=5, b=2, c=3) == b"TRANS 5 b=2 c=3"
|
|
382
|
+
|
|
383
|
+
tcu_mode=42 # == 0x2A
|
|
384
|
+
assert ns.test_cmd_rewrite_kwargs(address=5, identifier=2, cargo2=f"{hex(int(tcu_mode))[2:].zfill(4)}") == (
|
|
385
|
+
b"TRANS 000005 0x000002 DEV_07463 CARGO1=0001 CARGO2=002a 49"
|
|
386
|
+
)
|
|
322
387
|
|
|
323
388
|
def test_interface_definition():
|
|
324
389
|
with pytest.raises(TypeError):
|
{cgse-0.16.11 → cgse-0.16.13}/projects/generic/symetrie-hexapod/src/egse/hexapod/symetrie/puna_ui.py
RENAMED
|
@@ -54,6 +54,7 @@ MODULE_LOGGER = logging.getLogger(__name__)
|
|
|
54
54
|
|
|
55
55
|
load_dotenv(override=True)
|
|
56
56
|
|
|
57
|
+
|
|
57
58
|
class DeviceControllerType(IntEnum):
|
|
58
59
|
ALPHA = 0
|
|
59
60
|
ALPHA_PLUS = 1
|
|
@@ -347,6 +348,7 @@ def parse_arguments():
|
|
|
347
348
|
|
|
348
349
|
app = typer.Typer()
|
|
349
350
|
|
|
351
|
+
|
|
350
352
|
@app.command()
|
|
351
353
|
def main(device_id: str, device_type: str = "proxy", profile: bool = False):
|
|
352
354
|
multiprocessing.current_process().name = "puna_ui"
|
|
@@ -370,7 +372,7 @@ def main(device_id: str, device_type: str = "proxy", profile: bool = False):
|
|
|
370
372
|
Settings.set_profiling(True)
|
|
371
373
|
|
|
372
374
|
if device_type == "proxy":
|
|
373
|
-
|
|
375
|
+
_, _, device_id, device_name, *_ = get_hexapod_controller_pars(device_id)
|
|
374
376
|
factory = ProxyFactory()
|
|
375
377
|
proxy = factory.create(device_name, device_id=device_id)
|
|
376
378
|
if not proxy.ping():
|
|
index d9ce3de..563ad6b 100644
|
|
|
Binary file
|
|
index f937ad2..0f4029d 100644
|
|
|
Binary file
|
|
index 8567c72..4b17179 100644
|
|
|
Binary file
|
|
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
|