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.
Files changed (158) hide show
  1. module_qc_tools-2.6.0/.gitattributes +6 -0
  2. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.gitlab-ci.yml +32 -0
  3. module_qc_tools-2.6.0/.zenodo.json +127 -0
  4. module_qc_tools-2.6.0/CITATION.cff +82 -0
  5. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/PKG-INFO +8 -6
  6. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/README.md +4 -2
  7. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/history.md +21 -3
  8. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/install.md +2 -2
  9. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/measurements.md +6 -1
  10. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/pyproject.toml +3 -3
  11. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/_version.py +2 -2
  12. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/ADC_CALIBRATION.py +1 -1
  13. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/ANALOG_READBACK.py +1 -1
  14. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/DATA_TRANSMISSION.py +1 -1
  15. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/INJECTION_CAPACITANCE.py +1 -1
  16. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/IV_MEASURE.py +1 -1
  17. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/LP_MODE.py +13 -6
  18. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/OVERVOLTAGE_PROTECTION.py +1 -0
  19. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/SLDO.py +1 -0
  20. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/UNDERSHUNT_PROTECTION.py +1 -0
  21. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/VCAL_CALIBRATION.py +1 -1
  22. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/hardware_emulator.py +7 -0
  23. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/emulator/module_state_template.json +1 -0
  24. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/iv_measure.py +12 -0
  25. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/lp_mode.py +34 -19
  26. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/hardware_control_base.py +2 -2
  27. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/misc.py +8 -1
  28. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/yarr.py +93 -13
  29. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tbump.toml +10 -3
  30. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.gitignore +0 -0
  31. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.gitmodules +0 -0
  32. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.linkcheckerrc +0 -0
  33. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/.pre-commit-config.yaml +0 -0
  34. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/LICENSE +0 -0
  35. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/.gitkeep +0 -0
  36. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/.overrides/main.html +0 -0
  37. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/.snippets/abbrs.txt +0 -0
  38. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/.snippets/links.txt +0 -0
  39. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/assets/css/custom.css +0 -0
  40. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/config.md +0 -0
  41. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/development.md +0 -0
  42. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/emulator.md +0 -0
  43. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/index.md +0 -0
  44. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/meta/authors.md +0 -0
  45. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/reference/cli.md +0 -0
  46. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/reference/gen_ref_nav.py +0 -0
  47. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 +0 -0
  48. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 +0 -0
  49. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 +0 -0
  50. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 +0 -0
  51. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 +0 -0
  52. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 +0 -0
  53. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 +0 -0
  54. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 +0 -0
  55. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 +0 -0
  56. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 +0 -0
  57. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 +0 -0
  58. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 +0 -0
  59. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 +0 -0
  60. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 +0 -0
  61. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 +0 -0
  62. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 +0 -0
  63. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 +0 -0
  64. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 +0 -0
  65. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xIIzI.woff2 +0 -0
  66. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 +0 -0
  67. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 +0 -0
  68. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 +0 -0
  69. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 +0 -0
  70. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 +0 -0
  71. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 +0 -0
  72. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 +0 -0
  73. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 +0 -0
  74. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 +0 -0
  75. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 +0 -0
  76. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 +0 -0
  77. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 +0 -0
  78. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 +0 -0
  79. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 +0 -0
  80. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 +0 -0
  81. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 +0 -0
  82. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 +0 -0
  83. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 +0 -0
  84. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 +0 -0
  85. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 +0 -0
  86. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +0 -0
  87. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 +0 -0
  88. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 +0 -0
  89. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 +0 -0
  90. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 +0 -0
  91. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 +0 -0
  92. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 +0 -0
  93. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 +0 -0
  94. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 +0 -0
  95. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 +0 -0
  96. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 +0 -0
  97. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 +0 -0
  98. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 +0 -0
  99. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 +0 -0
  100. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 +0 -0
  101. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/fonts.css +0 -0
  102. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/docs/stylesheets/readme.txt +0 -0
  103. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/mkdocs.yml +0 -0
  104. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/__init__.py +0 -0
  105. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/LONG_TERM_STABILITY_DCS.py +0 -0
  106. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/__init__.py +0 -0
  107. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/__main__.py +0 -0
  108. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/get_nominal_current.py +0 -0
  109. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/globals.py +0 -0
  110. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/main.py +0 -0
  111. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/split_old_config.py +0 -0
  112. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/upload_localdb.py +0 -0
  113. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/cli/yarr.py +0 -0
  114. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/console.py +0 -0
  115. {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
  116. {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
  117. {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
  118. {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
  119. {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
  120. {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
  121. {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
  122. {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
  123. {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
  124. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/configs/meas_config.json +0 -0
  125. {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
  126. {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
  127. {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
  128. {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
  129. {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
  130. {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
  131. {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
  132. {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
  133. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/schema/hw_config.json +0 -0
  134. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/data/schema/meas_config.json +0 -0
  135. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/__init__.py +0 -0
  136. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/adc_calibration.py +0 -0
  137. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/analog_readback.py +0 -0
  138. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/data_transmission.py +0 -0
  139. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/injection_capacitance.py +0 -0
  140. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/long_term_stability_dcs.py +0 -0
  141. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/overvoltage_protection.py +0 -0
  142. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/sldo.py +0 -0
  143. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/undershunt_protection.py +0 -0
  144. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/measurements/vcal_calibration.py +0 -0
  145. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/typing_compat.py +0 -0
  146. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/__init__.py +0 -0
  147. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/hrc.py +0 -0
  148. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/multimeter.py +0 -0
  149. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/ntc.py +0 -0
  150. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/power_supply.py +0 -0
  151. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/src/module_qc_tools/utils/subprocess_emulator.py +0 -0
  152. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/conftest.py +0 -0
  153. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_emulator.py +0 -0
  154. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_measurements.py +0 -0
  155. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_package.py +0 -0
  156. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_schema/cutter_pcb_tab.json +0 -0
  157. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_schema/cutter_pcb_tab_BAD.json +0 -0
  158. {module_qc_tools-2.5.0 → module_qc_tools-2.6.0}/tests/test_schema.py +0 -0
@@ -0,0 +1,6 @@
1
+ .zenodo.json export-ignore
2
+ .gitlab-ci.yml export-ignore
3
+ emulator export-ignore
4
+ .linkcheckerrc export-ignore
5
+ .pre-commit-config.yaml export-ignore
6
+ tbump.toml export-ignore
@@ -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.5.0
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.5/
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.2.0
37
- Requires-Dist: module-qc-database-tools>=2.6.0
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.5.0
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.5.0
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
- important
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.5.0
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.5.0
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/20UPGR91301046_L2_LP.json
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.2.0",
24
- "module-qc-database-tools >= 2.6.0",
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.5/"
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"
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.5.0'
21
- __version_tuple__ = version_tuple = (2, 5, 0)
20
+ __version__ = version = '2.6.0'
21
+ __version_tuple__ = version_tuple = (2, 6, 0)
@@ -73,7 +73,7 @@ def main(
73
73
  bias: OPTION_bias = True,
74
74
  nchips: OPTION_nchips = None,
75
75
  ):
76
- """run() creates the qcDataFrame where the measurements are stored in the qcDataFrame."""
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
- run_xyz() creates the qcDataFrame where the measurements are stored in the qcDataFrame.
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
@@ -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
@@ -75,7 +75,7 @@ def main(
75
75
  bias: OPTION_bias = True,
76
76
  nchips: OPTION_nchips = None,
77
77
  ):
78
- """main() creates the qcDataFrame and pass it to the run() where the measurements are stored in the qcDataFrame."""
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
- """Run the IV measurement."""
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" not in str(module_connectivity):
81
- logger.warning(
82
- f"[bright_yellow]You supplied a module connectivity ({module_connectivity}) which does not have 'LP' (low-power) in the name. Are you sure this is the connectivity file for low-power configuration? If not, chip will fail to configure.[/]"
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(config["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)
@@ -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
  )
@@ -73,6 +73,7 @@ def main(
73
73
  bias: OPTION_bias = True,
74
74
  nchips: OPTION_nchips = None,
75
75
  ):
76
+ """Records the shunt LDO (SLDO) voltage vs input current."""
76
77
  check_module_connectivity(
77
78
  hw_config_path=hw_config_path, module_connectivity=module_connectivity
78
79
  )
@@ -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
- """main() creates the qcDataFrame and pass it to the run() where the measurements are stored in the qcDataFrame."""
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
@@ -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
  """
@@ -7,6 +7,7 @@
7
7
  "Vin": 0.0,
8
8
  "Vbias": 0.0,
9
9
  "Ileak": 0.0,
10
+ "disabled_chip_positions": [],
10
11
  "Chip1": {
11
12
  "VinA": 0.0,
12
13
  "VinD": 0.0,
@@ -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...')