module-qc-database-tools 2.11.0rc0__tar.gz → 2.11.2__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 (161) hide show
  1. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/.zenodo.json +3 -3
  2. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/CITATION.cff +2 -2
  3. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/PKG-INFO +6 -4
  4. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/README.md +1 -1
  5. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/history.md +31 -2
  6. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/install.md +2 -2
  7. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/pyproject.toml +4 -2
  8. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/_version.py +2 -2
  9. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/generate_yarr_config.py +20 -0
  10. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/core.py +128 -99
  11. module_qc_database_tools-2.11.2/src/module_qc_database_tools/data/YARR/default_chip_config.json +102 -0
  12. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/db/upload_test.py +1 -1
  13. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/tbump.toml +2 -2
  14. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/.env.template +0 -0
  15. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/.gitattributes +0 -0
  16. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/.gitignore +0 -0
  17. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/.gitlab-ci.yml +0 -0
  18. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/.linkcheckerrc +0 -0
  19. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/.pre-commit-config.yaml +0 -0
  20. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/LICENSE +0 -0
  21. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/ci/pre-commit-update.sh +0 -0
  22. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/.gitkeep +0 -0
  23. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/.overrides/main.html +0 -0
  24. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/.snippets/abbrs.txt +0 -0
  25. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/.snippets/links.txt +0 -0
  26. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/assets/css/custom.css +0 -0
  27. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/config.md +0 -0
  28. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/development.md +0 -0
  29. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/dynamic_docstring.py +0 -0
  30. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/index.md +0 -0
  31. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/iref_trim.md +0 -0
  32. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/meta/authors.md +0 -0
  33. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/reference/cli.md +0 -0
  34. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/reference/gen_ref_nav.py +0 -0
  35. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc-CsTKlA.woff2 +0 -0
  36. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc0CsTKlA.woff2 +0 -0
  37. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc1CsTKlA.woff2 +0 -0
  38. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc2CsTKlA.woff2 +0 -0
  39. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc3CsTKlA.woff2 +0 -0
  40. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc5CsTKlA.woff2 +0 -0
  41. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TjASc6CsQ.woff2 +0 -0
  42. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic-CsTKlA.woff2 +0 -0
  43. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic0CsTKlA.woff2 +0 -0
  44. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic1CsTKlA.woff2 +0 -0
  45. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic2CsTKlA.woff2 +0 -0
  46. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic3CsTKlA.woff2 +0 -0
  47. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic5CsTKlA.woff2 +0 -0
  48. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOjCnqEu92Fr1Mu51TzBic6CsQ.woff2 +0 -0
  49. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xEIzIFKw.woff2 +0 -0
  50. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xFIzIFKw.woff2 +0 -0
  51. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xGIzIFKw.woff2 +0 -0
  52. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xHIzIFKw.woff2 +0 -0
  53. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xIIzI.woff2 +0 -0
  54. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xLIzIFKw.woff2 +0 -0
  55. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOkCnqEu92Fr1Mu51xMIzIFKw.woff2 +0 -0
  56. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 +0 -0
  57. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 +0 -0
  58. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 +0 -0
  59. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 +0 -0
  60. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 +0 -0
  61. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 +0 -0
  62. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 +0 -0
  63. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 +0 -0
  64. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 +0 -0
  65. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 +0 -0
  66. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 +0 -0
  67. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 +0 -0
  68. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 +0 -0
  69. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 +0 -0
  70. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 +0 -0
  71. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu4mxK.woff2 +0 -0
  72. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 +0 -0
  73. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu72xKOzY.woff2 +0 -0
  74. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +0 -0
  75. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 +0 -0
  76. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 +0 -0
  77. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSV0mf0h.woff2 +0 -0
  78. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSZ0mf0h.woff2 +0 -0
  79. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSd0mf0h.woff2 +0 -0
  80. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSh0mQ.woff2 +0 -0
  81. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSt0mf0h.woff2 +0 -0
  82. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xTDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vrtSM1J-gEPT5Ese6hmHSx0mf0h.woff2 +0 -0
  83. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtElOUlYIw.woff2 +0 -0
  84. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEleUlYIw.woff2 +0 -0
  85. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEluUlYIw.woff2 +0 -0
  86. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEm-Ul.woff2 +0 -0
  87. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEmOUlYIw.woff2 +0 -0
  88. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts/L0xdDF4xlVMF-BfR8bXMIjhOsXG-q2oeuFoqFrlnAIe2Imhk1T8rbociImtEn-UlYIw.woff2 +0 -0
  89. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/fonts.css +0 -0
  90. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/stylesheets/readme.txt +0 -0
  91. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/docs/yarr.md +0 -0
  92. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/mkdocs.yml +0 -0
  93. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/__init__.py +0 -0
  94. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/chip_config_api.py +0 -0
  95. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/__init__.py +0 -0
  96. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/__main__.py +0 -0
  97. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/assign_tag.py +0 -0
  98. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/download_component.py +0 -0
  99. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/fetch_reference_ivs.py +0 -0
  100. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/get_bom_info.py +0 -0
  101. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/get_vfd_info.py +0 -0
  102. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/globals.py +0 -0
  103. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/influxdbtool_retrieve.py +0 -0
  104. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/localdbtool_retrieve.py +0 -0
  105. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/localdbtool_upload.py +0 -0
  106. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/main.py +0 -0
  107. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/pull_component.py +0 -0
  108. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/recycle_analysis.py +0 -0
  109. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/recycle_esummary.py +0 -0
  110. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/register_component.py +0 -0
  111. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/review_component.py +0 -0
  112. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/run_full_qc.py +0 -0
  113. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/sync_component_stages.py +0 -0
  114. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/upload_measurement.py +0 -0
  115. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/cli/utils.py +0 -0
  116. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/data/YARR/chip_template.json +0 -0
  117. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/data/componentConfigs.json +0 -0
  118. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/db/__init__.py +0 -0
  119. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/db/local.py +0 -0
  120. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/db/ls.py +0 -0
  121. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/db/prod.py +0 -0
  122. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/db/show_qc_pipeline.py +0 -0
  123. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/db/show_qc_status.py +0 -0
  124. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/db/show_test.py +0 -0
  125. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/exceptions.py +0 -0
  126. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/iv/__init__.py +0 -0
  127. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/iv/localdb.py +0 -0
  128. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/iv/proddb.py +0 -0
  129. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/models.py +0 -0
  130. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/recycle.py +0 -0
  131. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/review/__init__.py +0 -0
  132. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/review/checks.py +0 -0
  133. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/review/helpers.py +0 -0
  134. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/sync_component_stages/__init__.py +0 -0
  135. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/typing_compat.py +0 -0
  136. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/utils.py +0 -0
  137. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/README.md +0 -0
  138. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/__init__.py +0 -0
  139. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/common.py +0 -0
  140. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/configs/influxdb_connectivity.json +0 -0
  141. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/db_logging.py +0 -0
  142. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/direct.py +0 -0
  143. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/indirect.py +0 -0
  144. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/localdb.py +0 -0
  145. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/login_mongodb.sh +0 -0
  146. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/register.py +0 -0
  147. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/default/database.json +0 -0
  148. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/default/dcs.dat +0 -0
  149. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/default/dcs_info.json +0 -0
  150. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/default/register_component_fei4b.json +0 -0
  151. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/default/register_component_rd53a.json +0 -0
  152. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/default/site.json +0 -0
  153. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/default/user.json +0 -0
  154. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/requirements-pip.txt +0 -0
  155. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setting/requirements-yum.txt +0 -0
  156. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/src/module_qc_database_tools/yarr/setup_db.sh +0 -0
  157. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/tests/test_cli.py +0 -0
  158. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/tests/test_config_api.py +0 -0
  159. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/tests/test_iv.py +0 -0
  160. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/tests/test_package.py +0 -0
  161. {module_qc_database_tools-2.11.0rc0 → module_qc_database_tools-2.11.2}/tests/test_utils.py +0 -0
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "description": " general python tool for interfacing with databases during module QC tests for the ATLAS ITk project",
3
3
  "license": "MIT",
4
- "title": "atlas-itk-pixel-modules/mqdbt: v2.11.0rc0",
5
- "version": "v2.11.0rc0",
4
+ "title": "atlas-itk-pixel-modules/mqdbt: v2.11.2",
5
+ "version": "v2.11.2",
6
6
  "upload_type": "software",
7
7
  "creators": [
8
8
  {
@@ -80,7 +80,7 @@
80
80
  "related_identifiers": [
81
81
  {
82
82
  "scheme": "url",
83
- "identifier": "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-database-tools/-/tree/v2.11.0rc0",
83
+ "identifier": "https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-database-tools/-/tree/v2.11.2",
84
84
  "relation": "isSupplementTo"
85
85
  }
86
86
  ]
@@ -54,6 +54,6 @@ keywords:
54
54
  license:
55
55
  - mit
56
56
  message: If you use this software, please cite it using the metadata from this file.
57
- title: 'atlas-itk-pixel-modules/mqdbt: v2.11.0rc0'
57
+ title: 'atlas-itk-pixel-modules/mqdbt: v2.11.2'
58
58
  type: software
59
- version: v2.11.0rc0
59
+ version: v2.11.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: module-qc-database-tools
3
- Version: 2.11.0rc0
3
+ Version: 2.11.2
4
4
  Summary: Python wrapper to interface with LocalDB and Production DB for common tasks for pixel modules.
5
5
  Project-URL: Homepage, https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-database-tools
6
6
  Project-URL: Bug Tracker, https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-database-tools/issues
@@ -45,23 +45,25 @@ Classifier: Topic :: Scientific/Engineering
45
45
  Requires-Python: >=3.9
46
46
  Requires-Dist: arrow
47
47
  Requires-Dist: cachecontrol<=0.14.1
48
+ Requires-Dist: click<8.4,>=8.2.1; python_version == '3.10'
48
49
  Requires-Dist: influxdb
49
50
  Requires-Dist: itkdb>=0.6.17
50
51
  Requires-Dist: itksn>=0.4.2
51
52
  Requires-Dist: jsbeautifier
52
53
  Requires-Dist: jsondiff
53
- Requires-Dist: module-qc-data-tools>=1.5.0
54
+ Requires-Dist: module-qc-data-tools>=1.6.0
54
55
  Requires-Dist: packaging
55
56
  Requires-Dist: pandas
56
57
  Requires-Dist: pyarrow
57
58
  Requires-Dist: pymongo>=4.0.0
58
59
  Requires-Dist: rich
59
- Requires-Dist: typer>=0.18.0
60
+ Requires-Dist: typer<0.26.0,>=0.18.0; python_version <= '3.10'
61
+ Requires-Dist: typer>=0.26.0; python_version > '3.10'
60
62
  Requires-Dist: typing-extensions>=4.0; python_version < '3.10'
61
63
  Requires-Dist: urllib3<2,>=1.26.20; 'el7.x86_64' in platform_release
62
64
  Description-Content-Type: text/markdown
63
65
 
64
- # Module QC Database Tools v2.11.0rc0
66
+ # Module QC Database Tools v2.11.2
65
67
 
66
68
  The package to regisiter ITkPixV1.1 modules, and generate YARR configs from ITk
67
69
  production database using `itkdb` API.
@@ -1,4 +1,4 @@
1
- # Module QC Database Tools v2.11.0rc0
1
+ # Module QC Database Tools v2.11.2
2
2
 
3
3
  The package to regisiter ITkPixV1.1 modules, and generate YARR configs from ITk
4
4
  production database using `itkdb` API.
@@ -12,14 +12,43 @@ and this project adheres to
12
12
 
13
13
  **_Changed:_**
14
14
 
15
- - print warning instead of raising errors when reference IV is missing (!156)
15
+ **_Added:_**
16
+
17
+ **_Fixed:_**
18
+
19
+ ## [2.11.2](https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-database-tools/-/tags/v2.11.2) - 2026-07-07 ## {: #mqdbt-v2.11.2 }
20
+
21
+ **_Changed:_**
22
+
23
+ - in case of duplicated chip config, get the latest one by its `dateTime` (!166)
16
24
 
17
25
  **_Added:_**
18
26
 
19
- - save core column scan output in the same directory as other YARR scans (!154)
27
+ - add `--clear` or `--clear-chip-config` option to generate YARR configs with
28
+ untuned threshold and ToT registers (!165)
29
+
30
+ ## [2.11.1](https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-database-tools/-/tags/v2.11.1) - 2026-06-09 ## {: #mqdbt-v2.11.1 }
20
31
 
21
32
  **_Fixed:_**
22
33
 
34
+ - When generating the chip configs in data merging mode:
35
+ - Set AuroraActiveLanes = 3 for secondary chips when in 2-to-1 datamerging
36
+ mode (!157).
37
+ - Correctly turn off the unused lanes to prevent crosstalk and readout errors
38
+ (!161).
39
+ - mimic the changes in the YARR DM test: YARR/YARR!1128
40
+ - Fix protocol value when `submit_test` in `upload_test.py` (!159)
41
+
42
+ ## [2.11.0](https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-database-tools/-/tags/v2.11.0) - 2026-05-14 ## {: #mqdbt-v2.11.0 }
43
+
44
+ **_Changed:_**
45
+
46
+ - print warning instead of raising errors when reference IV is missing (!156)
47
+
48
+ **_Added:_**
49
+
50
+ - save core column scan output in the same directory as other YARR scans (!154)
51
+
23
52
  ## [2.10.1](https://gitlab.cern.ch/atlas-itk/pixel/module/module-qc-database-tools/-/tags/v2.10.1) - 2026-03-12 ## {: #mqdbt-v2.10.1 }
24
53
 
25
54
  **_Fixed:_**
@@ -90,7 +90,7 @@ package.
90
90
  $ python -m venv venv
91
91
  $ source venv/bin/activate
92
92
  $ python -m pip install -U pip
93
- $ python -m pip install -U pip module-qc-database-tools==2.11.0rc0
93
+ $ python -m pip install -U pip module-qc-database-tools==2.11.2
94
94
  ```
95
95
 
96
96
  ### via uv
@@ -99,7 +99,7 @@ $ python -m pip install -U pip module-qc-database-tools==2.11.0rc0
99
99
  $ python -m venv venv
100
100
  $ source venv/bin/activate
101
101
  $ python -m pip install uv
102
- $ uv pip install module-qc-database-tools==2.11.0rc0
102
+ $ uv pip install module-qc-database-tools==2.11.2
103
103
  ```
104
104
 
105
105
  # Usage
@@ -23,7 +23,9 @@ dependencies = [
23
23
  "itkdb>=0.6.17", # for interface with production database
24
24
  "pandas",
25
25
  "pyarrow",
26
- "typer>=0.18.0",
26
+ "typer>=0.26.0; python_version>'3.10'", # https://typer.tiangolo.com/release-notes/#0260-2026-05-26
27
+ "typer>=0.18.0,<0.26.0; python_version<='3.10'", # https://typer.tiangolo.com/release-notes/#0180-2025-09-19
28
+ "click>=8.2.1, <8.4; python_version=='3.10'",
27
29
  "pymongo>=4.0.0",
28
30
  "jsondiff",
29
31
  "jsbeautifier", # for printing prettier chip config: linebreaks vs size
@@ -35,7 +37,7 @@ dependencies = [
35
37
  "arrow",
36
38
  "packaging",
37
39
  "typing_extensions >=4.0; python_version<'3.10'",
38
- "module_qc_data_tools>=1.5.0",
40
+ "module_qc_data_tools>=1.6.0",
39
41
  ]
40
42
  classifiers = [
41
43
  "License :: OSI Approved :: MIT License",
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '2.11.0rc0'
22
- __version_tuple__ = version_tuple = (2, 11, 0, 'rc0')
21
+ __version__ = version = '2.11.2'
22
+ __version_tuple__ = version_tuple = (2, 11, 2)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -109,6 +109,21 @@ def main(
109
109
  help="Use reversed order of chip ID, e.g. for old L0 linear triplets.",
110
110
  ),
111
111
  config_hw: Path = OPTIONS["config_hw"],
112
+ default_chip_config_path: Path = typer.Option(
113
+ (module_qc_database_tools.data / "YARR" / "default_chip_config.json").resolve(),
114
+ "--default-chip-config",
115
+ help="Default chip config values from which the chip config are generated.",
116
+ exists=True,
117
+ file_okay=True,
118
+ readable=True,
119
+ resolve_path=True,
120
+ ),
121
+ clear_chip_config: bool = typer.Option(
122
+ False,
123
+ "--clear",
124
+ "--clear-chip-config",
125
+ help="Clears threshold and ToT tunings from chip config.",
126
+ ),
112
127
  ):
113
128
  """
114
129
  Main executable for generating yarr config.
@@ -150,6 +165,9 @@ def main(
150
165
  layer_config = layer
151
166
 
152
167
  chip_template = json.loads(chip_template_path.read_text()) if not localdb else None
168
+ default_chip_config = (
169
+ json.loads(default_chip_config_path.read_text()) if not localdb else None
170
+ )
153
171
 
154
172
  to_generate = []
155
173
 
@@ -166,6 +184,7 @@ def main(
166
184
  )
167
185
  generated_configs = module.generate_config(
168
186
  chip_template,
187
+ default_chip_config,
169
188
  layer_config,
170
189
  dp_port.value,
171
190
  suffix=suffix,
@@ -173,6 +192,7 @@ def main(
173
192
  speed=speed,
174
193
  reverse=reverse,
175
194
  felix=felix,
195
+ clear_chip_config=clear_chip_config,
176
196
  )
177
197
 
178
198
  if output_dir:
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import collections
3
4
  import copy
4
5
  import json
5
6
  import logging
@@ -27,6 +28,7 @@ from module_qc_database_tools.utils import (
27
28
  )
28
29
 
29
30
  log = logging.getLogger(__name__)
31
+ # pylint: disable=too-many-lines
30
32
 
31
33
 
32
34
  class Module:
@@ -153,6 +155,7 @@ class Module:
153
155
  def generate_config(
154
156
  self,
155
157
  chip_template,
158
+ default_chip_config,
156
159
  layer_config,
157
160
  dp_port: DPPort,
158
161
  suffix,
@@ -160,6 +163,7 @@ class Module:
160
163
  speed=1280,
161
164
  reverse=False,
162
165
  felix=False,
166
+ clear_chip_config=False,
163
167
  ):
164
168
  """
165
169
  Generate module config.
@@ -192,6 +196,7 @@ class Module:
192
196
  copy.deepcopy(
193
197
  chip_template
194
198
  ), # NB: make sure we copy as Chip::generate_config modifies this in-place
199
+ copy.deepcopy(default_chip_config),
195
200
  self.chip_type,
196
201
  chip_index,
197
202
  layer_config,
@@ -201,6 +206,7 @@ class Module:
201
206
  version=version,
202
207
  sensor_vendor=self.sensor_vendor,
203
208
  felix=felix,
209
+ clear_chip_config=clear_chip_config,
204
210
  )
205
211
  )
206
212
  except RuntimeError as snake:
@@ -326,6 +332,7 @@ class Chip:
326
332
  def generate_config(
327
333
  self,
328
334
  chip_template,
335
+ default_chip_config,
329
336
  chip_type,
330
337
  chip_index,
331
338
  layer_config,
@@ -335,6 +342,7 @@ class Chip:
335
342
  speed=1280,
336
343
  sensor_vendor=None,
337
344
  felix=False,
345
+ clear_chip_config=False,
338
346
  ):
339
347
  """
340
348
  Generate chip config.
@@ -344,6 +352,11 @@ class Chip:
344
352
  except KeyError:
345
353
  log.error("Chip template incompatible: no 'chip_type' found!")
346
354
  sys.exit(1)
355
+ try:
356
+ default_chip_config = {chip_type: default_chip_config.get("chip_type")}
357
+ except KeyError:
358
+ log.error("Default chip configs incompatible: no 'chip_type' found!")
359
+ sys.exit(1)
347
360
 
348
361
  data_merging = None
349
362
  ## warm or warm_4-to-1
@@ -359,8 +372,30 @@ class Chip:
359
372
  )
360
373
  sys.exit(1)
361
374
 
375
+ power_config = "LP" if suffix == "LP" else layer_config
376
+
362
377
  if version == "latest" and len(self.attachments) >= 3:
363
378
  checklist = [".json", layer_config, suffix]
379
+ log.debug(self.attachments)
380
+ ## reverse-sort attachments by date, so that we get the latest one in case of duplication
381
+ self.attachments = sorted(
382
+ self.attachments, key=lambda d: d["dateTime"], reverse=True
383
+ )
384
+ ## check for duplicates and print out warning
385
+ _titles = [item.get("title", None) for item in self.attachments]
386
+ ## remove None in case an attachment has no title
387
+ _titles = [_title for _title in _titles if _title is not None]
388
+ log.debug(_titles)
389
+ _duplicates = [
390
+ item
391
+ for item, count in collections.Counter(_titles).items()
392
+ if count > 1
393
+ ]
394
+ if _duplicates:
395
+ log.warning(
396
+ "These FE configs have multiple entries, please fix! %s",
397
+ _duplicates,
398
+ )
364
399
  for item in self.attachments:
365
400
  title = item["title"] or ""
366
401
  if all(check in title for check in checklist):
@@ -373,6 +408,7 @@ class Chip:
373
408
  )
374
409
  try:
375
410
  chip_template = self.get_latest_configs(item, speed)
411
+ break
376
412
  except RuntimeError as esnake:
377
413
  log.warning(
378
414
  "Unable to find latest config for FE%i (chip %s): %s. Make sure all sets of configs are present in the database.",
@@ -403,7 +439,6 @@ class Chip:
403
439
  self.uid,
404
440
  layer_config,
405
441
  )
406
- power_config = "LP" if suffix == "LP" else layer_config
407
442
  try:
408
443
  global_config = chip_template[chip_type]
409
444
  except KeyError:
@@ -432,102 +467,65 @@ class Chip:
432
467
  chip_template[chip_type]["GlobalConfig"]["DiffLcc"] = 200
433
468
  chip_template[chip_type]["GlobalConfig"]["DiffLccEn"] = 1
434
469
 
435
- chip_template[chip_type]["GlobalConfig"]["DiffPreComp"] = {
436
- "R0": 350,
437
- "R0.5": 350,
438
- "L0": 350,
439
- "L1": 350,
440
- "L2": 350,
441
- "LP": 0,
442
- }[power_config]
443
- chip_template[chip_type]["GlobalConfig"]["DiffPreampL"] = {
444
- "R0": 900,
445
- "R0.5": 900,
446
- "L0": 900,
447
- "L1": 730,
448
- "L2": 550,
449
- "LP": 0,
450
- }[power_config]
451
- chip_template[chip_type]["GlobalConfig"]["DiffPreampM"] = {
452
- "R0": 900,
453
- "R0.5": 900,
454
- "L0": 900,
455
- "L1": 730,
456
- "L2": 550,
457
- "LP": 0,
458
- }[power_config]
459
- chip_template[chip_type]["GlobalConfig"]["DiffPreampR"] = {
460
- "R0": 900,
461
- "R0.5": 900,
462
- "L0": 900,
463
- "L1": 730,
464
- "L2": 550,
465
- "LP": 0,
466
- }[power_config]
467
- chip_template[chip_type]["GlobalConfig"]["DiffPreampT"] = {
468
- "R0": 900,
469
- "R0.5": 900,
470
- "L0": 900,
471
- "L1": 730,
472
- "L2": 550,
473
- "LP": 0,
474
- }[power_config]
475
- chip_template[chip_type]["GlobalConfig"]["DiffPreampTL"] = {
476
- "R0": 900,
477
- "R0.5": 900,
478
- "L0": 900,
479
- "L1": 730,
480
- "L2": 550,
481
- "LP": 0,
482
- }[power_config]
483
- chip_template[chip_type]["GlobalConfig"]["DiffPreampTR"] = {
484
- "R0": 900,
485
- "R0.5": 900,
486
- "L0": 900,
487
- "L1": 730,
488
- "L2": 550,
489
- "LP": 0,
490
- }[power_config]
491
- chip_template[chip_type]["GlobalConfig"]["DiffVff"] = {
492
- "R0": 150,
493
- "R0.5": 150,
494
- "L0": 150,
495
- "L1": 150,
496
- "L2": 60,
497
- "LP": 0,
498
- }[power_config]
499
- chip_template[chip_type]["GlobalConfig"]["EnCoreCol0"] = {
500
- "R0": 65535,
501
- "R0.5": 65535,
502
- "L0": 65535,
503
- "L1": 65535,
504
- "L2": 65535,
505
- "LP": 0,
506
- }[power_config]
507
- chip_template[chip_type]["GlobalConfig"]["EnCoreCol1"] = {
508
- "R0": 65535,
509
- "R0.5": 65535,
510
- "L0": 65535,
511
- "L1": 65535,
512
- "L2": 65535,
513
- "LP": 0,
514
- }[power_config]
515
- chip_template[chip_type]["GlobalConfig"]["EnCoreCol2"] = {
516
- "R0": 65535,
517
- "R0.5": 65535,
518
- "L0": 65535,
519
- "L1": 65535,
520
- "L2": 65535,
521
- "LP": 0,
522
- }[power_config]
523
- chip_template[chip_type]["GlobalConfig"]["EnCoreCol3"] = {
524
- "R0": 63,
525
- "R0.5": 63,
526
- "L0": 63,
527
- "L1": 63,
528
- "L2": 63,
529
- "LP": 0,
530
- }[power_config]
470
+ chip_template[chip_type]["GlobalConfig"]["DiffPreComp"] = (
471
+ default_chip_config[chip_type]["GlobalConfig"]["DiffPreComp"][
472
+ power_config
473
+ ]
474
+ )
475
+ chip_template[chip_type]["GlobalConfig"]["DiffPreampL"] = (
476
+ default_chip_config[chip_type]["GlobalConfig"]["DiffPreampL"][
477
+ power_config
478
+ ]
479
+ )
480
+ chip_template[chip_type]["GlobalConfig"]["DiffPreampM"] = (
481
+ default_chip_config[chip_type]["GlobalConfig"]["DiffPreampM"][
482
+ power_config
483
+ ]
484
+ )
485
+ chip_template[chip_type]["GlobalConfig"]["DiffPreampR"] = (
486
+ default_chip_config[chip_type]["GlobalConfig"]["DiffPreampR"][
487
+ power_config
488
+ ]
489
+ )
490
+ chip_template[chip_type]["GlobalConfig"]["DiffPreampT"] = (
491
+ default_chip_config[chip_type]["GlobalConfig"]["DiffPreampT"][
492
+ power_config
493
+ ]
494
+ )
495
+ chip_template[chip_type]["GlobalConfig"]["DiffPreampTL"] = (
496
+ default_chip_config[chip_type]["GlobalConfig"]["DiffPreampTL"][
497
+ power_config
498
+ ]
499
+ )
500
+ chip_template[chip_type]["GlobalConfig"]["DiffPreampTR"] = (
501
+ default_chip_config[chip_type]["GlobalConfig"]["DiffPreampTR"][
502
+ power_config
503
+ ]
504
+ )
505
+ chip_template[chip_type]["GlobalConfig"]["DiffVff"] = default_chip_config[
506
+ chip_type
507
+ ]["GlobalConfig"]["DiffVff"][power_config]
508
+ chip_template[chip_type]["GlobalConfig"]["EnCoreCol0"] = (
509
+ default_chip_config[chip_type]["GlobalConfig"]["EnCoreCol0"][
510
+ power_config
511
+ ]
512
+ )
513
+ chip_template[chip_type]["GlobalConfig"]["EnCoreCol1"] = (
514
+ default_chip_config[chip_type]["GlobalConfig"]["EnCoreCol1"][
515
+ power_config
516
+ ]
517
+ )
518
+ chip_template[chip_type]["GlobalConfig"]["EnCoreCol2"] = (
519
+ default_chip_config[chip_type]["GlobalConfig"]["EnCoreCol2"][
520
+ power_config
521
+ ]
522
+ )
523
+ chip_template[chip_type]["GlobalConfig"]["EnCoreCol3"] = (
524
+ default_chip_config[chip_type]["GlobalConfig"]["EnCoreCol3"][
525
+ power_config
526
+ ]
527
+ )
528
+
531
529
  chip_template[chip_type]["Parameter"]["Name"] = self.uid
532
530
 
533
531
  if module_type == "triplet":
@@ -681,6 +679,7 @@ class Chip:
681
679
 
682
680
  # this stays at the end due to complex DAC combinations
683
681
  if data_merging and module_type == "quad":
682
+ chip_template[chip_type]["GlobalConfig"]["AuroraInitWait"] = 0
684
683
  chip_template[chip_type]["GlobalConfig"]["EnChipId"] = 1
685
684
  chip_template[chip_type]["GlobalConfig"]["SerEnLane"] = 15
686
685
  chip_template[chip_type]["GlobalConfig"]["ServiceBlockEn"] = 1
@@ -707,9 +706,15 @@ class Chip:
707
706
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux1"] = 0
708
707
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux2"] = 1
709
708
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux3"] = 2
709
+ chip_template[chip_type]["GlobalConfig"]["SerSelOut0"] = 3
710
710
  chip_template[chip_type]["GlobalConfig"]["SerSelOut1"] = 1
711
+ chip_template[chip_type]["GlobalConfig"]["SerSelOut2"] = 3
712
+ chip_template[chip_type]["GlobalConfig"]["SerSelOut3"] = 3
711
713
  elif chip_id in (13, 14): ## // Secondary
714
+ chip_template[chip_type]["GlobalConfig"]["SerSelOut0"] = 3
715
+ chip_template[chip_type]["GlobalConfig"]["SerSelOut1"] = 3
712
716
  chip_template[chip_type]["GlobalConfig"]["SerSelOut2"] = 1
717
+ chip_template[chip_type]["GlobalConfig"]["SerSelOut3"] = 3
713
718
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux0"] = 2
714
719
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux1"] = 3
715
720
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux2"] = 0
@@ -731,11 +736,16 @@ class Chip:
731
736
  return None
732
737
  elif data_merging == "2-to-1":
733
738
  if chip_id in (12, 14): ## // Secondaries
739
+ chip_template[chip_type]["GlobalConfig"]["AuroraActiveLanes"] = 3
734
740
  chip_template[chip_type]["GlobalConfig"]["CdrClkSel"] = 2
735
741
  chip_template[chip_type]["GlobalConfig"]["CmlBias0"] = 500
736
742
  chip_template[chip_type]["GlobalConfig"]["CmlBias1"] = 0
743
+ chip_template[chip_type]["GlobalConfig"]["SerEnTap"] = 0
744
+ chip_template[chip_type]["GlobalConfig"]["SerInvTap"] = 0
737
745
  chip_template[chip_type]["GlobalConfig"]["SerSelOut0"] = 1
738
746
  chip_template[chip_type]["GlobalConfig"]["SerSelOut1"] = 1
747
+ chip_template[chip_type]["GlobalConfig"]["SerSelOut2"] = 3
748
+ chip_template[chip_type]["GlobalConfig"]["SerSelOut3"] = 3
739
749
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux0"] = 1
740
750
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux1"] = 0
741
751
  chip_template[chip_type]["GlobalConfig"]["DataMergeOutMux2"] = 2
@@ -762,6 +772,21 @@ class Chip:
762
772
  )
763
773
  return None
764
774
 
775
+ if clear_chip_config:
776
+ if chip_template[chip_type].get("PixelConfig"):
777
+ log.info("Deleting PixelConfig from chip config.")
778
+ del chip_template[chip_type]["PixelConfig"]
779
+
780
+ for th in ["DiffTh1L", "DiffTh1M", "DiffTh1R", "DiffVff"]:
781
+ if th in chip_template[chip_type]["GlobalConfig"]:
782
+ log.info("Deleting %s from chip config.", th)
783
+ del chip_template[chip_type]["GlobalConfig"][th]
784
+
785
+ log.info("Reset to default DiffVff for layer %s.", power_config)
786
+ chip_template[chip_type]["GlobalConfig"]["DiffVff"] = default_chip_config[
787
+ chip_type
788
+ ]["GlobalConfig"]["DiffVff"][power_config]
789
+
765
790
  return chip_template
766
791
 
767
792
 
@@ -904,10 +929,11 @@ class LocalModule:
904
929
 
905
930
  return current_stage
906
931
 
907
- # speed and reverse needed to match the non-localDB module generate_config function
932
+ # Keywords default_chip_config, speed, reverse and clear_chip_config needed to match the non-localDB module generate_config function
908
933
  def generate_config(
909
934
  self,
910
935
  chip_template,
936
+ default_chip_config,
911
937
  layer_config,
912
938
  dp_port: DPPort,
913
939
  suffix,
@@ -915,6 +941,7 @@ class LocalModule:
915
941
  speed=1280,
916
942
  reverse=False,
917
943
  felix=False,
944
+ clear_chip_config=False,
918
945
  ):
919
946
  """
920
947
  Generate module config.
@@ -926,10 +953,12 @@ class LocalModule:
926
953
  version,
927
954
  )
928
955
  log.debug(
929
- "Unused variables: chip template: %s, speed: %i MHz, reverse orientation: %s.",
956
+ "Unused variables: chip template: %s, default chip config: %s, speed: %i MHz, reverse orientation: %s, clear chip config: %s",
930
957
  chip_template,
958
+ default_chip_config,
931
959
  speed,
932
960
  reverse,
961
+ clear_chip_config,
933
962
  )
934
963
 
935
964
  config_api = ChipConfigAPI(self.client)