module-qc-tools 2.5.0__tar.gz → 2.6.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.
- module_qc_tools-2.6.0/.gitattributes +6 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.gitlab-ci.yml +32 -0
- module_qc_tools-2.6.0/.zenodo.json +127 -0
- module_qc_tools-2.6.0/CITATION.cff +82 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/PKG-INFO +8 -6
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/README.md +4 -2
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/history.md +21 -3
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/install.md +2 -2
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/measurements.md +6 -1
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/pyproject.toml +3 -3
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/_version.py +2 -2
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/ADC_CALIBRATION.py +1 -1
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/ANALOG_READBACK.py +1 -1
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/DATA_TRANSMISSION.py +1 -1
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/INJECTION_CAPACITANCE.py +1 -1
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/IV_MEASURE.py +1 -1
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/LP_MODE.py +13 -6
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/OVERVOLTAGE_PROTECTION.py +1 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/SLDO.py +1 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/UNDERSHUNT_PROTECTION.py +1 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/VCAL_CALIBRATION.py +1 -1
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/hardware_emulator.py +7 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/module_state_template.json +1 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/iv_measure.py +12 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/lp_mode.py +34 -19
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/hardware_control_base.py +2 -2
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/misc.py +8 -1
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/yarr.py +93 -13
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tbump.toml +10 -3
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.gitignore +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.gitmodules +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.linkcheckerrc +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.pre-commit-config.yaml +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/LICENSE +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/.gitkeep +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/.overrides/main.html +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/.snippets/abbrs.txt +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/.snippets/links.txt +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/assets/css/custom.css +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/config.md +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/development.md +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/emulator.md +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/index.md +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/meta/authors.md +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/reference/cli.md +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/reference/gen_ref_nav.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xIIzI.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts.css +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/readme.txt +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/mkdocs.yml +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/__init__.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/LONG_TERM_STABILITY_DCS.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/__init__.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/__main__.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/get_nominal_current.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/globals.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/main.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/split_old_config.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/upload_localdb.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/yarr.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/console.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_emulator_merged_vmux.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_example_felix_merged_vmux_itkpixv2.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_example_felix_merged_vmux_v1.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_example_felix_separate_vmux_itkpixv2.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_example_felix_separate_vmux_v1.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_example_merged_vmux_itkpixv2.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_example_merged_vmux_v1.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_example_separate_vmux_itkpixv2.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/hw_config_example_separate_vmux_v1.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/meas_config.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/configs/connectivity/20UPGXM1234567_Lx_dummy.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/configs/connectivity/20UPGXM1234567_Lx_dummy_disabledchip.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/configs/connectivity/20UPGXM1234567_info.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip1.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip2.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip3.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip4.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/configs/controller/specCfg-rd53b.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/schema/hw_config.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/schema/meas_config.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/__init__.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/adc_calibration.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/analog_readback.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/data_transmission.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/injection_capacitance.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/long_term_stability_dcs.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/overvoltage_protection.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/sldo.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/undershunt_protection.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/vcal_calibration.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/typing_compat.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/__init__.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/hrc.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/multimeter.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/ntc.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/power_supply.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/subprocess_emulator.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/conftest.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_emulator.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_measurements.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_package.py +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_schema/cutter_pcb_tab.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_schema/cutter_pcb_tab_BAD.json +0 -0
- {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_schema.py +0 -0
|
@@ -127,6 +127,15 @@ package:
|
|
|
127
127
|
- dist/
|
|
128
128
|
expire_in: 1 day
|
|
129
129
|
|
|
130
|
+
# the below should match the zenodo deploy
|
|
131
|
+
check_zenodo:
|
|
132
|
+
stage: build
|
|
133
|
+
script:
|
|
134
|
+
- python3 -m pip install
|
|
135
|
+
git+https://gitlab.com/sbeniamine/gitlab2zenodo@1c794155e8dafd3a585f059e32bb4c0826cdf3a3
|
|
136
|
+
- git archive --format zip --output ${CI_COMMIT_REF_SLUG}.zip
|
|
137
|
+
${CI_COMMIT_SHA}
|
|
138
|
+
|
|
130
139
|
.deploy_package:
|
|
131
140
|
stage: deploy
|
|
132
141
|
dependencies:
|
|
@@ -187,3 +196,26 @@ deploy_docs_latest:
|
|
|
187
196
|
"latest")
|
|
188
197
|
- echo "Building and deploying docs for ${VERSION}"
|
|
189
198
|
- pipx run hatch run docs:deploy "${VERSION}" ${IS_LATEST:+"$IS_LATEST"}
|
|
199
|
+
|
|
200
|
+
.zenodo_base:
|
|
201
|
+
stage: deploy
|
|
202
|
+
before_script:
|
|
203
|
+
- python3 -m pip install
|
|
204
|
+
git+https://gitlab.com/sbeniamine/gitlab2zenodo@1c794155e8dafd3a585f059e32bb4c0826cdf3a3
|
|
205
|
+
- git archive --format zip --output ${CI_COMMIT_TAG#v}.zip ${CI_COMMIT_TAG}
|
|
206
|
+
|
|
207
|
+
zenodo_release:
|
|
208
|
+
extends: .zenodo_base
|
|
209
|
+
rules:
|
|
210
|
+
- if: $CI_COMMIT_TAG =~ /^v?[0-9]+\.[0-9]+\.[0-9]+$/
|
|
211
|
+
script:
|
|
212
|
+
- g2z-send -i ${ZENODO_RECORD} -t ${ZENODO_TOKEN} -m .zenodo.json
|
|
213
|
+
${CI_COMMIT_TAG#v}.zip
|
|
214
|
+
|
|
215
|
+
zenodo_rc:
|
|
216
|
+
extends: .zenodo_base
|
|
217
|
+
rules:
|
|
218
|
+
- if: $CI_COMMIT_TAG =~ /^v?[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]*$/
|
|
219
|
+
script:
|
|
220
|
+
- g2z-send -s -p -i ${ZENODO_RECORD_SANDBOX} -t ${ZENODO_TOKEN_SANDBOX} -m
|
|
221
|
+
.zenodo.json ${CI_COMMIT_TAG#v}.zip
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": " general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests for the ATLAS ITk project",
|
|
3
|
+
"license": "MIT",
|
|
4
|
+
"title": "atlas-itk-pixel-modules/mqt: v2.6.0",
|
|
5
|
+
"version": "v2.6.0",
|
|
6
|
+
"upload_type": "software",
|
|
7
|
+
"creators": [
|
|
8
|
+
{
|
|
9
|
+
"name": "Elisabetta Pianori",
|
|
10
|
+
"affiliation": "Lawrence Berkeley National Laboratory, Berkeley",
|
|
11
|
+
"orcid": "0000-0001-9233-5892"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "Timon Heim",
|
|
15
|
+
"affiliation": "Lawrence Berkeley National Laboratory, Berkeley",
|
|
16
|
+
"orcid": "0000-0002-7669-5318"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "Lingxin Meng",
|
|
20
|
+
"affiliation": "Lancaster University",
|
|
21
|
+
"orcid": "0000-0002-2901-6589"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "Marija Marjanovic",
|
|
25
|
+
"affiliation": "University of Oklahoma",
|
|
26
|
+
"orcid": "0000-0002-4468-0154"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "Emily Thompson",
|
|
30
|
+
"affiliation": "Lawrence Berkeley National Laboratory, Berkeley",
|
|
31
|
+
"orcid": "0000-0001-7050-8203"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "Giordon Stark",
|
|
35
|
+
"affiliation": "UC Santa Cruz",
|
|
36
|
+
"orcid": "0000-0001-6616-3433"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "Jay Chan",
|
|
40
|
+
"affiliation": "Lawrence Berkeley National Laboratory, Berkeley",
|
|
41
|
+
"orcid": "0000-0001-7069-0295"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "Deion Fellers",
|
|
45
|
+
"affiliation": "Lawrence Berkeley National Laboratory, Berkeley",
|
|
46
|
+
"orcid": "0000-0002-0731-9562"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "Matthias Saimpert",
|
|
50
|
+
"affiliation": "IRFU, CEA, Université Paris-Saclay",
|
|
51
|
+
"orcid": "0000-0002-3765-1320"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "Marianna Liberatore",
|
|
55
|
+
"affiliation": "IRFU, CEA, Université Paris-Saclay",
|
|
56
|
+
"orcid": "0000-0002-8444-8827"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "Kehang Bai",
|
|
60
|
+
"affiliation": "University of Oregon",
|
|
61
|
+
"orcid": "0000-0001-8508-1169"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "Haoran Zhao",
|
|
65
|
+
"affiliation": "University of Washington, Seattle",
|
|
66
|
+
"orcid": "0000-0002-6638-847X"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "Angira Rastogi",
|
|
70
|
+
"affiliation": "Lawrence Berkeley National Laboratory, Berkeley",
|
|
71
|
+
"orcid": "0000-0003-1245-6710"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "Charles Huitquist",
|
|
75
|
+
"affiliation": "Lawrence Berkeley National Laboratory, Berkeley",
|
|
76
|
+
"orcid": "0009-0006-8213-621X"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "Lubos Vozdecky",
|
|
80
|
+
"affiliation": "University of Oklahoma",
|
|
81
|
+
"orcid": "0000-0003-2541-4827"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "Hideyuki Oide",
|
|
85
|
+
"affiliation": "KEK, Japan",
|
|
86
|
+
"orcid": "0000-0002-2173-3233"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "Laura Pintucci",
|
|
90
|
+
"affiliation": "INFN Udine",
|
|
91
|
+
"orcid": "0000-0001-9842-9830"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "Dima Maneuski",
|
|
95
|
+
"affiliation": "University of Glasgow",
|
|
96
|
+
"orcid": ""
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "Francesco Crescioli",
|
|
100
|
+
"affiliation": "LPNHE, Paris",
|
|
101
|
+
"orcid": "0000-0001-6457-2575"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "Md Arif Abdulla Samy",
|
|
105
|
+
"affiliation": "University of Glasgow",
|
|
106
|
+
"orcid": ""
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"access_right": "open",
|
|
110
|
+
"keywords": [
|
|
111
|
+
"physics",
|
|
112
|
+
"electrical",
|
|
113
|
+
"silicon",
|
|
114
|
+
"pixel",
|
|
115
|
+
"modules",
|
|
116
|
+
"atlas",
|
|
117
|
+
"hep",
|
|
118
|
+
"itk"
|
|
119
|
+
],
|
|
120
|
+
"related_identifiers": [
|
|
121
|
+
{
|
|
122
|
+
"scheme": "url",
|
|
123
|
+
"identifier": "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools/-/tree/v2.6.0",
|
|
124
|
+
"relation": "isSupplementTo"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
abstract: general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
|
|
2
|
+
for the ATLAS ITk project
|
|
3
|
+
authors:
|
|
4
|
+
- affiliation: Lawrence Berkeley National Laboratory, Berkeley
|
|
5
|
+
family-names: Elisabetta Pianori
|
|
6
|
+
orcid: 0000-0001-9233-5892
|
|
7
|
+
- affiliation: Lawrence Berkeley National Laboratory, Berkeley
|
|
8
|
+
family-names: Timon Heim
|
|
9
|
+
orcid: 0000-0002-7669-5318
|
|
10
|
+
- affiliation: Lancaster University
|
|
11
|
+
family-names: Lingxin Meng
|
|
12
|
+
orcid: 0000-0002-2901-6589
|
|
13
|
+
- affiliation: University of Oklahoma
|
|
14
|
+
family-names: Marija Marjanovic
|
|
15
|
+
orcid: 0000-0002-4468-0154
|
|
16
|
+
- affiliation: Lawrence Berkeley National Laboratory, Berkeley
|
|
17
|
+
family-names: Emily Thompson
|
|
18
|
+
orcid: 0000-0001-7050-8203
|
|
19
|
+
- affiliation: UC Santa Cruz
|
|
20
|
+
family-names: Giordon Stark
|
|
21
|
+
orcid: 0000-0001-6616-3433
|
|
22
|
+
- affiliation: Lawrence Berkeley National Laboratory, Berkeley
|
|
23
|
+
family-names: Jay Chan
|
|
24
|
+
orcid: 0000-0001-7069-0295
|
|
25
|
+
- affiliation: Lawrence Berkeley National Laboratory, Berkeley
|
|
26
|
+
family-names: Deion Fellers
|
|
27
|
+
orcid: 0000-0002-0731-9562
|
|
28
|
+
- affiliation: "IRFU, CEA, Universit\xE9 Paris-Saclay"
|
|
29
|
+
family-names: Matthias Saimpert
|
|
30
|
+
orcid: 0000-0002-3765-1320
|
|
31
|
+
- affiliation: "IRFU, CEA, Universit\xE9 Paris-Saclay"
|
|
32
|
+
family-names: Marianna Liberatore
|
|
33
|
+
orcid: 0000-0002-8444-8827
|
|
34
|
+
- affiliation: University of Oregon
|
|
35
|
+
family-names: Kehang Bai
|
|
36
|
+
orcid: 0000-0001-8508-1169
|
|
37
|
+
- affiliation: University of Washington, Seattle
|
|
38
|
+
family-names: Haoran Zhao
|
|
39
|
+
orcid: 0000-0002-6638-847X
|
|
40
|
+
- affiliation: Lawrence Berkeley National Laboratory, Berkeley
|
|
41
|
+
family-names: Angira Rastogi
|
|
42
|
+
orcid: 0000-0003-1245-6710
|
|
43
|
+
- affiliation: Lawrence Berkeley National Laboratory, Berkeley
|
|
44
|
+
family-names: Charles Huitquist
|
|
45
|
+
orcid: 0009-0006-8213-621X
|
|
46
|
+
- affiliation: University of Oklahoma
|
|
47
|
+
family-names: Lubos Vozdecky
|
|
48
|
+
orcid: 0000-0003-2541-4827
|
|
49
|
+
- affiliation: KEK, Japan
|
|
50
|
+
family-names: Hideyuki Oide
|
|
51
|
+
orcid: 0000-0002-2173-3233
|
|
52
|
+
- affiliation: INFN Udine
|
|
53
|
+
family-names: Laura Pintucci
|
|
54
|
+
orcid: 0000-0001-9842-9830
|
|
55
|
+
- affiliation: University of Glasgow
|
|
56
|
+
family-names: Dima Maneuski
|
|
57
|
+
- affiliation: LPNHE, Paris
|
|
58
|
+
family-names: Francesco Crescioli
|
|
59
|
+
orcid: 0000-0001-6457-2575
|
|
60
|
+
- affiliation: University of Glasgow
|
|
61
|
+
family-names: Md Arif Abdulla Samy
|
|
62
|
+
cff-version: 1.2.0
|
|
63
|
+
date-released: '2025-06-03'
|
|
64
|
+
doi: 10.5281/zenodo.15580233
|
|
65
|
+
identifiers:
|
|
66
|
+
- type: swh
|
|
67
|
+
value: swh:1:dir:7d6c84fd1350e351aa365098ebaba0d8eb6804cd;origin=https://doi.org/10.5281/zenodo.15580232;visit=swh:1:snp:5b7e07f226ec2353695cd4786ecd8459955899e8;anchor=swh:1:rel:9eee8a5bac77a8934b87ebe4cb5678216a846e66;path=/
|
|
68
|
+
keywords:
|
|
69
|
+
- physics
|
|
70
|
+
- electrical
|
|
71
|
+
- silicon
|
|
72
|
+
- pixel
|
|
73
|
+
- modules
|
|
74
|
+
- atlas
|
|
75
|
+
- hep
|
|
76
|
+
- itk
|
|
77
|
+
license:
|
|
78
|
+
- mit
|
|
79
|
+
message: If you use this software, please cite it using the metadata from this file.
|
|
80
|
+
title: 'atlas-itk-pixel-modules/mqt: v2.6.0'
|
|
81
|
+
type: software
|
|
82
|
+
version: v2.6.0
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: module_qc_tools
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.0
|
|
4
4
|
Summary: Module qc tools
|
|
5
5
|
Project-URL: Homepage, https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools
|
|
6
6
|
Project-URL: Bug Tracker, https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools/-/issues
|
|
7
7
|
Project-URL: Source, https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools
|
|
8
|
-
Project-URL: Documentation, https://atlas-itk-pixel-mqt.docs.cern.ch/2.
|
|
8
|
+
Project-URL: Documentation, https://atlas-itk-pixel-mqt.docs.cern.ch/2.6/
|
|
9
9
|
Author-email: Jay Chan <jay.chan@cern.ch>
|
|
10
10
|
Maintainer-email: Giordon Stark <gstark@cern.ch>
|
|
11
11
|
License: Copyright (c) 2018 ATLAS ITk Pixel Modules
|
|
@@ -33,8 +33,8 @@ Classifier: Operating System :: OS Independent
|
|
|
33
33
|
Classifier: Programming Language :: Python :: 3
|
|
34
34
|
Requires-Python: >=3.9
|
|
35
35
|
Requires-Dist: check-jsonschema
|
|
36
|
-
Requires-Dist: module-qc-data-tools>=1.
|
|
37
|
-
Requires-Dist: module-qc-database-tools>=2.
|
|
36
|
+
Requires-Dist: module-qc-data-tools>=1.3.0
|
|
37
|
+
Requires-Dist: module-qc-database-tools>=2.7.0
|
|
38
38
|
Requires-Dist: numpy
|
|
39
39
|
Requires-Dist: packaging
|
|
40
40
|
Requires-Dist: pre-commit
|
|
@@ -45,7 +45,7 @@ Requires-Dist: typer>=0.9.0
|
|
|
45
45
|
Requires-Dist: urllib3<2,>=1.26.20; 'el7.x86_64' in platform_release
|
|
46
46
|
Description-Content-Type: text/markdown
|
|
47
47
|
|
|
48
|
-
# module-qc-tools v2.
|
|
48
|
+
# module-qc-tools v2.6.0
|
|
49
49
|
|
|
50
50
|
A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
|
|
51
51
|
|
|
@@ -63,7 +63,7 @@ A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
|
|
|
63
63
|
| | |
|
|
64
64
|
| --- | --- |
|
|
65
65
|
| CI/CD | [![CI - Test][cicd-badge]][cicd-link] |
|
|
66
|
-
| Docs | [![Docs - Badge][docs-badge]][docs-link] |
|
|
66
|
+
| Docs | [![Docs - Badge][docs-badge]][docs-link] [![Zenodo][zenodo-badge]][zenodo-link] |
|
|
67
67
|
| Package | [![PyPI - Downloads - Total][pypi-downloads-total]][pypi-link] [![PyPI - Downloads - Per Month][pypi-downloads-dm]][pypi-link] [![PyPI - Version][pypi-version]][pypi-link] [![PyPI platforms][pypi-platforms]][pypi-link] |
|
|
68
68
|
| Meta | [![GitLab - Issue][gitlab-issues-badge]][gitlab-issues-link] [![License - MIT][license-badge]][license-link] |
|
|
69
69
|
|
|
@@ -80,6 +80,8 @@ A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
|
|
|
80
80
|
[pypi-version]: https://img.shields.io/pypi/v/module-qc-tools
|
|
81
81
|
[license-badge]: https://img.shields.io/badge/License-MIT-blue.svg
|
|
82
82
|
[license-link]: https://spdx.org/licenses/MIT.html
|
|
83
|
+
[zenodo-badge]: https://zenodo.org/badge/15442071.svg
|
|
84
|
+
[zenodo-link]: https://zenodo.org/badge/latestdoi/15442071
|
|
83
85
|
|
|
84
86
|
<!-- prettier-ignore-end -->
|
|
85
87
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# module-qc-tools v2.
|
|
1
|
+
# module-qc-tools v2.6.0
|
|
2
2
|
|
|
3
3
|
A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
|
|
4
4
|
|
|
@@ -16,7 +16,7 @@ A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
|
|
|
16
16
|
| | |
|
|
17
17
|
| --- | --- |
|
|
18
18
|
| CI/CD | [![CI - Test][cicd-badge]][cicd-link] |
|
|
19
|
-
| Docs | [![Docs - Badge][docs-badge]][docs-link] |
|
|
19
|
+
| Docs | [![Docs - Badge][docs-badge]][docs-link] [![Zenodo][zenodo-badge]][zenodo-link] |
|
|
20
20
|
| Package | [![PyPI - Downloads - Total][pypi-downloads-total]][pypi-link] [![PyPI - Downloads - Per Month][pypi-downloads-dm]][pypi-link] [![PyPI - Version][pypi-version]][pypi-link] [![PyPI platforms][pypi-platforms]][pypi-link] |
|
|
21
21
|
| Meta | [![GitLab - Issue][gitlab-issues-badge]][gitlab-issues-link] [![License - MIT][license-badge]][license-link] |
|
|
22
22
|
|
|
@@ -33,6 +33,8 @@ A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
|
|
|
33
33
|
[pypi-version]: https://img.shields.io/pypi/v/module-qc-tools
|
|
34
34
|
[license-badge]: https://img.shields.io/badge/License-MIT-blue.svg
|
|
35
35
|
[license-link]: https://spdx.org/licenses/MIT.html
|
|
36
|
+
[zenodo-badge]: https://zenodo.org/badge/15442071.svg
|
|
37
|
+
[zenodo-link]: https://zenodo.org/badge/latestdoi/15442071
|
|
36
38
|
|
|
37
39
|
<!-- prettier-ignore-end -->
|
|
38
40
|
|
|
@@ -16,6 +16,23 @@ and this project adheres to
|
|
|
16
16
|
|
|
17
17
|
**_Fixed:_**
|
|
18
18
|
|
|
19
|
+
## [2.6.0](https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools/-/tags/v2.6.0) - 2025-06-16 ## {: #mqt-v2.6.0 }
|
|
20
|
+
|
|
21
|
+
**_Changed:_**
|
|
22
|
+
|
|
23
|
+
- LP mode test now can deal with core column modules using YARR v1.5.5 in LPM
|
|
24
|
+
digital scan (!244)
|
|
25
|
+
|
|
26
|
+
!!! important
|
|
27
|
+
|
|
28
|
+
Now `_warm` or `_cold` module config must be provided to run LP mode test instead of the `_LP` config.
|
|
29
|
+
|
|
30
|
+
**_Added:_**
|
|
31
|
+
|
|
32
|
+
- Zenodo files (!251)
|
|
33
|
+
- check during `IV_MEASURE` that current is not all close to 0 (warm only)
|
|
34
|
+
(!257)
|
|
35
|
+
|
|
19
36
|
## [2.5.0](https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools/-/tags/v2.5.0) - 2025-06-02 ## {: #mqt-v2.5.0 }
|
|
20
37
|
|
|
21
38
|
**_Changed:_**
|
|
@@ -30,10 +47,11 @@ and this project adheres to
|
|
|
30
47
|
- Dropped `emulator-XYZ` executables in favor of `mqt emulator` (!232)
|
|
31
48
|
- Increased minimum supported python version to 3.8 (dropping 3.7) (!237)
|
|
32
49
|
- IV emulator with more realistic values than previous fit (!238)
|
|
33
|
-
- updated current for V2+V2BOM chips according to YTF recommendations (!242)
|
|
34
|
-
|
|
50
|
+
- updated current for V2+V2BOM chips according to YTF recommendations (!242)
|
|
51
|
+
|
|
52
|
+
!!! important
|
|
35
53
|
|
|
36
|
-
Requires module-qc-data-tools v1.1.4rc6
|
|
54
|
+
Requires module-qc-data-tools >= v1.1.4rc6
|
|
37
55
|
|
|
38
56
|
**_Added:_**
|
|
39
57
|
|
|
@@ -94,7 +94,7 @@ package.
|
|
|
94
94
|
$ python -m venv venv
|
|
95
95
|
$ source venv/bin/activate
|
|
96
96
|
$ python -m pip install -U pip
|
|
97
|
-
$ python -m pip install -U pip module-qc-tools==2.
|
|
97
|
+
$ python -m pip install -U pip module-qc-tools==2.6.0
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
### via uv
|
|
@@ -103,7 +103,7 @@ $ python -m pip install -U pip module-qc-tools==2.5.0
|
|
|
103
103
|
$ python -m venv venv
|
|
104
104
|
$ source venv/bin/activate
|
|
105
105
|
$ python -m pip install uv
|
|
106
|
-
$ uv pip install module-qc-tools==2.
|
|
106
|
+
$ uv pip install module-qc-tools==2.6.0
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
# Usage
|
|
@@ -342,6 +342,11 @@ This script will run the low power mode test (`task = LP_MODE`) as specified in
|
|
|
342
342
|
the input configuration json file (i.e. '$(module-qc-tools
|
|
343
343
|
--prefix)/configs/meas_config.json').
|
|
344
344
|
|
|
345
|
+
Due to the large number of modules with core column issues where bad core
|
|
346
|
+
columns have to be disabled during testing, typically the warm config contains
|
|
347
|
+
information of disabled core columns. Thus starting from v2.6.0 `_warm` or
|
|
348
|
+
`_cold` config has to be supplied when running the LP mode test!
|
|
349
|
+
|
|
345
350
|
**Configuration settings**
|
|
346
351
|
|
|
347
352
|
| Name | Description |
|
|
@@ -354,7 +359,7 @@ the input configuration json file (i.e. '$(module-qc-tools
|
|
|
354
359
|
??? example
|
|
355
360
|
|
|
356
361
|
```
|
|
357
|
-
measurement-LP-MODE -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/
|
|
362
|
+
measurement-LP-MODE -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
|
|
358
363
|
```
|
|
359
364
|
|
|
360
365
|
??? example "emulator"
|
|
@@ -20,8 +20,8 @@ dependencies = [
|
|
|
20
20
|
"tabulate",
|
|
21
21
|
"pre-commit",
|
|
22
22
|
"check-jsonschema",
|
|
23
|
-
"module-qc-data-tools >= 1.
|
|
24
|
-
"module-qc-database-tools >= 2.
|
|
23
|
+
"module-qc-data-tools >= 1.3.0",
|
|
24
|
+
"module-qc-database-tools >= 2.7.0",
|
|
25
25
|
"requests",
|
|
26
26
|
'urllib3>=1.26.20,<2; "el7.x86_64" in platform_release',
|
|
27
27
|
"typer>=0.9.0",
|
|
@@ -38,7 +38,7 @@ classifiers = [
|
|
|
38
38
|
"Homepage" = "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools"
|
|
39
39
|
"Bug Tracker" = "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools/-/issues"
|
|
40
40
|
"Source" = "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools"
|
|
41
|
-
"Documentation" = "https://atlas-itk-pixel-mqt.docs.cern.ch/2.
|
|
41
|
+
"Documentation" = "https://atlas-itk-pixel-mqt.docs.cern.ch/2.6/"
|
|
42
42
|
|
|
43
43
|
[project.scripts]
|
|
44
44
|
module-qc-tools = "module_qc_tools.cli:app"
|
|
@@ -73,7 +73,7 @@ def main(
|
|
|
73
73
|
bias: OPTION_bias = True,
|
|
74
74
|
nchips: OPTION_nchips = None,
|
|
75
75
|
):
|
|
76
|
-
"""
|
|
76
|
+
"""Records ADC counts against external measurements of the same voltage."""
|
|
77
77
|
check_module_connectivity(
|
|
78
78
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
|
79
79
|
)
|
|
@@ -79,7 +79,7 @@ def main(
|
|
|
79
79
|
nchips: OPTION_nchips = None,
|
|
80
80
|
):
|
|
81
81
|
"""
|
|
82
|
-
|
|
82
|
+
Reads back chip registers and records voltages vs trims of VDDA/D.
|
|
83
83
|
"""
|
|
84
84
|
check_module_connectivity(
|
|
85
85
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
{module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/DATA_TRANSMISSION.py
RENAMED
|
@@ -78,7 +78,7 @@ def main(
|
|
|
78
78
|
nchips: OPTION_nchips = None,
|
|
79
79
|
):
|
|
80
80
|
"""
|
|
81
|
-
Run the Data Transmission measurement.
|
|
81
|
+
Run the Data Transmission measurement consisting of eye diagram and data merging check.
|
|
82
82
|
"""
|
|
83
83
|
check_module_connectivity(
|
|
84
84
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
{module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/INJECTION_CAPACITANCE.py
RENAMED
|
@@ -75,7 +75,7 @@ def main(
|
|
|
75
75
|
bias: OPTION_bias = True,
|
|
76
76
|
nchips: OPTION_nchips = None,
|
|
77
77
|
):
|
|
78
|
-
"""
|
|
78
|
+
"""Measurement of chip parameters relevant to calculate the injection capacitance."""
|
|
79
79
|
check_module_connectivity(
|
|
80
80
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
|
81
81
|
)
|
|
@@ -65,7 +65,7 @@ def main(
|
|
|
65
65
|
vdepl: OPTION_depl_volt = None,
|
|
66
66
|
nchips: OPTION_nchips = None,
|
|
67
67
|
):
|
|
68
|
-
"""
|
|
68
|
+
"""Records the sensor leakage current vs reverse bias voltage."""
|
|
69
69
|
check_module_connectivity(
|
|
70
70
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
|
71
71
|
)
|
|
@@ -18,6 +18,7 @@ from module_qc_database_tools.utils import (
|
|
|
18
18
|
get_BOMCode_from_file,
|
|
19
19
|
get_cutFile_suffix,
|
|
20
20
|
)
|
|
21
|
+
from packaging.version import Version
|
|
21
22
|
|
|
22
23
|
from module_qc_tools.cli.globals import (
|
|
23
24
|
CONTEXT_SETTINGS,
|
|
@@ -73,14 +74,14 @@ def main(
|
|
|
73
74
|
bias: OPTION_bias = True,
|
|
74
75
|
nchips: OPTION_nchips = None,
|
|
75
76
|
):
|
|
77
|
+
"""Set the module in low power mode, read registers and run LPM digital scan. Requires using warm or cold config due to core column issues."""
|
|
76
78
|
check_module_connectivity(
|
|
77
79
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
|
78
80
|
)
|
|
79
81
|
|
|
80
|
-
if module_connectivity and "LP"
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
)
|
|
82
|
+
if module_connectivity and "LP" in str(module_connectivity):
|
|
83
|
+
msg = f"Please note that starting from mqt v2.5.0 '_warm' or '_cold' config is required for LP mode! You supplied a low-power module connectivity ({module_connectivity})"
|
|
84
|
+
raise RuntimeError(msg)
|
|
84
85
|
|
|
85
86
|
timestart = datetime.now().strftime("%Y-%m-%d_%H%M%S")
|
|
86
87
|
|
|
@@ -130,7 +131,13 @@ def main(
|
|
|
130
131
|
# initialize hardware
|
|
131
132
|
ps = power_supply(config["power_supply"])
|
|
132
133
|
hv = power_supply(config["high_voltage"], name="high_voltage", is_hv=True)
|
|
133
|
-
yr = yarr(
|
|
134
|
+
yr = yarr(
|
|
135
|
+
config["yarr"]
|
|
136
|
+
) ## dictionary won't be modified by any changes made to yarr
|
|
137
|
+
|
|
138
|
+
if (not yr.running_emulator()) and (Version(yr.version) < Version("v1.5.5")):
|
|
139
|
+
msg = f"YARR version found is {yr.version} but version >= v1.5.5 is required!"
|
|
140
|
+
raise RuntimeError(msg)
|
|
134
141
|
|
|
135
142
|
if not bias or any(
|
|
136
143
|
item in itksn.parse(module_serial.encode("utf-8")).component_code.lower()
|
|
@@ -139,7 +146,7 @@ def main(
|
|
|
139
146
|
hv = None
|
|
140
147
|
|
|
141
148
|
if not use_pixel_config:
|
|
142
|
-
yr.omit_pixel_config()
|
|
149
|
+
yr.omit_pixel_config() ## updates only the connectivity path in the yarr instance. original connectivity still in config["yarr"]
|
|
143
150
|
|
|
144
151
|
try:
|
|
145
152
|
data = run(config, ps, hv, yr, layer, bom, use_calib_adc)
|
{module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/OVERVOLTAGE_PROTECTION.py
RENAMED
|
@@ -73,6 +73,7 @@ def main(
|
|
|
73
73
|
bias: OPTION_bias = True,
|
|
74
74
|
nchips: OPTION_nchips = None,
|
|
75
75
|
):
|
|
76
|
+
"""Tests chip's overvoltage protection. Run in low power mode and requires the LP config."""
|
|
76
77
|
check_module_connectivity(
|
|
77
78
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
|
78
79
|
)
|
{module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/UNDERSHUNT_PROTECTION.py
RENAMED
|
@@ -75,6 +75,7 @@ def main(
|
|
|
75
75
|
bias: OPTION_bias = True,
|
|
76
76
|
nchips: OPTION_nchips = None,
|
|
77
77
|
):
|
|
78
|
+
"""Tests chip's undershunt protection. Run in low power mode and requires the LP config."""
|
|
78
79
|
check_module_connectivity(
|
|
79
80
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
|
80
81
|
)
|
|
@@ -96,7 +96,7 @@ def main(
|
|
|
96
96
|
bias: OPTION_bias = True,
|
|
97
97
|
nchips: OPTION_nchips = None,
|
|
98
98
|
):
|
|
99
|
-
"""
|
|
99
|
+
"""Records externally measured voltage against Vcal settings."""
|
|
100
100
|
|
|
101
101
|
check_module_connectivity(
|
|
102
102
|
hw_config_path=hw_config_path, module_connectivity=module_connectivity
|
{module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/hardware_emulator.py
RENAMED
|
@@ -279,6 +279,13 @@ def scanConsole(
|
|
|
279
279
|
help="skip reset",
|
|
280
280
|
),
|
|
281
281
|
] = False,
|
|
282
|
+
_skip_config: Annotated[
|
|
283
|
+
bool,
|
|
284
|
+
typer.Option(
|
|
285
|
+
"--skip-config",
|
|
286
|
+
help="skip config",
|
|
287
|
+
),
|
|
288
|
+
] = False,
|
|
282
289
|
_verbosity: OPTION_verbosity = LogLevel.info,
|
|
283
290
|
):
|
|
284
291
|
"""
|
{module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/iv_measure.py
RENAMED
|
@@ -210,6 +210,18 @@ def run(config, ps, hv, layer):
|
|
|
210
210
|
)
|
|
211
211
|
break
|
|
212
212
|
|
|
213
|
+
## check current to ensure measurement is done properly when IV is done warm
|
|
214
|
+
if (
|
|
215
|
+
len(data["current"]) >= 5
|
|
216
|
+
and np.mean(data["temperature"]) > 0
|
|
217
|
+
and np.isclose(
|
|
218
|
+
np.mean(data["current"]), 0, rtol=5e-09, atol=1e-09, equal_nan=False
|
|
219
|
+
)
|
|
220
|
+
):
|
|
221
|
+
logger.warning(
|
|
222
|
+
f"Measured 0 current on {len(data['current'])} data points! Please check and ensure that HV is properly applied!"
|
|
223
|
+
)
|
|
224
|
+
|
|
213
225
|
time.sleep(1)
|
|
214
226
|
# Return to initial state
|
|
215
227
|
logger.info(f'Ramping HV back to initial state at {hv_set["voltage"][0]}V...')
|