module-qc-tools 2.2.8__tar.gz → 2.3.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.
Files changed (150) hide show
  1. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/PKG-INFO +4 -3
  2. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/README.md +1 -1
  3. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/config.md +18 -10
  4. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/install.md +2 -2
  5. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/measurements.md +46 -40
  6. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/mkdocs.yml +5 -1
  7. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/pyproject.toml +2 -1
  8. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/_version.py +2 -2
  9. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/ADC_CALIBRATION.py +17 -5
  10. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/ANALOG_READBACK.py +17 -5
  11. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/DATA_TRANSMISSION.py +18 -7
  12. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/INJECTION_CAPACITANCE.py +17 -5
  13. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/IV_MEASURE.py +17 -5
  14. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/LONG_TERM_STABILITY_DCS.py +17 -5
  15. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/LP_MODE.py +17 -5
  16. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/OVERVOLTAGE_PROTECTION.py +17 -5
  17. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/SLDO.py +17 -5
  18. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/UNDERSHUNT_PROTECTION.py +17 -5
  19. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/VCAL_CALIBRATION.py +17 -5
  20. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/globals.py +15 -5
  21. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/main.py +2 -0
  22. module_qc_tools-2.3.0/src/module_qc_tools/cli/split_old_config.py +89 -0
  23. module_qc_tools-2.3.0/src/module_qc_tools/data/configs/hw_config_emulator_merged_vmux.json +54 -0
  24. module_qc_tools-2.3.0/src/module_qc_tools/data/configs/hw_config_example_merged_vmux_itkpixv2.json +60 -0
  25. module_qc_tools-2.3.0/src/module_qc_tools/data/configs/hw_config_example_merged_vmux_v1.json +60 -0
  26. module_qc_tools-2.3.0/src/module_qc_tools/data/configs/hw_config_example_separate_vmux_itkpixv2.json +63 -0
  27. module_qc_tools-2.3.0/src/module_qc_tools/data/configs/hw_config_example_separate_vmux_v1.json +63 -0
  28. module_qc_tools-2.2.8/src/module_qc_tools/data/configs/emulator_merged_vmux.json → module_qc_tools-2.3.0/src/module_qc_tools/data/configs/meas_config.json +31 -71
  29. module_qc_tools-2.2.8/src/module_qc_tools/data/schema/config.json → module_qc_tools-2.3.0/src/module_qc_tools/data/schema/hw_config.json +104 -55
  30. module_qc_tools-2.3.0/src/module_qc_tools/data/schema/meas_config.json +332 -0
  31. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/adc_calibration.py +19 -34
  32. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/analog_readback.py +55 -78
  33. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/long_term_stability_dcs.py +10 -3
  34. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/utils/misc.py +66 -19
  35. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/tbump.toml +2 -2
  36. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/tests/test_emulator.py +3 -3
  37. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/tests/test_measurements.py +15 -4
  38. module_qc_tools-2.2.8/src/module_qc_tools/data/configs/example_merged_vmux.json +0 -156
  39. module_qc_tools-2.2.8/src/module_qc_tools/data/configs/example_merged_vmux_itkpixv2.json +0 -156
  40. module_qc_tools-2.2.8/src/module_qc_tools/data/configs/example_separate_vmux.json +0 -160
  41. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/.gitignore +0 -0
  42. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/.gitlab-ci.yml +0 -0
  43. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/.gitmodules +0 -0
  44. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/.linkcheckerrc +0 -0
  45. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/.pre-commit-config.yaml +0 -0
  46. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/LICENSE +0 -0
  47. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/.gitkeep +0 -0
  48. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/.overrides/main.html +0 -0
  49. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/.snippets/abbrs.txt +0 -0
  50. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/.snippets/links.txt +0 -0
  51. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/assets/css/custom.css +0 -0
  52. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/development.md +0 -0
  53. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/history.md +0 -0
  54. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/index.md +0 -0
  55. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/meta/authors.md +0 -0
  56. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/reference/cli.md +0 -0
  57. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/reference/gen_ref_nav.py +0 -0
  58. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 +0 -0
  59. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 +0 -0
  60. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 +0 -0
  61. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 +0 -0
  62. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 +0 -0
  63. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 +0 -0
  64. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 +0 -0
  65. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 +0 -0
  66. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 +0 -0
  67. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 +0 -0
  68. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 +0 -0
  69. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 +0 -0
  70. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 +0 -0
  71. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 +0 -0
  72. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 +0 -0
  73. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 +0 -0
  74. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 +0 -0
  75. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 +0 -0
  76. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xIIzI.woff2 +0 -0
  77. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 +0 -0
  78. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 +0 -0
  79. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 +0 -0
  80. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 +0 -0
  81. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 +0 -0
  82. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 +0 -0
  83. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 +0 -0
  84. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 +0 -0
  85. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 +0 -0
  86. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 +0 -0
  87. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 +0 -0
  88. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 +0 -0
  89. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 +0 -0
  90. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 +0 -0
  91. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 +0 -0
  92. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 +0 -0
  93. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 +0 -0
  94. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 +0 -0
  95. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 +0 -0
  96. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 +0 -0
  97. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +0 -0
  98. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 +0 -0
  99. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 +0 -0
  100. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 +0 -0
  101. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 +0 -0
  102. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 +0 -0
  103. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 +0 -0
  104. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 +0 -0
  105. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 +0 -0
  106. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 +0 -0
  107. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 +0 -0
  108. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 +0 -0
  109. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 +0 -0
  110. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 +0 -0
  111. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 +0 -0
  112. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/fonts.css +0 -0
  113. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/docs/stylesheets/readme.txt +0 -0
  114. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/emulator/README.md +0 -0
  115. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/__init__.py +0 -0
  116. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/__init__.py +0 -0
  117. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/__main__.py +0 -0
  118. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/hardware_emulator.py +0 -0
  119. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/cli/upload_localdb.py +0 -0
  120. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/console.py +0 -0
  121. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/emulator/configs/connectivity/20UPGXM1234567_Lx_dummy.json +0 -0
  122. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/emulator/configs/connectivity/20UPGXM1234567_Lx_dummy_disabledchip.json +0 -0
  123. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip1.json +0 -0
  124. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip2.json +0 -0
  125. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip3.json +0 -0
  126. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip4.json +0 -0
  127. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/emulator/configs/controller/specCfg-rd53b.json +0 -0
  128. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/emulator/module_state_template.json +0 -0
  129. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/data/schema/common.json +0 -0
  130. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/__init__.py +0 -0
  131. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/data_transmission.py +0 -0
  132. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/injection_capacitance.py +0 -0
  133. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/iv_measure.py +0 -0
  134. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/lp_mode.py +0 -0
  135. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/overvoltage_protection.py +0 -0
  136. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/sldo.py +0 -0
  137. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/undershunt_protection.py +0 -0
  138. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/measurements/vcal_calibration.py +0 -0
  139. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/utils/__init__.py +0 -0
  140. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/utils/hardware_control_base.py +0 -0
  141. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/utils/multimeter.py +0 -0
  142. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/utils/ntc.py +0 -0
  143. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/utils/power_supply.py +0 -0
  144. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/utils/subprocess_emulator.py +0 -0
  145. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/src/module_qc_tools/utils/yarr.py +0 -0
  146. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/tests/conftest.py +0 -0
  147. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/tests/test_package.py +0 -0
  148. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/tests/test_schema/cutter_pcb_tab.json +0 -0
  149. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/tests/test_schema/cutter_pcb_tab_BAD.json +0 -0
  150. {module_qc_tools-2.2.8 → module_qc_tools-2.3.0}/tests/test_schema.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: module_qc_tools
3
- Version: 2.2.8
3
+ Version: 2.3.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.2/
8
+ Project-URL: Documentation, https://atlas-itk-pixel-mqt.docs.cern.ch/2.3/
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
@@ -35,6 +35,7 @@ Requires-Python: >=3.7
35
35
  Requires-Dist: check-jsonschema
36
36
  Requires-Dist: importlib-resources; python_version < '3.9'
37
37
  Requires-Dist: module-qc-data-tools>=1.0.22
38
+ Requires-Dist: module-qc-database-tools>=2.4.8
38
39
  Requires-Dist: numpy
39
40
  Requires-Dist: pre-commit
40
41
  Requires-Dist: requests
@@ -44,7 +45,7 @@ Requires-Dist: typer>=0.9.0
44
45
  Requires-Dist: urllib3<2,>=1.26.11; 'el7.x86_64' in platform_release
45
46
  Description-Content-Type: text/markdown
46
47
 
47
- # module-qc-tools v2.2.8
48
+ # module-qc-tools v2.3.0
48
49
 
49
50
  A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
50
51
 
@@ -1,4 +1,4 @@
1
- # module-qc-tools v2.2.8
1
+ # module-qc-tools v2.3.0
2
2
 
3
3
  A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
4
4
 
@@ -7,23 +7,31 @@ table tr td:first-of-type {
7
7
 
8
8
  # Configuration and external commands
9
9
 
10
- All the configuration/settings are defined in a single json file. The layer
11
- information needed for the different power settings is extracted from the
12
- module's serial number. Examples are provided in
13
- `$(module-qc-tools --prefix)/configs/`:
10
+ All the configuration/settings are defined in two json files: one for the
11
+ hardware and one for the measurements. The hardware config is specific to the
12
+ site and needs to be modified, but the default measurement config should not
13
+ modified when running standard module QC. Examples are provided in
14
+ `$(module-qc-tools --prefix)/configs/`, such as:
14
15
 
15
- - `example_merged_vmux.json`
16
- - `example_merged_vmux_itkpixv2.json`
17
- - `example_separate_vmux.json`
16
+ - `hw_config_example_merged_vmux_itkpixv2.json`
17
+ - `meas_config.json`
18
18
 
19
19
  !!! note
20
20
 
21
- the only difference between the normal config and the `_itkpixv2.json` lies in the paths for the chip-specific `lpm_digitalscan` and `read_ringosc_exe`. For more info see below.
21
+ There are 4 example hardware configs for the different combinations of V1 or V2 modules and a merged or separate VMUX:
22
+ - `hw_config_example_merged_vmux_itkpixv2.json`
23
+ - `hw_config_example_merged_vmux_v1.json`
24
+ - `hw_config_example_separate_vmux_itkpixv2.json`
25
+ - `hw_config_example_separate_vmux_v1.json`
26
+
27
+ The only difference between the `_v1.json` hw_config and the `_itkpixv2.json` lies in the paths for the chip-specific `lpm_digitalscan` and `read_ringosc_exe`. For more info see below.
22
28
 
23
29
  ??? abstract "reference json configuration"
24
30
 
25
- ```json title="$(module-qc-tools --prefix)/configs/example_merged_vmux.json"
26
- --8<-- "example_merged_vmux.json"
31
+ ```json title="$(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux_itkpixv2.json"
32
+ --8<-- "hw_config_example_merged_vmux_itkpixv2.json"
33
+ json title="$(module-qc-tools --prefix)/configs/meas_config.json"
34
+ --8<-- "meas_config.json"
27
35
  ```
28
36
 
29
37
  The major blocks (e.g. `yarr`, `power_supply`, `multimeter`, `ntc`) correspond
@@ -92,7 +92,7 @@ package.
92
92
  $ python -m venv venv
93
93
  $ source venv/bin/activate
94
94
  $ python -m pip install -U pip
95
- $ python -m pip install -U pip module-qc-tools==2.2.8
95
+ $ python -m pip install -U pip module-qc-tools==2.3.0
96
96
  ```
97
97
 
98
98
  ### via uv
@@ -101,7 +101,7 @@ $ python -m pip install -U pip module-qc-tools==2.2.8
101
101
  $ python -m venv venv
102
102
  $ source venv/bin/activate
103
103
  $ python -m pip install uv
104
- $ uv pip install module-qc-tools==2.2.8
104
+ $ uv pip install module-qc-tools==2.3.0
105
105
  ```
106
106
 
107
107
  # Usage
@@ -50,7 +50,7 @@ Measurements/
50
50
     └── ...
51
51
  ```
52
52
 
53
- The test-type of each measurement is the corresponding test-code used in the
53
+ The test-type of each measurement is the corresponding test-mode used in the
54
54
  Production Data Base. The naming of each measurement script is chosen to be the
55
55
  same as the test-type. The timestamp is chosen to be the start time of the
56
56
  measurement.
@@ -95,7 +95,7 @@ Please use `mqdbt` to upload measurements to localDB.
95
95
 
96
96
  This script will test the sensor leakage current vs. reverse bias voltage
97
97
  (`task = IV_MEASURE`) as specified in the input configuration json file (i.e.
98
- `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
98
+ '$(module-qc-tools --prefix)/configs/meas_config.json').
99
99
 
100
100
  **Configuration settings**
101
101
 
@@ -110,13 +110,13 @@ This script will test the sensor leakage current vs. reverse bias voltage
110
110
  ??? example
111
111
 
112
112
  ```
113
- measurement-IV-MEASURE -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_LP.json
113
+ measurement-IV-MEASURE -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_LP.json
114
114
  ```
115
115
 
116
116
  ??? example "emulator"
117
117
 
118
118
  ```
119
- measurement-IV-MEASURE -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs
119
+ measurement-IV-MEASURE -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs
120
120
  ```
121
121
 
122
122
  ## Eye Diagram
@@ -144,8 +144,8 @@ For more information please refer to the
144
144
  - [`measurement-ADC-CALIBRATION`](reference/cli.md#mqt-measurement-adc-calibration)
145
145
 
146
146
  This script will run the ADC calibration (`task = ADC_CALIBRATION`) as specified
147
- in the input configuration json file (i.e.
148
- `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
147
+ in the input configuration json file (i.e. '$(module-qc-tools
148
+ --prefix)/configs/meas_config.json').
149
149
 
150
150
  **Configuration settings**
151
151
 
@@ -158,13 +158,13 @@ in the input configuration json file (i.e.
158
158
  ??? example
159
159
 
160
160
  ```
161
- measurement-ADC-CALIBRATION -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
161
+ measurement-ADC-CALIBRATION -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
162
162
  ```
163
163
 
164
164
  ??? example "emulator"
165
165
 
166
166
  ```
167
- measurement-ADC-CALIBRATION -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs/
167
+ measurement-ADC-CALIBRATION -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs/
168
168
  ```
169
169
 
170
170
  ## Analog readback
@@ -176,9 +176,9 @@ in the input configuration json file (i.e.
176
176
  This script will measure all internal voltages available through VMUX and IMUX,
177
177
  measure the chip temperature, and measure VDDA/VDDD/ROSC vs Trim. channels. The
178
178
  scan settings are defined in the `task = ANALOG_READBACK` block of the input
179
- configuration file (i.e.
180
- `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`). The NTC needs
181
- to be set in order to run this script, so that the temperature can be read.
179
+ configuration file (i.e. '$(module-qc-tools
180
+ --prefix)/configs/meas_config.json'). The NTC needs to be set in order to run
181
+ this script, so that the temperature can be read.
182
182
 
183
183
  **Configuration settings**
184
184
 
@@ -201,13 +201,13 @@ to be set in order to run this script, so that the temperature can be read.
201
201
  ??? example
202
202
 
203
203
  ```
204
- measurement-ANALOG-READBACK -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
204
+ measurement-ANALOG-READBACK -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
205
205
  ```
206
206
 
207
207
  ??? example "emulator"
208
208
 
209
209
  ```
210
- measurement-ANALOG-READBACK -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs
210
+ measurement-ANALOG-READBACK -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs
211
211
  ```
212
212
 
213
213
  ## SLDO VI
@@ -217,8 +217,8 @@ to be set in order to run this script, so that the temperature can be read.
217
217
  - [`measurement-SLDO`](reference/cli.md#mqt-measurement-sldo)
218
218
 
219
219
  This script will run the VI scans (`task = SLDO`) as specified in the input
220
- configuration json file (i.e.
221
- `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
220
+ configuration json file (i.e. '$(module-qc-tools
221
+ --prefix)/configs/meas_config.json').
222
222
 
223
223
  **Configuration settings**
224
224
 
@@ -234,13 +234,13 @@ configuration json file (i.e.
234
234
  ??? example
235
235
 
236
236
  ```
237
- measurement-SLDO -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
237
+ measurement-SLDO -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
238
238
  ```
239
239
 
240
240
  ??? example "emulator"
241
241
 
242
242
  ```
243
- measurement-SLDO -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs
243
+ measurement-SLDO -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs
244
244
  ```
245
245
 
246
246
  ## VCal Calibration
@@ -250,8 +250,8 @@ configuration json file (i.e.
250
250
  - [`measurement-VCAL-CALIBRATION`](reference/cli.md#mqt-measurement-vcal-calibration)
251
251
 
252
252
  This script will run the VCal calibration (`task = VCAL_CALIBRATION`) as
253
- specified in the input configuration json file (i.e.
254
- `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
253
+ specified in the input configuration json file (i.e. '$(module-qc-tools
254
+ --prefix)/configs/meas_config.json').
255
255
 
256
256
  **Configuration settings**
257
257
 
@@ -266,13 +266,13 @@ specified in the input configuration json file (i.e.
266
266
  ??? example
267
267
 
268
268
  ```
269
- measurement-VCAL-CALIBRATION -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
269
+ measurement-VCAL-CALIBRATION -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
270
270
  ```
271
271
 
272
272
  ??? example "emulator"
273
273
 
274
274
  ```
275
- measurement-VCAL-CALIBRATION -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs/
275
+ measurement-VCAL-CALIBRATION -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs/
276
276
  ```
277
277
 
278
278
  ## Injection Capacitance
@@ -283,7 +283,7 @@ specified in the input configuration json file (i.e.
283
283
 
284
284
  This script will run the injection capacitance measurement
285
285
  (`task = INJECTION_CAPACITANCE`) as specified in the input configuration json
286
- file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
286
+ file (i.e. '$(module-qc-tools --prefix)/configs/meas_config.json').
287
287
 
288
288
  **Configuration settings**
289
289
 
@@ -296,13 +296,13 @@ file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
296
296
  ??? example
297
297
 
298
298
  ```
299
- measurement-INJECTION-CAPACITANCE -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
299
+ measurement-INJECTION-CAPACITANCE -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
300
300
  ```
301
301
 
302
302
  ??? example "emulator"
303
303
 
304
304
  ```
305
- measurement-INJECTION-CAPACITANCE -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs/
305
+ measurement-INJECTION-CAPACITANCE -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs/
306
306
  ```
307
307
 
308
308
  ## Low Power Mode
@@ -312,8 +312,8 @@ file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
312
312
  - [`measurement-LP-MODE`](reference/cli.md#mqt-measurement-lp-mode)
313
313
 
314
314
  This script will run the low power mode test (`task = LP_MODE`) as specified in
315
- the input configuration json file (i.e.
316
- `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
315
+ the input configuration json file (i.e. '$(module-qc-tools
316
+ --prefix)/configs/meas_config.json').
317
317
 
318
318
  **Configuration settings**
319
319
 
@@ -327,13 +327,13 @@ the input configuration json file (i.e.
327
327
  ??? example
328
328
 
329
329
  ```
330
- measurement-LP-MODE -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_LP.json
330
+ measurement-LP-MODE -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_LP.json
331
331
  ```
332
332
 
333
333
  ??? example "emulator"
334
334
 
335
335
  ```
336
- measurement-LP-MODE -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs/
336
+ measurement-LP-MODE -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs/
337
337
  ```
338
338
 
339
339
  ## Overvoltage Protection
@@ -344,7 +344,7 @@ the input configuration json file (i.e.
344
344
 
345
345
  This script will test the Overvoltage Protection (OVP)
346
346
  (`task = OVERVOLTAGE_PROTECTION`) as specified in the input configuration json
347
- file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
347
+ file (i.e. '$(module-qc-tools --prefix)/configs/meas_config.json').
348
348
 
349
349
  **Configuration settings**
350
350
 
@@ -358,13 +358,13 @@ file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
358
358
  ??? example
359
359
 
360
360
  ```
361
- measurement-OVERVOLTAGE-PROTECTION -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_LP.json
361
+ measurement-OVERVOLTAGE-PROTECTION -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_LP.json
362
362
  ```
363
363
 
364
364
  ??? example "emulator"
365
365
 
366
366
  ```
367
- measurement-OVERVOLTAGE-PROTECTION -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs
367
+ measurement-OVERVOLTAGE-PROTECTION -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs
368
368
  ```
369
369
 
370
370
  ## Undershunt Protection
@@ -375,7 +375,7 @@ file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
375
375
 
376
376
  This script will test the Undershunt Protection (USP)
377
377
  (`task = UNDERSHUNT_PROTECTION`) as specified in the input configuration json
378
- file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
378
+ file (i.e. '$(module-qc-tools --prefix)/configs/meas_config.json').
379
379
 
380
380
  **Configuration settings**
381
381
 
@@ -389,13 +389,13 @@ file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
389
389
  ??? example
390
390
 
391
391
  ```
392
- measurement-UNDERSHUNT-PROTECTION -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_LP.json
392
+ measurement-UNDERSHUNT-PROTECTION -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_LP.json
393
393
  ```
394
394
 
395
395
  ??? example "emulator"
396
396
 
397
397
  ```
398
- measurement-UNDERSHUNT-PROTECTION -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs
398
+ measurement-UNDERSHUNT-PROTECTION -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs
399
399
  ```
400
400
 
401
401
  ## Data Transmission
@@ -405,8 +405,8 @@ file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
405
405
  - [`measurement-DATA-TRANSMISSION`](reference/cli.md#mqt-measurement-data-transmission)
406
406
 
407
407
  This script will run the data transmission (`task = DATA_TRANSMISSION`) as
408
- specified in the input configuration json file (i.e.
409
- `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
408
+ specified in the input configuration json file (i.e. '$(module-qc-tools
409
+ --prefix)/configs/meas_config.json').
410
410
 
411
411
  **Configuration settings**
412
412
 
@@ -417,13 +417,13 @@ specified in the input configuration json file (i.e.
417
417
  ??? example
418
418
 
419
419
  ```
420
- measurement-DATA-TRANSMISSION -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
420
+ measurement-DATA-TRANSMISSION -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
421
421
  ```
422
422
 
423
423
  ??? example "emulator"
424
424
 
425
425
  ```
426
- measurement-DATA-TRANSMISSION -c $(module-qc-tools --prefix)/configs/emulator_merged_vmux.json -o emulator/outputs/
426
+ measurement-DATA-TRANSMISSION -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs/
427
427
  ```
428
428
 
429
429
  ## Long-term stability DCS
@@ -434,7 +434,7 @@ specified in the input configuration json file (i.e.
434
434
 
435
435
  This adds the ability to run the long-term stability dcs measurement
436
436
  (`task = LONG_TERM_STABILITY_DCS`) as specified in the input configuration json
437
- file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
437
+ file (i.e. '$(module-qc-tools --prefix)/configs/meas_config.json').
438
438
 
439
439
  **Configuration settings**
440
440
 
@@ -446,5 +446,11 @@ file (i.e. `$(module-qc-tools --prefix)/configs/example_merged_vmux.json`).
446
446
  ??? example
447
447
 
448
448
  ```
449
- measurement-LONG-TERM-STABILITY-DCS -c $(module-qc-tools --prefix)/configs/example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
449
+ measurement-LONG-TERM-STABILITY-DCS -c $(module-qc-tools --prefix)/configs/hw_config_example_merged_vmux.json -m ~/module_data/20UPGR91301046/20UPGR91301046_L2_warm.json
450
+ ```
451
+
452
+ ??? example "emulator"
453
+
454
+ ```
455
+ measurement-LONG-TERM-STABILITY-DCS -c $(module-qc-tools --prefix)/configs/hw_config_emulator_merged_vmux.json -o emulator/outputs/
450
456
  ```
@@ -162,7 +162,11 @@ markdown_extensions:
162
162
  base_path:
163
163
  - docs/.snippets
164
164
  - README.md
165
- - src/module_qc_tools/data/configs/example_merged_vmux.json
165
+ - src/module_qc_tools/data/configs/meas_config.json
166
+ - src/module_qc_tools/data/configs/hw_config_example_merged_vmux_itkpixv2.json
167
+ - src/module_qc_tools/data/configs/hw_config_example_separate_vmux_itkpixv2.json
168
+ - src/module_qc_tools/data/configs/hw_config_example_merged_vmux_v1.json
169
+ - src/module_qc_tools/data/configs/hw_config_example_separate_vmux_v1.json
166
170
  auto_append:
167
171
  - links.txt
168
172
  - abbrs.txt
@@ -21,6 +21,7 @@ dependencies = [
21
21
  "pre-commit",
22
22
  "check-jsonschema",
23
23
  "module-qc-data-tools >= 1.0.22",
24
+ "module-qc-database-tools >= 2.4.8",
24
25
  'importlib_resources; python_version < "3.9"',
25
26
  "requests",
26
27
  'urllib3>=1.26.11,<2; "el7.x86_64" in platform_release',
@@ -37,7 +38,7 @@ classifiers = [
37
38
  "Homepage" = "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools"
38
39
  "Bug Tracker" = "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools/-/issues"
39
40
  "Source" = "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools"
40
- "Documentation" = "https://atlas-itk-pixel-mqt.docs.cern.ch/2.2/"
41
+ "Documentation" = "https://atlas-itk-pixel-mqt.docs.cern.ch/2.3/"
41
42
 
42
43
  [project.scripts]
43
44
  module-qc-tools = "module_qc_tools.cli:app"
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '2.2.8'
16
- __version_tuple__ = version_tuple = (2, 2, 8)
15
+ __version__ = version = '2.3.0'
16
+ __version_tuple__ = version_tuple = (2, 3, 0)
@@ -11,6 +11,9 @@ from module_qc_data_tools import (
11
11
  outputDataFrame,
12
12
  save_dict_list,
13
13
  )
14
+ from module_qc_database_tools.utils import (
15
+ get_chip_type_from_serial_number,
16
+ )
14
17
 
15
18
  from module_qc_tools.cli.globals import (
16
19
  CONTEXT_SETTINGS,
@@ -22,7 +25,8 @@ from module_qc_tools.measurements.adc_calibration import run
22
25
  from module_qc_tools.utils.misc import (
23
26
  add_identifiers_metadata,
24
27
  copytree,
25
- load_config,
28
+ load_hw_config,
29
+ load_meas_config,
26
30
  )
27
31
  from module_qc_tools.utils.power_supply import power_supply
28
32
  from module_qc_tools.utils.yarr import yarr
@@ -37,7 +41,8 @@ logger = logging.getLogger("measurement")
37
41
 
38
42
  @app.command()
39
43
  def main(
40
- config_path: Path = OPTIONS["config"],
44
+ hw_config_path: Path = OPTIONS["config_hw"],
45
+ meas_config_path: Path = OPTIONS["config_meas"],
41
46
  base_output_dir: Path = OPTIONS["output_dir"],
42
47
  module_connectivity: Optional[Path] = OPTIONS["module_connectivity"],
43
48
  _verbosity: LogLevel = OPTIONS["verbosity"],
@@ -72,14 +77,21 @@ def main(
72
77
 
73
78
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
74
79
 
75
- config = load_config(config_path, test_type=TEST_TYPE)
80
+ config_hw = load_hw_config(hw_config_path)
76
81
 
77
82
  if module_connectivity:
78
- config["yarr"]["connectivity"] = module_connectivity
83
+ config_hw["yarr"]["connectivity"] = module_connectivity
79
84
 
80
85
  # Taking the module SN from YARR path to config in the connectivity file.
81
- module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
86
+ module_serial = get_sn_from_connectivity(config_hw["yarr"]["connectivity"])
82
87
  layer = get_layer_from_sn(module_serial)
88
+ chip_type = get_chip_type_from_serial_number(module_serial)
89
+
90
+ # Load the measurement config and combine it with the hardware config
91
+ config = load_meas_config(
92
+ meas_config_path, test_type=TEST_TYPE, chip_type=chip_type
93
+ )
94
+ config.update(config_hw)
83
95
 
84
96
  # initialize hardware
85
97
  ps = power_supply(config["power_supply"])
@@ -11,6 +11,9 @@ from module_qc_data_tools import (
11
11
  outputDataFrame,
12
12
  save_dict_list,
13
13
  )
14
+ from module_qc_database_tools.utils import (
15
+ get_chip_type_from_serial_number,
16
+ )
14
17
 
15
18
  from module_qc_tools.cli.globals import (
16
19
  CONTEXT_SETTINGS,
@@ -26,7 +29,8 @@ from module_qc_tools.measurements.analog_readback import (
26
29
  from module_qc_tools.utils.misc import (
27
30
  add_identifiers_metadata,
28
31
  copytree,
29
- load_config,
32
+ load_hw_config,
33
+ load_meas_config,
30
34
  )
31
35
  from module_qc_tools.utils.power_supply import power_supply
32
36
  from module_qc_tools.utils.yarr import yarr
@@ -41,7 +45,8 @@ TEST_TYPE = Path(__file__).stem
41
45
 
42
46
  @app.command()
43
47
  def main(
44
- config_path: Path = OPTIONS["config"],
48
+ hw_config_path: Path = OPTIONS["config_hw"],
49
+ meas_config_path: Path = OPTIONS["config_meas"],
45
50
  base_output_dir: Path = OPTIONS["output_dir"],
46
51
  module_connectivity: Optional[Path] = OPTIONS["module_connectivity"],
47
52
  _verbosity: LogLevel = OPTIONS["verbosity"],
@@ -73,14 +78,21 @@ def main(
73
78
 
74
79
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
75
80
 
76
- config = load_config(config_path, test_type=TEST_TYPE)
81
+ config_hw = load_hw_config(hw_config_path)
77
82
 
78
83
  if module_connectivity:
79
- config["yarr"]["connectivity"] = module_connectivity
84
+ config_hw["yarr"]["connectivity"] = module_connectivity
80
85
 
81
86
  # Taking the module SN from YARR path to config in the connectivity file.
82
- module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
87
+ module_serial = get_sn_from_connectivity(config_hw["yarr"]["connectivity"])
83
88
  layer = get_layer_from_sn(module_serial)
89
+ chip_type = get_chip_type_from_serial_number(module_serial)
90
+
91
+ # Load the measurement config and combine it with the hardware config
92
+ config = load_meas_config(
93
+ meas_config_path, test_type=TEST_TYPE, chip_type=chip_type
94
+ )
95
+ config.update(config_hw)
84
96
 
85
97
  # initialize hardware
86
98
  ps = power_supply(config["power_supply"])
@@ -12,6 +12,9 @@ from module_qc_data_tools import (
12
12
  outputDataFrame,
13
13
  save_dict_list,
14
14
  )
15
+ from module_qc_database_tools.utils import (
16
+ get_chip_type_from_serial_number,
17
+ )
15
18
 
16
19
  from module_qc_tools.cli.globals import (
17
20
  CONTEXT_SETTINGS,
@@ -23,7 +26,8 @@ from module_qc_tools.measurements.data_transmission import run
23
26
  from module_qc_tools.utils.misc import (
24
27
  add_identifiers_metadata,
25
28
  copytree,
26
- load_config,
29
+ load_hw_config,
30
+ load_meas_config,
27
31
  )
28
32
  from module_qc_tools.utils.power_supply import power_supply
29
33
  from module_qc_tools.utils.yarr import yarr
@@ -38,7 +42,8 @@ TEST_TYPE = Path(__file__).stem
38
42
 
39
43
  @app.command()
40
44
  def main(
41
- config_path: Path = OPTIONS["config"],
45
+ hw_config_path: Path = OPTIONS["config_hw"],
46
+ meas_config_path: Path = OPTIONS["config_meas"],
42
47
  base_output_dir: Path = OPTIONS["output_dir"],
43
48
  module_connectivity: Optional[Path] = OPTIONS["module_connectivity"],
44
49
  _verbosity: LogLevel = OPTIONS["verbosity"],
@@ -71,16 +76,22 @@ def main(
71
76
 
72
77
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
73
78
 
74
- config = load_config(config_path, test_type=TEST_TYPE)
79
+ config_hw = load_hw_config(hw_config_path)
75
80
 
76
- # Need to pass module connectivity path to yarr class (except in case we are running the emulator)
77
81
  if module_connectivity:
78
- config["yarr"]["connectivity"] = module_connectivity
82
+ config_hw["yarr"]["connectivity"] = module_connectivity
79
83
 
80
84
  # Taking the module SN from YARR path to config in the connectivity file.
81
- module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
82
- layer = get_layer_from_sn(module_serial)
85
+ module_serial = get_sn_from_connectivity(config_hw["yarr"]["connectivity"])
83
86
  n_lanes_per_chip = get_nlanes_from_sn(module_serial)
87
+ layer = get_layer_from_sn(module_serial)
88
+ chip_type = get_chip_type_from_serial_number(module_serial)
89
+
90
+ # Load the measurement config and combine it with the hardware config
91
+ config = load_meas_config(
92
+ meas_config_path, test_type=TEST_TYPE, chip_type=chip_type
93
+ )
94
+ config.update(config_hw)
84
95
 
85
96
  # initialize hardware
86
97
  ps = power_supply(config["power_supply"])
@@ -11,6 +11,9 @@ from module_qc_data_tools import (
11
11
  outputDataFrame,
12
12
  save_dict_list,
13
13
  )
14
+ from module_qc_database_tools.utils import (
15
+ get_chip_type_from_serial_number,
16
+ )
14
17
 
15
18
  from module_qc_tools.cli.globals import (
16
19
  CONTEXT_SETTINGS,
@@ -24,7 +27,8 @@ from module_qc_tools.measurements.injection_capacitance import (
24
27
  from module_qc_tools.utils.misc import (
25
28
  add_identifiers_metadata,
26
29
  copytree,
27
- load_config,
30
+ load_hw_config,
31
+ load_meas_config,
28
32
  )
29
33
  from module_qc_tools.utils.power_supply import power_supply
30
34
  from module_qc_tools.utils.yarr import yarr
@@ -39,7 +43,8 @@ TEST_TYPE = Path(__file__).stem
39
43
 
40
44
  @app.command()
41
45
  def main(
42
- config_path: Path = OPTIONS["config"],
46
+ hw_config_path: Path = OPTIONS["config_hw"],
47
+ meas_config_path: Path = OPTIONS["config_meas"],
43
48
  base_output_dir: Path = OPTIONS["output_dir"],
44
49
  module_connectivity: Optional[Path] = OPTIONS["module_connectivity"],
45
50
  _verbosity: LogLevel = OPTIONS["verbosity"],
@@ -69,14 +74,21 @@ def main(
69
74
 
70
75
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
71
76
 
72
- config = load_config(config_path, test_type=TEST_TYPE)
77
+ config_hw = load_hw_config(hw_config_path)
73
78
 
74
79
  if module_connectivity:
75
- config["yarr"]["connectivity"] = module_connectivity
80
+ config_hw["yarr"]["connectivity"] = module_connectivity
76
81
 
77
82
  # Taking the module SN from YARR path to config in the connectivity file.
78
- module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
83
+ module_serial = get_sn_from_connectivity(config_hw["yarr"]["connectivity"])
79
84
  layer = get_layer_from_sn(module_serial)
85
+ chip_type = get_chip_type_from_serial_number(module_serial)
86
+
87
+ # Load the measurement config and combine it with the hardware config
88
+ config = load_meas_config(
89
+ meas_config_path, test_type=TEST_TYPE, chip_type=chip_type
90
+ )
91
+ config.update(config_hw)
80
92
 
81
93
  # initialize hardware
82
94
  ps = power_supply(config["power_supply"])