module-qc-tools 2.2.6__tar.gz → 2.2.8__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 (182) hide show
  1. module_qc_tools-2.2.8/.gitlab-ci.yml +189 -0
  2. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/PKG-INFO +4 -4
  3. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/README.md +1 -1
  4. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/install.md +2 -2
  5. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/measurements.md +1 -6
  6. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/pyproject.toml +2 -5
  7. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/_version.py +2 -2
  8. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/ADC_CALIBRATION.py +5 -11
  9. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/ANALOG_READBACK.py +6 -15
  10. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/DATA_TRANSMISSION.py +6 -12
  11. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/INJECTION_CAPACITANCE.py +5 -16
  12. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/IV_MEASURE.py +7 -13
  13. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/LONG_TERM_STABILITY_DCS.py +5 -11
  14. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/LP_MODE.py +4 -15
  15. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/OVERVOLTAGE_PROTECTION.py +4 -15
  16. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/SLDO.py +4 -15
  17. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/UNDERSHUNT_PROTECTION.py +4 -15
  18. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/VCAL_CALIBRATION.py +6 -17
  19. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/hardware_emulator.py +1 -1
  20. module_qc_tools-2.2.8/src/module_qc_tools/cli/upload_localdb.py +58 -0
  21. module_qc_tools-2.2.8/src/module_qc_tools/console.py +3 -0
  22. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/configs/emulator_merged_vmux.json +1 -1
  23. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/configs/example_merged_vmux.json +2 -2
  24. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/configs/example_merged_vmux_itkpixv2.json +2 -2
  25. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/configs/example_separate_vmux.json +2 -2
  26. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip1.json +2 -2
  27. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip2.json +2 -2
  28. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip3.json +2 -2
  29. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/emulator/configs/connectivity/chip/dummy_chip4.json +2 -2
  30. module_qc_tools-2.2.8/src/module_qc_tools/data/schema/common.json +1843 -0
  31. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/analog_readback.py +152 -68
  32. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/data_transmission.py +2 -6
  33. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/injection_capacitance.py +17 -35
  34. module_qc_tools-2.2.8/src/module_qc_tools/measurements/iv_measure.py +211 -0
  35. module_qc_tools-2.2.8/src/module_qc_tools/measurements/long_term_stability_dcs.py +176 -0
  36. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/lp_mode.py +18 -30
  37. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/overvoltage_protection.py +18 -31
  38. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/sldo.py +46 -44
  39. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/undershunt_protection.py +17 -28
  40. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/vcal_calibration.py +15 -19
  41. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/utils/hardware_control_base.py +5 -2
  42. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/utils/misc.py +65 -6
  43. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/utils/yarr.py +72 -61
  44. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/tbump.toml +2 -2
  45. module_qc_tools-2.2.8/tests/conftest.py +26 -0
  46. module_qc_tools-2.2.8/tests/test_emulator.py +143 -0
  47. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/tests/test_measurements.py +5 -9
  48. module_qc_tools-2.2.8/tests/test_schema/cutter_pcb_tab.json +29 -0
  49. module_qc_tools-2.2.8/tests/test_schema/cutter_pcb_tab_BAD.json +29 -0
  50. module_qc_tools-2.2.8/tests/test_schema.py +29 -0
  51. module_qc_tools-2.2.6/.gitlab-ci.yml +0 -722
  52. module_qc_tools-2.2.6/Measurements/ADC_CALIBRATION/2024-07-12_231707/20UPGXM1234567.json +0 -575
  53. module_qc_tools-2.2.6/Measurements/ADC_CALIBRATION/2024-07-12_231711/20UPGXM1234567.json +0 -766
  54. module_qc_tools-2.2.6/Measurements/ANALOG_READBACK/2024-07-12_231706/20UPGXM1234567.json +0 -8822
  55. module_qc_tools-2.2.6/Measurements/ANALOG_READBACK/2024-07-12_231707/20UPGXM1234567.json +0 -6599
  56. module_qc_tools-2.2.6/Measurements/DATA_TRANSMISSION/2024-07-12_231728/20UPGXM1234567.json +0 -509
  57. module_qc_tools-2.2.6/Measurements/INJECTION_CAPACITANCE/2024-07-12_231709/20UPGXM1234567.json +0 -562
  58. module_qc_tools-2.2.6/Measurements/INJECTION_CAPACITANCE/2024-07-12_231714/20UPGXM1234567.json +0 -554
  59. module_qc_tools-2.2.6/Measurements/INJECTION_CAPACITANCE/2024-07-12_231718/20UPGXM1234567.json +0 -416
  60. module_qc_tools-2.2.6/Measurements/IV_MEASURE/2024-07-12_231733/20UPGXM1234567.json +0 -266
  61. module_qc_tools-2.2.6/Measurements/LP_MODE/2024-07-12_231709/20UPGXM1234567.json +0 -730
  62. module_qc_tools-2.2.6/Measurements/LP_MODE/2024-07-12_231712/20UPGXM1234567.json +0 -548
  63. module_qc_tools-2.2.6/Measurements/LP_MODE/2024-07-12_231714/20UPGXM1234567.json +0 -738
  64. module_qc_tools-2.2.6/Measurements/OVERVOLTAGE_PROTECTION/2024-07-12_231725/20UPGXM1234567.json +0 -626
  65. module_qc_tools-2.2.6/Measurements/OVERVOLTAGE_PROTECTION/2024-07-12_231735/20UPGXM1234567.json +0 -464
  66. module_qc_tools-2.2.6/Measurements/SLDO/2024-07-12_231703/20UPGXM1234567.json +0 -1946
  67. module_qc_tools-2.2.6/Measurements/SLDO/2024-07-12_231709/20UPGXM1234567.json +0 -1454
  68. module_qc_tools-2.2.6/Measurements/SLDO/2024-07-12_231712/20UPGXM1234567.json +0 -1938
  69. module_qc_tools-2.2.6/Measurements/UNDERSHUNT_PROTECTION/2024-07-12_231726/20UPGXM1234567.json +0 -914
  70. module_qc_tools-2.2.6/Measurements/UNDERSHUNT_PROTECTION/2024-07-12_231728/20UPGXM1234567.json +0 -922
  71. module_qc_tools-2.2.6/Measurements/UNDERSHUNT_PROTECTION/2024-07-12_231732/20UPGXM1234567.json +0 -686
  72. module_qc_tools-2.2.6/Measurements/VCAL_CALIBRATION/2024-07-12_231705/20UPGXM1234567.json +0 -2618
  73. module_qc_tools-2.2.6/Measurements/VCAL_CALIBRATION/2024-07-12_231709/20UPGXM1234567.json +0 -2586
  74. module_qc_tools-2.2.6/Measurements/VCAL_CALIBRATION/2024-07-12_231715/20UPGXM1234567.json +0 -1940
  75. module_qc_tools-2.2.6/src/module_qc_tools/cli/upload_localdb.py +0 -146
  76. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/ADC_CALIBRATION.json +0 -54
  77. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/ANALOG_READBACK.json +0 -212
  78. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/DATA_TRANSMISSION.json +0 -51
  79. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/INJECTION_CAPACITANCE.json +0 -54
  80. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/IV_MEASURE.json +0 -42
  81. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/LONG_TERM_STABILITY_DCS.json +0 -81
  82. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/LP_MODE.json +0 -63
  83. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/OVERVOLTAGE_PROTECTION.json +0 -59
  84. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/SLDO.json +0 -65
  85. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/UNDERSHUNT_PROTECTION.json +0 -57
  86. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/VCAL_CALIBRATION.json +0 -55
  87. module_qc_tools-2.2.6/src/module_qc_tools/data/schema/common.json +0 -985
  88. module_qc_tools-2.2.6/src/module_qc_tools/measurements/iv_measure.py +0 -188
  89. module_qc_tools-2.2.6/src/module_qc_tools/measurements/long_term_stability_dcs.py +0 -127
  90. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/.gitignore +0 -0
  91. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/.gitmodules +0 -0
  92. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/.linkcheckerrc +0 -0
  93. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/.pre-commit-config.yaml +0 -0
  94. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/LICENSE +0 -0
  95. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/.gitkeep +0 -0
  96. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/.overrides/main.html +0 -0
  97. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/.snippets/abbrs.txt +0 -0
  98. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/.snippets/links.txt +0 -0
  99. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/assets/css/custom.css +0 -0
  100. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/config.md +0 -0
  101. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/development.md +0 -0
  102. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/history.md +0 -0
  103. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/index.md +0 -0
  104. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/meta/authors.md +0 -0
  105. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/reference/cli.md +0 -0
  106. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/reference/gen_ref_nav.py +0 -0
  107. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 +0 -0
  108. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 +0 -0
  109. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 +0 -0
  110. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 +0 -0
  111. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 +0 -0
  112. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 +0 -0
  113. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 +0 -0
  114. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 +0 -0
  115. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 +0 -0
  116. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 +0 -0
  117. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 +0 -0
  118. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 +0 -0
  119. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 +0 -0
  120. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 +0 -0
  121. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 +0 -0
  122. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 +0 -0
  123. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 +0 -0
  124. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 +0 -0
  125. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xIIzI.woff2 +0 -0
  126. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 +0 -0
  127. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 +0 -0
  128. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 +0 -0
  129. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 +0 -0
  130. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 +0 -0
  131. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 +0 -0
  132. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 +0 -0
  133. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 +0 -0
  134. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 +0 -0
  135. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 +0 -0
  136. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 +0 -0
  137. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 +0 -0
  138. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 +0 -0
  139. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 +0 -0
  140. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 +0 -0
  141. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 +0 -0
  142. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 +0 -0
  143. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 +0 -0
  144. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 +0 -0
  145. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 +0 -0
  146. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +0 -0
  147. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 +0 -0
  148. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 +0 -0
  149. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 +0 -0
  150. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 +0 -0
  151. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 +0 -0
  152. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 +0 -0
  153. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 +0 -0
  154. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 +0 -0
  155. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 +0 -0
  156. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 +0 -0
  157. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 +0 -0
  158. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 +0 -0
  159. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 +0 -0
  160. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 +0 -0
  161. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/fonts.css +0 -0
  162. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/docs/stylesheets/readme.txt +0 -0
  163. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/emulator/README.md +0 -0
  164. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/mkdocs.yml +0 -0
  165. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/__init__.py +0 -0
  166. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/__init__.py +0 -0
  167. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/__main__.py +0 -0
  168. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/globals.py +0 -0
  169. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/cli/main.py +0 -0
  170. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/emulator/configs/connectivity/20UPGXM1234567_Lx_dummy.json +0 -0
  171. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/emulator/configs/connectivity/20UPGXM1234567_Lx_dummy_disabledchip.json +0 -0
  172. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/emulator/configs/controller/specCfg-rd53b.json +0 -0
  173. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/emulator/module_state_template.json +0 -0
  174. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/data/schema/config.json +0 -0
  175. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/__init__.py +0 -0
  176. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/measurements/adc_calibration.py +0 -0
  177. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/utils/__init__.py +0 -0
  178. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/utils/multimeter.py +0 -0
  179. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/utils/ntc.py +0 -0
  180. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/utils/power_supply.py +0 -0
  181. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/src/module_qc_tools/utils/subprocess_emulator.py +0 -0
  182. {module_qc_tools-2.2.6 → module_qc_tools-2.2.8}/tests/test_package.py +0 -0
@@ -0,0 +1,189 @@
1
+ stages:
2
+ - autoupdate
3
+ - check
4
+ - test
5
+ - build
6
+ - deploy
7
+
8
+ variables:
9
+ # see https://docs.gitlab.com/ee/ci/caching/#cache-python-dependencies
10
+ PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
11
+ PRE_COMMIT_HOME: "$CI_PROJECT_DIR/.cache/pre-commit"
12
+
13
+ cache:
14
+ paths:
15
+ - .cache/pip
16
+ - .cache/pre-commit
17
+ - venv/
18
+
19
+ image: registry.cern.ch/docker.io/library/python:3.11-buster
20
+ before_script:
21
+ # want to set up a virtualenv to cache
22
+ - apt-get install -y --no-install-recommends git
23
+ - python -V
24
+ - git config --global credential.helper 'cache'
25
+ - |
26
+ echo "protocol=https
27
+ host=gitlab.cern.ch
28
+ username=gitlab-ci-token
29
+ password=${CI_JOB_TOKEN}
30
+ " | git credential approve
31
+ - python -m venv venv
32
+ - source venv/bin/activate
33
+ - python -m pip install -U pip pipx
34
+ - python -m pipx ensurepath
35
+ - python -m pip freeze --local
36
+
37
+ # NB: repo-review requires python>=3.10
38
+ review:
39
+ image: registry.cern.ch/docker.io/library/python:3.10-buster
40
+ stage: check
41
+ script:
42
+ - pipx run 'sp-repo-review[cli]' .
43
+
44
+ lint:
45
+ stage: check
46
+ rules:
47
+ - if: $CI_PIPELINE_SOURCE == "push"
48
+ script:
49
+ - pipx run hatch run lint
50
+
51
+ pre-commit:
52
+ stage: check
53
+ variables:
54
+ PRE_COMMIT_HOME: "$CI_PROJECT_DIR/.cache/pre-commit"
55
+ rules:
56
+ - if: $CI_PIPELINE_SOURCE == "push"
57
+ script:
58
+ - pipx run pre-commit run --hook-stage manual --all-files
59
+ cache:
60
+ key:
61
+ files:
62
+ - .pre-commit-config.yaml
63
+ paths:
64
+ - .cache/pre-commit
65
+
66
+ pre-commit-autoupdate:
67
+ stage: autoupdate
68
+ rules:
69
+ - if: $CI_PIPELINE_SOURCE == "schedule"
70
+ when: always
71
+ - if:
72
+ $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
73
+ when: manual
74
+ # manual jobs need allow_failure? https://gitlab.com/gitlab-org/gitlab/-/issues/233876
75
+ allow_failure: true
76
+ script:
77
+ - python -m pip install pre-commit
78
+ - python -m pip freeze --local
79
+ - ci/pre-commit-update.sh
80
+
81
+ cache:
82
+ key:
83
+ files:
84
+ - .pre-commit-config.yaml
85
+ paths:
86
+ - .cache/pre-commit
87
+
88
+ tests:
89
+ stage: test
90
+ image: $IMAGE
91
+ script:
92
+ - git clone
93
+ https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.cern.ch/atlas-itk/pixel/module/module-qc-tools
94
+ - pipx run hatch run +py=${PYTHON_VERSION} dev:test
95
+ parallel:
96
+ matrix:
97
+ - IMAGE: "registry.cern.ch/docker.io/library/python:3.8-buster"
98
+ PYTHON_VERSION: "3.8"
99
+ - IMAGE: "registry.cern.ch/docker.io/library/python:3.9-buster"
100
+ PYTHON_VERSION: "3.9"
101
+ - IMAGE: "registry.cern.ch/docker.io/library/python:3.10-buster"
102
+ PYTHON_VERSION: "3.10"
103
+ - IMAGE: "registry.cern.ch/docker.io/library/python:3.11-buster"
104
+ PYTHON_VERSION: "3.11"
105
+ - IMAGE: "registry.cern.ch/docker.io/library/python:3.12-bullseye"
106
+ PYTHON_VERSION: "3.12"
107
+
108
+ .test:
109
+ image: registry.cern.ch/docker.io/library/python:3.8-buster
110
+ stage: test
111
+
112
+ make-docs:
113
+ stage: test
114
+ image: registry.cern.ch/docker.io/library/python:3.11-bullseye
115
+ rules:
116
+ - if: $CI_PIPELINE_SOURCE == "push"
117
+ script: pipx run hatch run docs:build-check
118
+
119
+ package:
120
+ stage: build
121
+ rules:
122
+ - if: $CI_PIPELINE_SOURCE == "push"
123
+ script:
124
+ - pipx run hatch run build-check
125
+ artifacts:
126
+ paths:
127
+ - dist/
128
+ expire_in: 1 day
129
+
130
+ .deploy_package:
131
+ stage: deploy
132
+ dependencies:
133
+ - package
134
+ script:
135
+ - pipx run hatch run upload
136
+
137
+ deploy_package_gitlab:
138
+ extends: .deploy_package
139
+ rules:
140
+ - if:
141
+ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"
142
+ variables:
143
+ TWINE_REPOSITORY_URL: "https://gitlab.cern.ch/api/v4/projects/${CI_PROJECT_ID}/packages/pypi"
144
+ TWINE_USERNAME: "gitlab-ci-token"
145
+ TWINE_PASSWORD: "${CI_JOB_TOKEN}"
146
+
147
+ deploy_package_pypi:
148
+ extends: .deploy_package
149
+ only:
150
+ - tags
151
+ variables:
152
+ TWINE_REPOSITORY: pypi
153
+ TWINE_USERNAME: __token__
154
+ TWINE_PASSWORD: $PYPI_TOKEN
155
+
156
+ deploy_docs_dev:
157
+ stage: deploy
158
+ resource_group: documentation
159
+ rules:
160
+ - if:
161
+ $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push"
162
+ script:
163
+ # the next three lines are just to commit and push pages to the project
164
+ - git config --global user.email
165
+ "project_139533_bot_52a0e9bbb1570326242e61cb6cd9d917@noreply.gitlab.cern.ch"
166
+ - git config --global user.name "pre-commit-ci"
167
+ - git remote set-url origin
168
+ "https://__pre-commit_ci_token:${PRE_COMMIT_CI_JOB_TOKEN}@${CI_SERVER_HOST}:${CI_SERVER_PORT}/${CI_PROJECT_PATH}.git"
169
+ # this is the script
170
+ - pipx run hatch run docs:deploy dev
171
+
172
+ deploy_docs_latest:
173
+ stage: deploy
174
+ resource_group: documentation
175
+ only:
176
+ - tags
177
+ script:
178
+ # the next three lines are just to commit and push pages to the project
179
+ - git config --global user.email
180
+ "project_139533_bot_52a0e9bbb1570326242e61cb6cd9d917@noreply.gitlab.cern.ch"
181
+ - git config --global user.name "pre-commit-ci"
182
+ - git remote set-url origin
183
+ "https://__pre-commit_ci_token:${PRE_COMMIT_CI_JOB_TOKEN}@${CI_SERVER_HOST}:${CI_SERVER_PORT}/${CI_PROJECT_PATH}.git"
184
+ # this is the script
185
+ - VERSION=$(cut -d '.' -f 1,2 <<< "${CI_COMMIT_TAG}")
186
+ - IS_LATEST=$([[ "${CI_COMMIT_TAG}" == *"rc"* ]] && echo "" || echo
187
+ "latest")
188
+ - echo "Building and deploying docs for ${VERSION}"
189
+ - pipx run hatch run docs:deploy "${VERSION}" ${IS_LATEST:+"$IS_LATEST"}
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: module_qc_tools
3
- Version: 2.2.6
3
+ Version: 2.2.8
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
@@ -34,7 +34,7 @@ Classifier: Programming Language :: Python :: 3
34
34
  Requires-Python: >=3.7
35
35
  Requires-Dist: check-jsonschema
36
36
  Requires-Dist: importlib-resources; python_version < '3.9'
37
- Requires-Dist: module-qc-data-tools>=1.0.14
37
+ Requires-Dist: module-qc-data-tools>=1.0.22
38
38
  Requires-Dist: numpy
39
39
  Requires-Dist: pre-commit
40
40
  Requires-Dist: requests
@@ -44,7 +44,7 @@ Requires-Dist: typer>=0.9.0
44
44
  Requires-Dist: urllib3<2,>=1.26.11; 'el7.x86_64' in platform_release
45
45
  Description-Content-Type: text/markdown
46
46
 
47
- # module-qc-tools v2.2.6
47
+ # module-qc-tools v2.2.8
48
48
 
49
49
  A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
50
50
 
@@ -1,4 +1,4 @@
1
- # module-qc-tools v2.2.6
1
+ # module-qc-tools v2.2.8
2
2
 
3
3
  A general python tool for running ITkPixV1.1 and ITkPixV2 module QC tests
4
4
 
@@ -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.6
95
+ $ python -m pip install -U pip module-qc-tools==2.2.8
96
96
  ```
97
97
 
98
98
  ### via uv
@@ -101,7 +101,7 @@ $ python -m pip install -U pip module-qc-tools==2.2.6
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.6
104
+ $ uv pip install module-qc-tools==2.2.8
105
105
  ```
106
106
 
107
107
  # Usage
@@ -85,12 +85,7 @@ check-jsonschema [path to output json files] --schemafile $(module-qc-tools
85
85
 
86
86
  ### Uploading measurements to localDB
87
87
 
88
- - [`mqt upload`](reference/cli.md#mqt-upload)
89
- - [`module-qc-tools upload`](reference/cli.md#mqt-upload)
90
- - [`module-qc-tools-upload`](reference/cli.md#mqt-upload)
91
-
92
- The output measurement files from all measurements below can be uploaded to
93
- localDB via this command.
88
+ Please use `mqdbt` to upload measurements to localDB.
94
89
 
95
90
  ## Sensor IV Measure
96
91
 
@@ -20,7 +20,7 @@ dependencies = [
20
20
  "tabulate",
21
21
  "pre-commit",
22
22
  "check-jsonschema",
23
- "module-qc-data-tools >= 1.0.14",
23
+ "module-qc-data-tools >= 1.0.22",
24
24
  'importlib_resources; python_version < "3.9"',
25
25
  "requests",
26
26
  'urllib3>=1.26.11,<2; "el7.x86_64" in platform_release',
@@ -110,7 +110,7 @@ dependencies = [
110
110
  test = "pytest -ra {args}"
111
111
 
112
112
  [[tool.hatch.envs.dev.matrix]]
113
- python = ["3.7", "3.8", "3.9", "3.10", "3.11", "pypy3.8"]
113
+ python = ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "pypy3.8"]
114
114
 
115
115
  [tool.hatch.envs.docs]
116
116
  template = "docs"
@@ -158,9 +158,6 @@ build-check = [
158
158
  "validate",
159
159
  ]
160
160
 
161
- [tool.ruff]
162
- src = ["src"]
163
-
164
161
  [tool.ruff.lint]
165
162
  extend-select = [
166
163
  "B", # flake8-bugbear
@@ -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.6'
16
- __version_tuple__ = version_tuple = (2, 2, 6)
15
+ __version__ = version = '2.2.8'
16
+ __version_tuple__ = version_tuple = (2, 2, 8)
@@ -17,6 +17,7 @@ from module_qc_tools.cli.globals import (
17
17
  OPTIONS,
18
18
  LogLevel,
19
19
  )
20
+ from module_qc_tools.console import console
20
21
  from module_qc_tools.measurements.adc_calibration import run
21
22
  from module_qc_tools.utils.misc import (
22
23
  add_identifiers_metadata,
@@ -71,7 +72,7 @@ def main(
71
72
 
72
73
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
73
74
 
74
- config = load_config(config_path)
75
+ config = load_config(config_path, test_type=TEST_TYPE)
75
76
 
76
77
  if module_connectivity:
77
78
  config["yarr"]["connectivity"] = module_connectivity
@@ -80,18 +81,14 @@ def main(
80
81
  module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
81
82
  layer = get_layer_from_sn(module_serial)
82
83
 
83
- # create measurement config
84
- measurement_config = config["tasks"]["GENERAL"]
85
- measurement_config.update(config["tasks"][TEST_TYPE])
86
-
87
84
  # initialize hardware
88
85
  ps = power_supply(config["power_supply"])
89
86
  yr = yarr(config["yarr"])
90
87
 
91
88
  if not use_pixel_config:
92
- yr.omit_pixel_config("tmp")
89
+ yr.omit_pixel_config()
93
90
 
94
- ps.set(v=measurement_config["v_max"], i=measurement_config["i_config"][layer])
91
+ ps.set(v=config["v_max"], i=config["i_config"][layer])
95
92
 
96
93
  try:
97
94
  data = run(config, ps, yr, layer, debug_gnd)
@@ -105,15 +102,12 @@ def main(
105
102
 
106
103
  add_identifiers_metadata(data, module_serial, institution)
107
104
 
108
- logger.info(
109
- "==================================Summary=================================="
110
- )
111
105
  alloutput = []
112
106
  chipnames = []
113
107
 
114
108
  for chip in yr._enabled_chip_positions:
115
109
  chip_name = data[chip]._meta_data["Name"]
116
- logger.info(r"data\[chip]: %s", data[chip], extra={"markup": False})
110
+ console.print(data[chip])
117
111
  outputDF = outputDataFrame()
118
112
  outputDF.set_test_type(TEST_TYPE)
119
113
  outputDF.set_results(data[chip])
@@ -17,6 +17,7 @@ from module_qc_tools.cli.globals import (
17
17
  OPTIONS,
18
18
  LogLevel,
19
19
  )
20
+ from module_qc_tools.console import console
20
21
  from module_qc_tools.measurements.analog_readback import (
21
22
  run_tmeas,
22
23
  run_vdda_vddd_vs_trim,
@@ -72,7 +73,7 @@ def main(
72
73
 
73
74
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
74
75
 
75
- config = load_config(config_path)
76
+ config = load_config(config_path, test_type=TEST_TYPE)
76
77
 
77
78
  if module_connectivity:
78
79
  config["yarr"]["connectivity"] = module_connectivity
@@ -81,20 +82,14 @@ def main(
81
82
  module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
82
83
  layer = get_layer_from_sn(module_serial)
83
84
 
84
- # create measurement config
85
- analog_readback_config = config["tasks"]["GENERAL"]
86
- analog_readback_config.update(config["tasks"]["ANALOG_READBACK"])
87
-
88
85
  # initialize hardware
89
86
  ps = power_supply(config["power_supply"])
90
87
  yr = yarr(config["yarr"])
91
88
 
92
89
  if not use_pixel_config:
93
- yr.omit_pixel_config("tmp")
90
+ yr.omit_pixel_config()
94
91
 
95
- ps.set(
96
- v=analog_readback_config["v_max"], i=analog_readback_config["i_config"][layer]
97
- )
92
+ ps.set(v=config["v_max"], i=config["i_config"][layer])
98
93
  yr.configure()
99
94
 
100
95
  # Measure internal vmux
@@ -144,16 +139,12 @@ def main(
144
139
  add_identifiers_metadata(data_tempmeas, module_serial, institution)
145
140
 
146
141
  # save results in json
147
- logger.info(
148
- "==================================Summary=================================="
149
- )
150
142
  alloutput = []
151
143
  chipnames = []
152
144
 
153
145
  for chip in yr._enabled_chip_positions:
154
- logger.info(f"Chip-{chip+1}")
155
- logger.info(data[chip], extra={"markup": False})
156
- logger.info(data_tempmeas[chip], extra={"markup": False})
146
+ console.print(data[chip])
147
+ console.print(data_tempmeas[chip])
157
148
  chip_name = data[chip]._meta_data["Name"]
158
149
 
159
150
  for dataobj in [data, data_tempmeas, data_vdda_vddd_vs_trim]:
@@ -18,6 +18,7 @@ from module_qc_tools.cli.globals import (
18
18
  OPTIONS,
19
19
  LogLevel,
20
20
  )
21
+ from module_qc_tools.console import console
21
22
  from module_qc_tools.measurements.data_transmission import run
22
23
  from module_qc_tools.utils.misc import (
23
24
  add_identifiers_metadata,
@@ -52,7 +53,7 @@ def main(
52
53
 
53
54
  if use_calib_adc:
54
55
  logger.warning(
55
- "The --use-calib-adc was supplied but Data Transmission cannot be performed with this option. Will ignore."
56
+ "The --use-calib-adc was supplied but Data Transmission does not use the multimeter, nor the ADC calibration. The flag will be ignored."
56
57
  )
57
58
 
58
59
  # if -o option used, overwrite the default output directory
@@ -70,7 +71,7 @@ def main(
70
71
 
71
72
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
72
73
 
73
- config = load_config(config_path)
74
+ config = load_config(config_path, test_type=TEST_TYPE)
74
75
 
75
76
  # Need to pass module connectivity path to yarr class (except in case we are running the emulator)
76
77
  if module_connectivity:
@@ -81,18 +82,14 @@ def main(
81
82
  layer = get_layer_from_sn(module_serial)
82
83
  n_lanes_per_chip = get_nlanes_from_sn(module_serial)
83
84
 
84
- # create measurement config
85
- measurement_config = config["tasks"]["GENERAL"]
86
- measurement_config.update(config["tasks"][TEST_TYPE])
87
-
88
85
  # initialize hardware
89
86
  ps = power_supply(config["power_supply"])
90
87
  yr = yarr(config["yarr"])
91
88
 
92
89
  if not use_pixel_config:
93
- yr.omit_pixel_config("tmp")
90
+ yr.omit_pixel_config()
94
91
 
95
- ps.set(v=measurement_config["v_max"], i=measurement_config["i_config"][layer])
92
+ ps.set(v=config["v_max"], i=config["i_config"][layer])
96
93
 
97
94
  try:
98
95
  data = run(
@@ -113,15 +110,12 @@ def main(
113
110
 
114
111
  add_identifiers_metadata(data, module_serial, institution)
115
112
 
116
- logger.info(
117
- "==================================Summary=================================="
118
- )
119
113
  alloutput = []
120
114
  chipnames = []
121
115
 
122
116
  for chip in yr._enabled_chip_positions:
123
117
  chip_name = data[chip]._meta_data["Name"]
124
- logger.info(r"data\[chip]: %s", data[chip], extra={"markup": False})
118
+ console.print(data[chip])
125
119
  outputDF = outputDataFrame()
126
120
  outputDF.set_test_type(TEST_TYPE)
127
121
  outputDF.set_results(data[chip])
@@ -17,6 +17,7 @@ from module_qc_tools.cli.globals import (
17
17
  OPTIONS,
18
18
  LogLevel,
19
19
  )
20
+ from module_qc_tools.console import console
20
21
  from module_qc_tools.measurements.injection_capacitance import (
21
22
  run,
22
23
  )
@@ -53,11 +54,6 @@ def main(
53
54
 
54
55
  timestart = datetime.now().strftime("%Y-%m-%d_%H%M%S")
55
56
 
56
- if use_calib_adc:
57
- logger.warning(
58
- "The --use-calib-adc was supplied but ADC calibration cannot be performed with this option. Will ignore and use multimeter."
59
- )
60
-
61
57
  # if -o option used, overwrite the default output directory
62
58
  output_dir = module_connectivity.parent if module_connectivity else base_output_dir
63
59
 
@@ -73,7 +69,7 @@ def main(
73
69
 
74
70
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
75
71
 
76
- config = load_config(config_path)
72
+ config = load_config(config_path, test_type=TEST_TYPE)
77
73
 
78
74
  if module_connectivity:
79
75
  config["yarr"]["connectivity"] = module_connectivity
@@ -82,18 +78,14 @@ def main(
82
78
  module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
83
79
  layer = get_layer_from_sn(module_serial)
84
80
 
85
- # create measurement config
86
- measurement_config = config["tasks"]["GENERAL"]
87
- measurement_config.update(config["tasks"][TEST_TYPE])
88
-
89
81
  # initialize hardware
90
82
  ps = power_supply(config["power_supply"])
91
83
  yr = yarr(config["yarr"])
92
84
 
93
85
  if not use_pixel_config:
94
- yr.omit_pixel_config("tmp")
86
+ yr.omit_pixel_config()
95
87
 
96
- ps.set(v=measurement_config["v_max"], i=measurement_config["i_config"][layer])
88
+ ps.set(v=config["v_max"], i=config["i_config"][layer])
97
89
 
98
90
  try:
99
91
  data = run(config, ps, yr, layer, debug_gnd, use_calib_adc)
@@ -106,15 +98,12 @@ def main(
106
98
  raise typer.Exit(1) from err
107
99
  add_identifiers_metadata(data, module_serial, institution)
108
100
 
109
- logger.info(
110
- "==================================Summary=================================="
111
- )
112
101
  alloutput = []
113
102
  chipnames = []
114
103
 
115
104
  for chip in yr._enabled_chip_positions:
116
105
  chip_name = data[chip]._meta_data["Name"]
117
- logger.info(r"data\[chip]: %s", data[chip], extra={"markup": False})
106
+ console.print(data[chip])
118
107
  outputDF = outputDataFrame()
119
108
  outputDF.set_test_type(TEST_TYPE)
120
109
  outputDF.set_results(data[chip])
@@ -17,6 +17,7 @@ from module_qc_tools.cli.globals import (
17
17
  OPTIONS,
18
18
  LogLevel,
19
19
  )
20
+ from module_qc_tools.console import console
20
21
  from module_qc_tools.measurements.iv_measure import run
21
22
  from module_qc_tools.utils.misc import (
22
23
  add_identifiers_metadata,
@@ -48,7 +49,7 @@ def main(
48
49
 
49
50
  if use_calib_adc:
50
51
  logger.warning(
51
- "The --use-calib-adc was supplied but ADC calibration cannot be performed with this option. Will ignore and use multimeter."
52
+ "The --use-calib-adc was supplied but IV Measure does not use the multimeter, nor the ADC calibration. The flag will be ignored."
52
53
  )
53
54
 
54
55
  # if -o option used, overwrite the default output directory
@@ -66,7 +67,7 @@ def main(
66
67
 
67
68
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
68
69
 
69
- config = load_config(config_path)
70
+ config = load_config(config_path, test_type=TEST_TYPE)
70
71
 
71
72
  if module_connectivity:
72
73
  config["yarr"]["connectivity"] = module_connectivity
@@ -75,10 +76,6 @@ def main(
75
76
  module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
76
77
  layer = get_layer_from_sn(module_serial)
77
78
 
78
- # create measurement config
79
- measurement_config = config["tasks"]["GENERAL"]
80
- measurement_config.update(config["tasks"][TEST_TYPE])
81
-
82
79
  # initialize hardware
83
80
  ps = power_supply(config["power_supply"])
84
81
  hv = power_supply(config["high_voltage"], name="high_voltage", is_hv=True)
@@ -87,9 +84,9 @@ def main(
87
84
  logger.info(
88
85
  f"HV polarity is {hv.getPolarity()} which is opposite to default (1)."
89
86
  )
90
- measurement_config["v_max"].update(
91
- (x, abs(y)) for x, y in measurement_config["v_max"].items()
92
- )
87
+ config["tasks"][TEST_TYPE]["v_max"] = {
88
+ x: abs(y) for x, y in config["v_max"].items()
89
+ }
93
90
 
94
91
  try:
95
92
  data = run(config, ps, hv, layer)
@@ -102,12 +99,9 @@ def main(
102
99
  add_identifiers_metadata(data, module_serial, institution)
103
100
  data.add_meta_data("DepletionVoltage", vdepl)
104
101
 
105
- logger.info(
106
- "==================================Summary=================================="
107
- )
108
102
  alloutput = []
109
103
 
110
- logger.info("data: %s", data, extra={"markup": False})
104
+ console.print(data)
111
105
  outputDF = outputDataFrame()
112
106
  outputDF._serialNumber = module_serial
113
107
  outputDF.set_test_type(TEST_TYPE)
@@ -17,6 +17,7 @@ from module_qc_tools.cli.globals import (
17
17
  OPTIONS,
18
18
  LogLevel,
19
19
  )
20
+ from module_qc_tools.console import console
20
21
  from module_qc_tools.measurements.long_term_stability_dcs import run
21
22
  from module_qc_tools.utils.misc import (
22
23
  add_identifiers_metadata,
@@ -79,7 +80,7 @@ def main(
79
80
 
80
81
  logger.addHandler(logging.FileHandler(output_dir.joinpath("output.log")))
81
82
 
82
- config = load_config(config_path)
83
+ config = load_config(config_path, test_type=TEST_TYPE)
83
84
 
84
85
  if module_connectivity:
85
86
  config["yarr"]["connectivity"] = module_connectivity
@@ -88,10 +89,6 @@ def main(
88
89
  module_serial = get_sn_from_connectivity(config["yarr"]["connectivity"])
89
90
  layer = get_layer_from_sn(module_serial)
90
91
 
91
- # create measurement config
92
- measurement_config = config["tasks"]["GENERAL"]
93
- measurement_config.update(config["tasks"][TEST_TYPE])
94
-
95
92
  # initialize hardware
96
93
  ps = power_supply(config["power_supply"])
97
94
  hv = power_supply(config["high_voltage"], name="high_voltage", is_hv=True)
@@ -99,9 +96,9 @@ def main(
99
96
 
100
97
  if yr.running_emulator():
101
98
  logger.info(
102
- f"Turning on power supply with V={measurement_config['v_max']}, I={measurement_config['i_config'][layer]}"
99
+ f"Turning on power supply with V={config['v_max']}, I={config['i_config'][layer]}"
103
100
  )
104
- ps.on(v=measurement_config["v_max"], i=measurement_config["i_config"][layer])
101
+ ps.on(v=config["v_max"], i=config["i_config"][layer])
105
102
  hv.on(v=-100.0, i=1e-6)
106
103
  # Only for emulator do the emulation of power on/off
107
104
  # For real measurements avoid turn on/off the chip by commands. Just leave the chip running.
@@ -124,12 +121,9 @@ def main(
124
121
 
125
122
  add_identifiers_metadata(data, module_serial, institution)
126
123
 
127
- logger.info(
128
- "==================================Summary=================================="
129
- )
130
124
  alloutput = []
131
125
 
132
- logger.info("data: %s", data, extra={"markup": False})
126
+ console.print(data)
133
127
  outputDF = outputDataFrame()
134
128
  outputDF._serialNumber = module_serial
135
129
  outputDF.set_test_type(TEST_TYPE)