quarchpy 2.1.11.dev8__py3-none-any.whl → 2.2.17.dev1__py3-none-any.whl

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 (733) hide show
  1. quarchpy/__init__.py +60 -8
  2. quarchpy/_version.py +1 -1
  3. quarchpy/config_files/Cable_Modules/QTL1253-01 - Mini SAS Module Config v3.5 c1.3.qfg +196 -196
  4. quarchpy/config_files/Cable_Modules/QTL1253-01 - Mini SAS Module Config v4.000 c1.3.qfg +198 -198
  5. quarchpy/config_files/Cable_Modules/QTL1253-02 - Mini SAS Module Config v3.5 c1.3.qfg +196 -196
  6. quarchpy/config_files/Cable_Modules/QTL1253-02 - Mini SAS Module Config v4.000 c1.3.qfg +198 -198
  7. quarchpy/config_files/Cable_Modules/QTL1253-xx - Mini SAS Module Config v4.003 c1.6.qfg +197 -197
  8. quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v3.5 c1.2.qfg +188 -188
  9. quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v4.000 c1.2.qfg +190 -190
  10. quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v4.100 c1.3.qfg +189 -189
  11. quarchpy/config_files/Cable_Modules/QTL1292-xx - SFP+ Cable Pull Module Config v4.000 c1.1.qfg +154 -154
  12. quarchpy/config_files/Cable_Modules/QTL1309-04 - USB 3.0 Module Config v4.003 c1.2.qfg +187 -187
  13. quarchpy/config_files/Cable_Modules/QTL1309-xx - USB 3.0 Module Config v3.5 c1.1.qfg +187 -187
  14. quarchpy/config_files/Cable_Modules/QTL1309-xx - USB 3.0 Module Config v4.000 c1.1.qfg +188 -188
  15. quarchpy/config_files/Cable_Modules/QTL1366-xx - QSFP Cable Pull Module Config v4.000 c1.1.qfg +209 -209
  16. quarchpy/config_files/Cable_Modules/QTL1383-xx - eSATAp Module Config v4.000 c1.3.qfg +190 -190
  17. quarchpy/config_files/Cable_Modules/QTL1521-02 - Mini SAS HD Module Config v4.000 c1.1.qfg +210 -210
  18. quarchpy/config_files/Cable_Modules/QTL1521-03 - Mini SAS HD Module Config v4.000 c1.1.qfg +210 -210
  19. quarchpy/config_files/Cable_Modules/QTL1521-05 - Mini SAS HD Module Config v4.005 c1.1.qfg +209 -209
  20. quarchpy/config_files/Cable_Modules/QTL1521-05 - Mini SAS HD Module Config v4.007 c1.2.qfg +209 -209
  21. quarchpy/config_files/Cable_Modules/QTL1521-xx - Mini SAS HD Module Config v4.003 c1.5.qfg +209 -209
  22. quarchpy/config_files/Cable_Modules/QTL1663-xx - Quad QSFP Cable Pull Module Config v4.000 c1.1.qfg +308 -308
  23. quarchpy/config_files/Cable_Modules/QTL1675-05 - Mini SAS HD Module w Triggering Config v4.007 c1.3.qfg +211 -211
  24. quarchpy/config_files/Cable_Modules/QTL1675-xx - Mini SAS HD Module w Triggering Config v4.000 c1.1.qfg +210 -210
  25. quarchpy/config_files/Cable_Modules/QTL1917-xx - Dual SFP+ Cable Pull Module Config v4.000 c1.1.qfg +174 -174
  26. quarchpy/config_files/Cable_Modules/QTL1971-01 - USB TypeC Module Config v4.000 c1.1.qfg +203 -203
  27. quarchpy/config_files/Cable_Modules/QTL1971-02 - USB TypeC Module Config v4.000 c1.1.qfg +203 -203
  28. quarchpy/config_files/Cable_Modules/QTL2022-xx - RJ-45 Cable Module Config v4.104 c1.3.QFG +189 -189
  29. quarchpy/config_files/Cable_Modules/QTL2058-xx - External PCIe Module Config v4.001 c1.1.qfg +209 -209
  30. quarchpy/config_files/Cable_Modules/QTL2138-01 - SFP28 Cable Pull Module Config v4.000 c1.1.qfg +154 -154
  31. quarchpy/config_files/Cable_Modules/QTL2146-01 - Gen4 OCuLink Cable Module Config v4.001 c1.1.qfg +212 -212
  32. quarchpy/config_files/Cable_Modules/QTL2162-01 - 24G mini SAS HD Cable Break Module Config v4.000 c1.qfg +209 -209
  33. quarchpy/config_files/Cable_Modules/QTL2171-01 - QSFP28 Cable Module Config v4.000 c1.qfg +198 -198
  34. quarchpy/config_files/Cable_Modules/QTL2171-02 - QSFP28 Cable Module Config v4.000 c1.qfg +198 -198
  35. quarchpy/config_files/Cable_Modules/QTL2341-01 - Gen4 External PCIe Cable Module v4.000.qfg +209 -209
  36. quarchpy/config_files/Cable_Modules/QTL2602-xx - Multiprotocol Link Breaker.qfg +178 -178
  37. quarchpy/config_files/Cable_Modules/QTL2834-xx - -48V DC Breaker Module v5.000 c1.0.qfg +177 -177
  38. quarchpy/config_files/Card_Modules/QTL1069-xx - SBB 2.0 Module Config v3.5 c1.1.qfg +366 -366
  39. quarchpy/config_files/Card_Modules/QTL1630-01 - PCIe Card Module v4.000 c1.0.qfg +280 -280
  40. quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.004 c1.2.qfg +283 -283
  41. quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.005 c1.2.qfg +283 -283
  42. quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.100 c1.4.qfg +284 -284
  43. quarchpy/config_files/Card_Modules/QTL1630-04 - PCIe Card Module Config v4.001 c1.1.qfg +287 -287
  44. quarchpy/config_files/Card_Modules/QTL1630-04 - PCIe Card Module Config v4.004 c1.2.qfg +287 -287
  45. quarchpy/config_files/Card_Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.004 c1.2.qfg +284 -284
  46. quarchpy/config_files/Card_Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.006 c1.3.qfg +285 -285
  47. quarchpy/config_files/Card_Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.001 c1.1.qfg +286 -286
  48. quarchpy/config_files/Card_Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.004 c1.2.qfg +288 -288
  49. quarchpy/config_files/Card_Modules/QTL1688-04 - PCIe Card Module w Triggering Config v4.005 c1.5.qfg +288 -288
  50. quarchpy/config_files/Card_Modules/QTL1688-05 - PCIe Card Module w Triggering Config v4.005 c1.qfg +288 -288
  51. quarchpy/config_files/Card_Modules/QTL1848-01 - PCIe Lite Card Module Config v4.000.qfg +122 -122
  52. quarchpy/config_files/Card_Modules/QTL1848-02 - PCIe Lite Card Module Config v4.000.qfg +134 -134
  53. quarchpy/config_files/Card_Modules/QTL1919-01 - PCIe x8 Card Module Config v4.001 c1.4.qfg +247 -247
  54. quarchpy/config_files/Card_Modules/QTL1920-01 - PCIe x8 Card Module w Triggering Config v4.000 c1.3.qfg +247 -247
  55. quarchpy/config_files/Card_Modules/QTL2019-xx - M.2 Horizontal Card Module Config v4.002 c1.1.qfg +219 -219
  56. quarchpy/config_files/Card_Modules/QTL2034-xx - M.2 M-Key Vertical Module Config v4.001 c1.1.qfg +221 -221
  57. quarchpy/config_files/Card_Modules/QTL2067-xx - PCIe SFF Module Config v4.000 c1.1.qfg +248 -248
  58. quarchpy/config_files/Card_Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.006 c1.4.qfg +256 -256
  59. quarchpy/config_files/Card_Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.007 c1.4.qfg +256 -256
  60. quarchpy/config_files/Card_Modules/QTL2073-01 - GEN3 PCIe Lite Card Module Config v4.001.qfg +134 -134
  61. quarchpy/config_files/Card_Modules/QTL2073-01 - PCIe Lite Card Module Config v4.000.qfg +134 -134
  62. quarchpy/config_files/Card_Modules/QTL2074-01 - GEN3 PCIe HS Card Module v4.005 c1.4.qfg +287 -287
  63. quarchpy/config_files/Card_Modules/QTL2074-01 - PCIe Card Module Config CurrentLimit v4.004 c1.2.qfg +287 -287
  64. quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.1.qfg +287 -287
  65. quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.3.qfg +277 -277
  66. quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v5.000 c1.4.qfg +277 -277
  67. quarchpy/config_files/Card_Modules/QTL2094-01 - Sanblaze Dualport Riser Card Config v4.001 c1.1.qfg +223 -223
  68. quarchpy/config_files/Card_Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.000 c1.1.qfg +287 -287
  69. quarchpy/config_files/Card_Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.4.qfg +277 -277
  70. quarchpy/config_files/Card_Modules/QTL2135-xx - PCIe GEN4 Card Module w Triggering Config - Inrush Limit v4.001 c1.4.qfg +277 -277
  71. quarchpy/config_files/Card_Modules/QTL2161-01 - EDSFF x8 Module Config v4.000 c1.1.qfg +210 -210
  72. quarchpy/config_files/Card_Modules/QTL2171-xx - EDSFF x8 Module w Triggering Config 4.001 c1.1.qfg +213 -213
  73. quarchpy/config_files/Card_Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.000 c1.1.qfg +218 -218
  74. quarchpy/config_files/Card_Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.005 c1.5.qfg +218 -218
  75. quarchpy/config_files/Card_Modules/QTL2272-01 - GEN4 EDSFF x8 Module Config v4.000 c1.1.qfg +211 -211
  76. quarchpy/config_files/Card_Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.000 c1.1.qfg +212 -212
  77. quarchpy/config_files/Card_Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.002 c1.2.qfg +212 -212
  78. quarchpy/config_files/Card_Modules/QTL2318-01 - SANBlaze U.2 Rack Riser Card Config v4.000 c1.1.qfg +218 -218
  79. quarchpy/config_files/Card_Modules/QTL2322-03 - GEN4 M.2 M-Key Vertical Breaker Module Config v5.001 c1.3.qfg +220 -220
  80. quarchpy/config_files/Card_Modules/QTL2322-xx - GEN4 M.2 M-Key Vertical Breaker Module Config v5.000 c1.1.qfg +208 -208
  81. quarchpy/config_files/Card_Modules/QTL2334-xx - Gen4 EDSFF x4 Card Module Config v4.000 c1.1.qfg +187 -187
  82. quarchpy/config_files/Card_Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.000 c1.1.qfg +189 -189
  83. quarchpy/config_files/Card_Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.001 c1.2.qfg +190 -190
  84. quarchpy/config_files/Card_Modules/QTL2357-xx - PCIe GEN5 Card Module Config v5.000 c1.1.qfg +282 -282
  85. quarchpy/config_files/Card_Modules/QTL2358-xx - PCIe GEN5 Card Module w Triggering Config v5.000 c1.1.qfg +283 -283
  86. quarchpy/config_files/Card_Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.000 c1.1.qfg +215 -215
  87. quarchpy/config_files/Card_Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.001 c1.2.qfg +217 -217
  88. quarchpy/config_files/Card_Modules/QTL2395-01 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.000 c1.1.qfg +208 -208
  89. quarchpy/config_files/Card_Modules/QTL2395-02 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.001 c1.3.qfg +220 -220
  90. quarchpy/config_files/Card_Modules/QTL2395-03 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.001 c1.3.qfg +220 -220
  91. quarchpy/config_files/Card_Modules/QTL2396-xx - PCIe GEN5 Card Module w inrush Config v5.000 c1.1.qfg +282 -282
  92. quarchpy/config_files/Card_Modules/QTL2403-xx - Gen4 PCIe Lite Module Config v4.000.qfg +135 -135
  93. quarchpy/config_files/Card_Modules/QTL2515-xx - PCIe GEN4 Card Module w Triggering - Inrush Limit Config v4.001 c1.3.qfg +277 -277
  94. quarchpy/config_files/Card_Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.000.qfg +130 -130
  95. quarchpy/config_files/Card_Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.003.qfg +137 -137
  96. quarchpy/config_files/Card_Modules/QTL2658-xx - Gen5 PCIe Lite Module w Inrush Config v4.000.qfg +130 -130
  97. quarchpy/config_files/Card_Modules/QTL2661-xx - GEN5 PCIe U.3 Breaker Config w Triggering v5.000 c1.1.qfg +229 -229
  98. quarchpy/config_files/Card_Modules/QTL2662-xx - GEN5 PCIe U.3 Breaker Config v5.000 c1.1.qfg +228 -228
  99. quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.000.qfg +230 -230
  100. quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.001 c1.2.qfg +233 -233
  101. quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker v5.000 c1.1.qfg +230 -230
  102. quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker +Triggering Config v5.000.qfg +230 -230
  103. quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering Config v5.001 c1.2.qfg +233 -233
  104. quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering v5.000 c1.1.qfg +230 -230
  105. quarchpy/config_files/Card_Modules/QTL2766-xx - GEN4 EDSFF E1 x8 Breaker Config v5.000.qfg +253 -253
  106. quarchpy/config_files/Card_Modules/QTL2767-xx - GEN4 EDSFF E3 x8 Breaker Config v5.000.qfg +253 -253
  107. quarchpy/config_files/Card_Modules/QTL2768-xx - GEN4 EDSFF E3 2T x8 Breaker Config v5.000.qfg +253 -253
  108. quarchpy/config_files/Card_Modules/QTL2776-xx - GEN4 EDSFF E1 x8 Breaker +Triggering Config v5.000.qfg +253 -253
  109. quarchpy/config_files/Card_Modules/QTL2777-xx - GEN4 EDSFF E3 x8 Breaker +Triggering Config v5.000.qfg +253 -253
  110. quarchpy/config_files/Card_Modules/QTL2778-xx - GEN4 EDSFF E3 2T x8 Breaker +Triggering Config v5.000.qfg +253 -253
  111. quarchpy/config_files/Card_Modules/QTL2798-xx - PCIe GEN5 Card Module w Triggering w Inrush Limit Config v5.000 c1.1.qfg +283 -283
  112. quarchpy/config_files/Card_Modules/QTL2804-xx - GEN5 MCIO x4 to U.2 Breaker Config v5.000 c1.1.qfg +234 -234
  113. quarchpy/config_files/Card_Modules/QTL2805-xx - GEN5 MCIO x4 to U.2 Breaker + Triggering Config v5.000 c1.1.qfg +234 -234
  114. quarchpy/config_files/Card_Modules/QTL2814-xx - GEN5 AIC to U.2 Breaker + Triggering Config v5.000 c1.1 .qfg +233 -233
  115. quarchpy/config_files/Card_Modules/QTL2892-xx - GEN5 EDSFF E1 x4 Breaker.qfg +233 -233
  116. quarchpy/config_files/Card_Modules/QTL2925-xx - GEN5 EDSFF E1 x4 Breaker +Triggering.qfg +233 -233
  117. quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v3.5 c1.5.qfg +198 -198
  118. quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v4.000 c1.5.qfg +200 -200
  119. quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v4.006 c1.8.qfg +199 -199
  120. quarchpy/config_files/Drive_Modules/QTL1215-xx - Lite Module Config v3.50.qfg +118 -118
  121. quarchpy/config_files/Drive_Modules/QTL1215-xx - Lite Module Config v4.000.qfg +118 -118
  122. quarchpy/config_files/Drive_Modules/QTL1301-xx - HS Lite Module Config v3.50.qfg +129 -129
  123. quarchpy/config_files/Drive_Modules/QTL1301-xx - HS Lite Module Config v4.000.qfg +129 -129
  124. quarchpy/config_files/Drive_Modules/QTL1429-01 - EMC HS Lite Module Config v4.000.qfg +129 -129
  125. quarchpy/config_files/Drive_Modules/QTL1429-02 - EMC HS Lite Module Config v4.002.qfg +120 -120
  126. quarchpy/config_files/Drive_Modules/QTL1623-03 - 12G HS Lite Module Config v4.001.qfg +128 -128
  127. quarchpy/config_files/Drive_Modules/QTL1623-04 - 12G HS Lite Module Config v4.001.qfg +128 -128
  128. quarchpy/config_files/Drive_Modules/QTL1680-xx - SCA2 Lite Module Config v4.001.qfg +135 -135
  129. quarchpy/config_files/Drive_Modules/QTL1689-01 - 12G HS Module Config v4.001 c1.1.qfg +199 -199
  130. quarchpy/config_files/Drive_Modules/QTL1689-04 - 12G HS Module Config v4.002 c1.1.qfg +196 -196
  131. quarchpy/config_files/Drive_Modules/QTL1689-05 - 12G HS Module Config v4.002 c1.1.qfg +196 -196
  132. quarchpy/config_files/Drive_Modules/QTL1743-02 - PCIe SFF Module Config v4.003 c1.3.qfg +222 -222
  133. quarchpy/config_files/Drive_Modules/QTL1743-02 - PCIe SFF Module Config v4.006 c1.4.qfg +213 -213
  134. quarchpy/config_files/Drive_Modules/QTL1743-xx - PCIe SFF Module Config v4.000 c1.1.qfg +221 -221
  135. quarchpy/config_files/Drive_Modules/QTL1753-xx - 12G Lite Module Config v4.000.qfg +116 -116
  136. quarchpy/config_files/Drive_Modules/QTL1921-01 - EMC 12G HS Lite Module Config v4.000.qfg +120 -120
  137. quarchpy/config_files/Drive_Modules/QTL2207-01 - GEN 4 PCIe U.2 Drive Module.qfg +217 -217
  138. quarchpy/config_files/Drive_Modules/QTL2207-02 - GEN 4 PCIe U.2 Drive Module v5.000.qfg +220 -220
  139. quarchpy/config_files/Drive_Modules/QTL2207-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.qfg +221 -221
  140. quarchpy/config_files/Drive_Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module v4.001.qfg +219 -219
  141. quarchpy/config_files/Drive_Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module.qfg +219 -219
  142. quarchpy/config_files/Drive_Modules/QTL2245-01 - GEN 4 PCIe U.3 HS Drive Module v4.000.qfg +223 -223
  143. quarchpy/config_files/Drive_Modules/QTL2245-xx - GEN 4 PCIe U.3 HS Drive Module.qfg +229 -229
  144. quarchpy/config_files/Drive_Modules/QTL2266-01 - GEN 4 PCIe SFF HS Drive Module Triggering.qfg +219 -219
  145. quarchpy/config_files/Drive_Modules/QTL2266-02 - GEN 4 PCIe SFF HS Drive Module Triggering v4.002.qfg +220 -220
  146. quarchpy/config_files/Drive_Modules/QTL2266-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.qfg +221 -221
  147. quarchpy/config_files/Drive_Modules/QTL2266-XX - GEN 4 PCIe SFF HS Drive Module Triggering.qfg +219 -219
  148. quarchpy/config_files/Drive_Modules/QTL2270-01 - GEN 4 PCIe U.3 HS Drive Module Triggering v4.000.qfg +225 -225
  149. quarchpy/config_files/Drive_Modules/QTL2270-xx - GEN 4 PCIe U.3 HS Drive Module Triggering.qfg +230 -230
  150. quarchpy/config_files/Drive_Modules/QTL2542-02 - 24G SAS Drive Breaker Module v5.001.qfg +194 -194
  151. quarchpy/config_files/Drive_Modules/QTL2542-xx - 24G SAS Drive Breaker v5.000 c1.1.qfg +194 -194
  152. quarchpy/config_files/Drive_Modules/QTL2543-xx - 24G SAS Drive Breaker +Triggering v5.000 c1.1.qfg +195 -195
  153. quarchpy/config_files/Drive_Modules/QTL2602-xx - Multiprotocol Link Breaker.qfg +178 -178
  154. quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.000.qfg +227 -227
  155. quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.001.qfg +227 -227
  156. quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.003.qfg +227 -227
  157. quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.007.qfg +229 -229
  158. quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.000.qfg +228 -228
  159. quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.001.qfg +228 -228
  160. quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.003.qfg +228 -228
  161. quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module v5.007.qfg +230 -230
  162. quarchpy/config_files/Drive_Modules/QTL2661-xx - Gen5 U.3 Drive Module + Triggering v5.000.qfg +229 -229
  163. quarchpy/config_files/Drive_Modules/QTL2662-xx - Gen5 PCIe U.3 Drive Module v5.000.qfg +228 -228
  164. quarchpy/config_files/Drive_Modules/QTL2757-xx - Gen5 SFF Lite Breaker Module Config v4.000.qfg +140 -140
  165. quarchpy/config_files/Drive_Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.qfg +253 -253
  166. quarchpy/config_files/Drive_Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker v5.001.qfg +234 -234
  167. quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.001.qfg +234 -234
  168. quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.002.qfg +253 -253
  169. quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.qfg +253 -253
  170. quarchpy/config_files/Drive_Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker v5.001 c1.2.qfg +231 -0
  171. quarchpy/config_files/{Card_Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker v5.002 c1.3.qfg → Drive_Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker with Triggering v5.002 c1.3.qfg } +253 -253
  172. quarchpy/config_files/Drive_Modules/QTL2814-xx - Gen5 AIC to U.2 Breaker with Triggering v5.001 c1.2.qfg +231 -0
  173. quarchpy/config_files/{Card_Modules/QTL2814-xx - Gen5 AIC to U.2 Breaker + Triggering Config v5.002 c1.3.qfg → Drive_Modules/QTL2814-xx - Gen5 AIC to U.2 Breaker with Triggering v5.002 c1.3.qfg } +253 -253
  174. quarchpy/config_files/Drive_Modules/QTL2892-xx - Gen5 EDSFF E1 x4 Breaker v5.001.qfg +233 -233
  175. quarchpy/config_files/Drive_Modules/Standard Drive Module Config v3.5 c1.1.qfg +171 -171
  176. quarchpy/config_files/Power_Margining/HD/QTL1944-xx - HD Power Module v5.000.qfg +123 -123
  177. quarchpy/config_files/Power_Margining/HD/QTL1944-xx - HD Power Module v5.003.qfg +124 -124
  178. quarchpy/config_files/Power_Margining/HD/QTL1995-xx - x6 HD Power Module v5.002.qfg +122 -122
  179. quarchpy/config_files/Power_Margining/HD/QTL1995-xx - x6 HD Power Module v5.003.qfg +123 -123
  180. quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v5.002.qfg +122 -122
  181. quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v5.003.qfg +123 -123
  182. quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v6.000.qfg +124 -124
  183. quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.101.qfg +78 -78
  184. quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.200.qfg +80 -80
  185. quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.201.qfg +82 -82
  186. quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Test Power Margining Module v4.004.qfg +73 -73
  187. quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.101.qfg +78 -78
  188. quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.200.qfg +80 -80
  189. quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.201.qfg +82 -82
  190. quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.105.qfg +78 -78
  191. quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.200.qfg +80 -80
  192. quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.201.qfg +82 -82
  193. quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.105.qfg +78 -78
  194. quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.200.qfg +80 -80
  195. quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.201.qfg +82 -82
  196. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.000.qfg +80 -80
  197. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.200.qfg +81 -81
  198. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.202.qfg +87 -87
  199. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.210.qfg +88 -88
  200. quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.211.qfg +121 -121
  201. quarchpy/config_files/Power_Margining/XLC/QTL1824-03 - Power Margining Module V2 - Triggering v4.213.qfg +121 -121
  202. quarchpy/config_files/Power_Margining/XLC/QTL1847-01 - Power Margining Module V2 v4.213.qfg +121 -121
  203. quarchpy/config_files/Switch_Modules/QTL1390-xx - 4-8 SATA MUX Module Config v4.002.qfg +186 -186
  204. quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.002.qfg +147 -147
  205. quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.003.qfg +147 -147
  206. quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.100.qfg +147 -147
  207. quarchpy/config_files/Switch_Modules/QTL1449-xx - 1-8 PCIe MUX Module Config v4.000.qfg +145 -145
  208. quarchpy/config_files/Switch_Modules/QTL1490-xx - SATA Keyed HS Module Config v4.003 c1.6.qfg +194 -194
  209. quarchpy/config_files/Switch_Modules/QTL1490-xx - SATA Keyed HS Module Config v4.006 c1.8.qfg +193 -193
  210. quarchpy/config_files/Switch_Modules/QTL1530-xx - 1-8 DP MUX Module Config v4.000.qfg +145 -145
  211. quarchpy/config_files/Switch_Modules/QTL1564-xx - 12 Port Mini SAS HD MUX Module Config v4.000.qfg +184 -184
  212. quarchpy/config_files/Switch_Modules/QTL1584-xx - 1-4 ExpressCard MUX Module Config v4.000.qfg +81 -81
  213. quarchpy/config_files/quarch_config_parser.py +16 -15
  214. quarchpy/connection_specific/QPS/{License/argparse4j-license.txt → 3rdPartyLicenses/argparse4j-LICENSE.txt} +23 -25
  215. quarchpy/connection_specific/QPS/3rdPartyLicenses/com.sun.istack-license.html +59 -0
  216. quarchpy/connection_specific/QPS/{qis/License/LICENSE.txt → 3rdPartyLicenses/commons-io-LICENSE-2.0.txt} +202 -202
  217. quarchpy/connection_specific/QPS/3rdPartyLicenses/controlsfx-license.txt +29 -0
  218. quarchpy/connection_specific/QPS/{License/LICENSE.txt → 3rdPartyLicenses/evalex-LICENSE.txt} +202 -202
  219. quarchpy/connection_specific/QPS/3rdPartyLicenses/gson-license.txt +202 -0
  220. quarchpy/connection_specific/QPS/3rdPartyLicenses/guava-license.txt +202 -0
  221. quarchpy/connection_specific/QPS/3rdPartyLicenses/jakarta.activation-license.html +59 -0
  222. quarchpy/connection_specific/QPS/3rdPartyLicenses/jakarta.xml.bind-api-license.html +59 -0
  223. quarchpy/connection_specific/QPS/3rdPartyLicenses/janino-LICENSE.txt +31 -0
  224. quarchpy/connection_specific/QPS/3rdPartyLicenses/jfx-license.txt +347 -0
  225. quarchpy/connection_specific/QPS/3rdPartyLicenses/log4j-license.txt +202 -0
  226. quarchpy/connection_specific/QPS/3rdPartyLicenses/netty-LICENSE.txt +202 -0
  227. quarchpy/connection_specific/QPS/3rdPartyLicenses/netty-NOTICE.txt +239 -0
  228. quarchpy/connection_specific/QPS/3rdPartyLicenses/nsmenufx-LICENSE.txt +24 -0
  229. quarchpy/connection_specific/QPS/3rdPartyLicenses/slf4j-LICENSE.txt +24 -0
  230. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-01 - Mini SAS Module Config v3.5 c1.3.xml +597 -0
  231. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-01 - Mini SAS Module Config v4.000 c1.3.xml +597 -0
  232. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-02 - Mini SAS Module Config v3.5 c1.3.xml +597 -0
  233. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-02 - Mini SAS Module Config v4.000 c1.3.xml +597 -0
  234. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-xx - Mini SAS Module Config v4.003 c1.6.xml +599 -0
  235. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1271-xx - Ethernet Module Config v3.5 c1.2.xml +533 -0
  236. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1271-xx - Ethernet Module Config v4.000 c1.2.xml +533 -0
  237. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1271-xx - Ethernet Module Config v4.100 c1.3.xml +535 -0
  238. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1292-xx - SFP+ Cable Pull Module Config v4.000 c1.1.xml +449 -0
  239. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1309-04 - USB 3.0 Module Config v4.003 c1.2.xml +530 -0
  240. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1309-xx - USB 3.0 Module Config v3.5 c1.1.xml +528 -0
  241. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1309-xx - USB 3.0 Module Config v4.000 c1.1.xml +528 -0
  242. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1366-xx - QSFP Cable Pull Module Config v4.000 c1.1.xml +684 -0
  243. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1383-xx - eSATAp Module Config v4.000 c1.3.xml +542 -0
  244. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-02 - Mini SAS HD Module Config v4.000 c1.1.xml +670 -0
  245. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-03 - Mini SAS HD Module Config v4.000 c1.1.xml +670 -0
  246. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-05 - Mini SAS HD Module Config v4.005 c1.1.xml +672 -0
  247. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-05 - Mini SAS HD Module Config v4.007 c1.2.xml +672 -0
  248. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-xx - Mini SAS HD Module Config v4.003 c1.5.xml +672 -0
  249. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1663-xx - Quad QSFP Cable Pull Module Config v4.000 c1.1.xml +1523 -0
  250. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1675-05 - Mini SAS HD Module w Triggering Config v4.007 c1.3.xml +673 -0
  251. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1675-xx - Mini SAS HD Module w Triggering Config v4.000 c1.1.xml +673 -0
  252. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1917-xx - Dual SFP+ Cable Pull Module Config v4.000 c1.1.xml +614 -0
  253. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1971-01 - USB TypeC Module Config v4.000 c1.1.xml +637 -0
  254. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1971-02 - USB TypeC Module Config v4.000 c1.1.xml +641 -0
  255. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2022-xx - RJ-45 Cable Module Config v4.104 c1.3.xml +535 -0
  256. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2058-xx - External PCIe Module Config v4.001 c1.1.xml +696 -0
  257. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2138-01 - SFP28 Cable Pull Module Config v4.000 c1.1.xml +449 -0
  258. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2146-01 - Gen4 OCuLink Cable Module Config v4.001 c1.1.xml +718 -0
  259. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2162-01 - 24G mini SAS HD Cable Break Module Config v4.000 c1.xml +672 -0
  260. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2171-01 - QSFP28 Cable Module Config v4.000 c1.xml +583 -0
  261. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2171-02 - QSFP28 Cable Module Config v4.000 c1.xml +583 -0
  262. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2341-01 - Gen4 External PCIe Cable Module v4.000.xml +625 -0
  263. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2602-xx - Multiprotocol Link Breaker.xml +414 -0
  264. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2834-xx - -48V DC Breaker Module v5.000 c1.0.xml +374 -0
  265. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL3000-xx - RJ-45 Cable Module v5.000 c1.4.xml +539 -0
  266. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1069-xx - SBB 2.0 Module Config v3.5 c1.1.xml +1614 -0
  267. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-01 - PCIe Card Module v4.000 c1.0.xml +1271 -0
  268. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-02 - PCIe Card Module Config v4.004 c1.2.xml +1289 -0
  269. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-02 - PCIe Card Module Config v4.005 c1.2.xml +1289 -0
  270. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-02 - PCIe Card Module Config v4.100 c1.4.xml +1290 -0
  271. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-04 - PCIe Card Module Config v4.001 c1.1.xml +1297 -0
  272. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-04 - PCIe Card Module Config v4.004 c1.2.xml +1301 -0
  273. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.004 c1.2.xml +1290 -0
  274. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.006 c1.3.xml +1291 -0
  275. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.001 c1.1.xml +1298 -0
  276. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.004 c1.2.xml +1302 -0
  277. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-04 - PCIe Card Module w Triggering Config v4.005 c1.5.xml +1307 -0
  278. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-05 - PCIe Card Module w Triggering Config v4.005 c1.xml +1307 -0
  279. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1848-01 - PCIe Lite Card Module Config v4.000.xml +219 -0
  280. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1848-02 - PCIe Lite Card Module Config v4.000.xml +286 -0
  281. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1919-01 - PCIe x8 Card Module Config v4.001 c1.4.xml +965 -0
  282. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1920-01 - PCIe x8 Card Module w Triggering Config v4.000 c1.3.xml +966 -0
  283. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2019-xx - M.2 Horizontal Card Module Config v4.002 c1.1.xml +703 -0
  284. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2034-xx - M.2 M-Key Vertical Module Config v4.001 c1.1.xml +737 -0
  285. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2067-xx - PCIe SFF Module Config v4.000 c1.1.xml +971 -0
  286. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.006 c1.4.xml +1020 -0
  287. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.007 c1.4.xml +1022 -0
  288. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2073-01 - GEN3 PCIe Lite Card Module Config v4.001.xml +286 -0
  289. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2073-01 - PCIe Lite Card Module Config v4.000.xml +286 -0
  290. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2074-01 - GEN3 PCIe HS Card Module v4.005 c1.4.xml +1301 -0
  291. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2074-01 - PCIe Card Module Config CurrentLimit v4.004 c1.2.xml +1301 -0
  292. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.1.xml +1307 -0
  293. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.3.xml +1212 -0
  294. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v5.000 c1.4.xml +1212 -0
  295. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2094-01 - Sanblaze Dualport Riser Card Config v4.001 c1.1.xml +773 -0
  296. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.000 c1.1.xml +1306 -0
  297. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.4.xml +1211 -0
  298. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2135-xx - PCIe GEN4 Card Module w Triggering Config - Inrush Limit v4.001 c1.4.xml +1211 -0
  299. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2161-01 - EDSFF x8 Module Config v4.000 c1.1.xml +773 -0
  300. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2171-xx - EDSFF x8 Module w Triggering Config 4.001 c1.1.xml +785 -0
  301. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.000 c1.1.xml +715 -0
  302. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.005 c1.5.xml +715 -0
  303. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2272-01 - GEN4 EDSFF x8 Module Config v4.000 c1.1.xml +771 -0
  304. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.000 c1.1.xml +666 -0
  305. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.002 c1.2.xml +666 -0
  306. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2318-01 - SANBlaze U.2 Rack Riser Card Config v4.000 c1.1.xml +715 -0
  307. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2322-03 - GEN4 M.2 M-Key Vertical Breaker Module Config v5.001 c1.3.xml +738 -0
  308. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2322-xx - GEN4 M.2 M-Key Vertical Breaker Module Config v5.000 c1.1.xml +637 -0
  309. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2334-xx - Gen4 EDSFF x4 Card Module Config v4.000 c1.1.xml +615 -0
  310. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.000 c1.1.xml +621 -0
  311. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.001 c1.2.xml +624 -0
  312. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2357-xx - PCIe GEN5 Card Module Config v5.000 c1.1.xml +1242 -0
  313. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2358-xx - PCIe GEN5 Card Module w Triggering Config v5.000 c1.1.xml +1250 -0
  314. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.000 c1.1.xml +682 -0
  315. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.001 c1.2.xml +698 -0
  316. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2395-01 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.000 c1.1.xml +647 -0
  317. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2395-02 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.001 c1.3.xml +742 -0
  318. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2395-03 - GEN4 M.2 M-Key Vertical Breaker Module w Triggering Config v5.001 c1.3.xml +742 -0
  319. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2396-xx - PCIe GEN5 Card Module w inrush Config v5.000 c1.1.xml +1242 -0
  320. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2403-xx - Gen4 PCIe Lite Module Config v4.000.xml +293 -0
  321. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2515-xx - PCIe GEN4 Card Module w Triggering - Inrush Limit Config v4.001 c1.3.xml +1212 -0
  322. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.000.xml +259 -0
  323. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.003.xml +288 -0
  324. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2658-xx - Gen5 PCIe Lite Module w Inrush Config v4.000.xml +259 -0
  325. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2661-xx - GEN5 PCIe U.3 Breaker Config w Triggering v5.000 c1.1.xml +813 -0
  326. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2662-xx - GEN5 PCIe U.3 Breaker Config v5.000 c1.1.xml +801 -0
  327. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.000.xml +741 -0
  328. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.001 c1.2.xml +799 -0
  329. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.002 c1.4.xml +743 -0
  330. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker v5.000 c1.1.xml +741 -0
  331. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker +Triggering Config v5.000.xml +742 -0
  332. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering Config v5.001 c1.2.xml +800 -0
  333. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering v5.000 c1.1.xml +742 -0
  334. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2766-xx - GEN4 EDSFF E1 x8 Breaker Config v5.000.xml +982 -0
  335. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2767-xx - GEN4 EDSFF E3 x8 Breaker Config v5.000.xml +982 -0
  336. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2768-xx - GEN4 EDSFF E3 2T x8 Breaker Config v5.000.xml +982 -0
  337. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2776-xx - GEN4 EDSFF E1 x8 Breaker +Triggering Config v5.000.xml +983 -0
  338. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2777-xx - GEN4 EDSFF E3 x8 Breaker +Triggering Config v5.000.xml +983 -0
  339. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2778-xx - GEN4 EDSFF E3 2T x8 Breaker +Triggering Config v5.000.xml +983 -0
  340. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2798-xx - PCIe GEN5 Card Module w Triggering w Inrush Limit Config v5.000 c1.1.xml +1250 -0
  341. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2804-xx - GEN5 MCIO x4 to U.2 Breaker Config v5.000 c1.1.xml +813 -0
  342. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2805-xx - GEN5 MCIO x4 to U.2 Breaker + Triggering Config v5.000 c1.1.xml +814 -0
  343. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker v5.002 c1.3.xml +871 -0
  344. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2814-xx - GEN5 AIC to U.2 Breaker + Triggering Config v5.000 c1.1 .xml +807 -0
  345. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2814-xx - Gen5 AIC to U.2 Breaker + Triggering Config v5.002 c1.3.xml +872 -0
  346. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2892-xx - GEN5 EDSFF E1 x4 Breaker.xml +799 -0
  347. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2901-xx - GEN5 M.2 M-Key Horizontal Breaker Config v5.000 c1.1.xml +753 -0
  348. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2902-xx - GEN5 M.2 M-Key Horizontal Breaker w Triggering Config v5.000 c1.1.xml +762 -0
  349. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2902-xx- -Gen5 M.2 Horizontal Breaker +Triggering Config 5.000 c1.1.xml +762 -0
  350. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2925-xx - GEN5 EDSFF E1 x4 Breaker +Triggering.xml +800 -0
  351. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2954-01 - fake delete.xml +947 -0
  352. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1177-xx - HS Module Config v3.5 c1.5.xml +592 -0
  353. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1177-xx - HS Module Config v4.000 c1.5.xml +592 -0
  354. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1177-xx - HS Module Config v4.006 c1.8.xml +594 -0
  355. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1215-xx - Lite Module Config v3.50.xml +203 -0
  356. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1215-xx - Lite Module Config v4.000.xml +203 -0
  357. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1301-xx - HS Lite Module Config v3.50.xml +281 -0
  358. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1301-xx - HS Lite Module Config v4.000.xml +281 -0
  359. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1429-01 - EMC HS Lite Module Config v4.000.xml +281 -0
  360. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1429-02 - EMC HS Lite Module Config v4.002.xml +234 -0
  361. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1623-03 - 12G HS Lite Module Config v4.001.xml +266 -0
  362. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1623-04 - 12G HS Lite Module Config v4.001.xml +266 -0
  363. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1680-xx - SCA2 Lite Module Config v4.001.xml +333 -0
  364. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1689-01 - 12G HS Module Config v4.001 c1.1.xml +594 -0
  365. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1689-04 - 12G HS Module Config v4.002 c1.1.xml +580 -0
  366. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1689-05 - 12G HS Module Config v4.002 c1.1.xml +579 -0
  367. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1743-02 - PCIe SFF Module Config v4.003 c1.3.xml +794 -0
  368. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1743-02 - PCIe SFF Module Config v4.006 c1.4.xml +698 -0
  369. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1743-xx - PCIe SFF Module Config v4.000 c1.1.xml +789 -0
  370. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1753-xx - 12G Lite Module Config v4.000.xml +192 -0
  371. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1921-01 - EMC 12G HS Lite Module Config v4.000.xml +233 -0
  372. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-01 - GEN 4 PCIe U.2 Drive Module.xml +733 -0
  373. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-02 - GEN 4 PCIe U.2 Drive Module v5.000.xml +753 -0
  374. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.xml +763 -0
  375. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module v4.001.xml +751 -0
  376. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module.xml +746 -0
  377. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2245-01 - GEN 4 PCIe U.3 HS Drive Module v4.000.xml +789 -0
  378. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2245-xx - GEN 4 PCIe U.3 HS Drive Module.xml +823 -0
  379. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2266-01 - GEN 4 PCIe SFF HS Drive Module Triggering.xml +743 -0
  380. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2266-02 - GEN 4 PCIe SFF HS Drive Module Triggering v4.002.xml +758 -0
  381. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2266-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.xml +764 -0
  382. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2266-XX - GEN 4 PCIe SFF HS Drive Module Triggering.xml +747 -0
  383. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2270-01 - GEN 4 PCIe U.3 HS Drive Module Triggering v4.000.xml +798 -0
  384. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2270-xx - GEN 4 PCIe U.3 HS Drive Module Triggering.xml +835 -0
  385. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2542-02 - 24G SAS Drive Breaker Module v5.001.xml +530 -0
  386. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2542-xx - 24G SAS Drive Breaker v5.000 c1.1.xml +530 -0
  387. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2543-xx - 24G SAS Drive Breaker +Triggering v5.000 c1.1.xml +539 -0
  388. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2543-xx - 24G SAS Drive Breaker +Triggering v5.001 c1.3.xml +539 -0
  389. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2602-xx - Multiprotocol Link Breaker.xml +414 -0
  390. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.000.xml +792 -0
  391. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.001.xml +792 -0
  392. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.003.xml +793 -0
  393. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.007.xml +816 -0
  394. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.008.xml +818 -0
  395. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.000.xml +801 -0
  396. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.001.xml +801 -0
  397. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.003.xml +802 -0
  398. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module v5.007.xml +825 -0
  399. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2661-xx - Gen5 U.3 Drive Module + Triggering v5.000.xml +813 -0
  400. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2662-xx - Gen5 PCIe U.3 Drive Module v5.000.xml +801 -0
  401. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2757-xx - Gen5 SFF Lite Breaker Module Config v4.000.xml +272 -0
  402. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.xml +818 -0
  403. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker v5.001.xml +813 -0
  404. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.001.xml +814 -0
  405. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.002.xml +819 -0
  406. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.xml +819 -0
  407. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2892-xx - Gen5 EDSFF E1 x4 Breaker v5.001.xml +799 -0
  408. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2892-xx - Gen5 EDSFF E1 x4 Breaker v5.002.xml +801 -0
  409. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2940-xx - Gen5 EDSFF E3 x8 Breaker v5.000.xml +1105 -0
  410. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2941-xx - Gen5 EDSFF E3 x8 Breaker +Triggering v5.000.xml +1106 -0
  411. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/Standard Drive Module Config v3.5 c1.1.xml +463 -0
  412. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Switch Modules/QTL1490-xx - SATA Keyed HS Module Config v4.003 c1.6.xml +555 -0
  413. quarchpy/connection_specific/QPS/DeviceConfig/breaker/Switch Modules/QTL1490-xx - SATA Keyed HS Module Config v4.006 c1.8.xml +557 -0
  414. quarchpy/connection_specific/QPS/DeviceConfig/colors/default-colors.properties +64 -0
  415. quarchpy/connection_specific/QPS/DeviceConfig/colors/qtl2789-colors.properties +2 -0
  416. quarchpy/connection_specific/QPS/InstallType.dat +1 -0
  417. quarchpy/connection_specific/QPS/Power-Studio-QuickStart.pdf +0 -0
  418. quarchpy/connection_specific/QPS/QuarchPowerStudio.properties.xml +0 -1
  419. quarchpy/connection_specific/QPS/app.jar +0 -0
  420. quarchpy/connection_specific/QPS/app.properties +7 -0
  421. quarchpy/connection_specific/QPS/commandLineOptions.txt +19 -10
  422. quarchpy/connection_specific/QPS/license.txt +1 -0
  423. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/com.sun.istack-license.html +59 -0
  424. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/dorkbox-LICENSE.Apachev2 +218 -0
  425. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jSerialComm-LICENSE-APACHE-2.0 +202 -0
  426. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jSerialComm-LICENSE-LGPL-3.0 +165 -0
  427. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jakarta.activation-license.html +59 -0
  428. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jakarta.xml.bind-api-license.html +59 -0
  429. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/javassist-License.html +381 -0
  430. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jmdns-LICENSE.txt +202 -0
  431. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jna-AL2.0 +177 -0
  432. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/kotlin-stdlib-LICENSE-2.0.txt +202 -0
  433. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/netty-LICENSE.txt +202 -0
  434. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/netty-NOTICE.txt +239 -0
  435. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/slf4j-LICENSE.txt +24 -0
  436. quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/usb4java-LICENSE.md +20 -0
  437. quarchpy/connection_specific/QPS/qis/Comms.properties.xml +102 -0
  438. quarchpy/connection_specific/QPS/qis/QuarchInstrumentServer.properties.xml +1 -0
  439. quarchpy/connection_specific/QPS/qis/README.txt +5 -5
  440. quarchpy/connection_specific/QPS/qis/help.txt +106 -61
  441. quarchpy/connection_specific/QPS/qis/license.txt +1 -0
  442. quarchpy/connection_specific/QPS/qis/qis-NoGUI.bat +1 -1
  443. quarchpy/connection_specific/QPS/qis/qis-NoGUI.sh +1 -1
  444. quarchpy/connection_specific/QPS/qis/qis.bat +1 -1
  445. quarchpy/connection_specific/QPS/qis/qis.jar +0 -0
  446. quarchpy/connection_specific/QPS/qis/qis.sh +1 -1
  447. quarchpy/connection_specific/QPS/qis/qis_lib/Collections-2.4.jar +0 -0
  448. quarchpy/connection_specific/QPS/qis/qis_lib/Desktop-1.1.jar +0 -0
  449. quarchpy/connection_specific/QPS/qis/qis_lib/EvalEx-3.5.0.jar +0 -0
  450. quarchpy/connection_specific/QPS/qis/qis_lib/Executor-3.13.jar +0 -0
  451. quarchpy/connection_specific/QPS/qis/qis_lib/JNA-1.2.jar +0 -0
  452. quarchpy/connection_specific/QPS/qis/qis_lib/OS-1.8.jar +0 -0
  453. quarchpy/connection_specific/QPS/qis/qis_lib/SystemTray-4.4.jar +0 -0
  454. quarchpy/connection_specific/QPS/qis/qis_lib/Updates-1.1.jar +0 -0
  455. quarchpy/connection_specific/QPS/qis/qis_lib/Utilities-1.46.jar +0 -0
  456. quarchpy/connection_specific/QPS/qis/qis_lib/cinterface-2.5.6.jar +0 -0
  457. quarchpy/connection_specific/QPS/qis/qis_lib/commons-compiler-3.1.12.jar +0 -0
  458. quarchpy/connection_specific/QPS/qis/qis_lib/commons-compiler-jdk-3.1.12.jar +0 -0
  459. quarchpy/connection_specific/QPS/qis/qis_lib/gson-2.13.1.jar +0 -0
  460. quarchpy/connection_specific/QPS/qis/qis_lib/istack-commons-runtime-3.0.11.jar +0 -0
  461. quarchpy/connection_specific/QPS/qis/qis_lib/jakarta.activation-api-2.1.0.jar +0 -0
  462. quarchpy/connection_specific/QPS/qis/qis_lib/jakarta.xml.bind-api-4.0.0.jar +0 -0
  463. quarchpy/connection_specific/QPS/qis/qis_lib/janino-3.1.12.jar +0 -0
  464. quarchpy/connection_specific/QPS/qis/qis_lib/javassist-3.29.2-GA.jar +0 -0
  465. quarchpy/connection_specific/QPS/qis/qis_lib/jaxb-core-4.0.0.jar +0 -0
  466. quarchpy/connection_specific/QPS/qis/qis_lib/jaxb-runtime-4.0.0.jar +0 -0
  467. quarchpy/connection_specific/QPS/qis/qis_lib/jmdns-3.6.0.jar +0 -0
  468. quarchpy/connection_specific/QPS/qis/qis_lib/jna-jpms-5.12.1.jar +0 -0
  469. quarchpy/connection_specific/QPS/qis/qis_lib/jna-platform-jpms-5.12.1.jar +0 -0
  470. quarchpy/connection_specific/QPS/qis/qis_lib/jul-to-slf4j-2.0.17.jar +0 -0
  471. quarchpy/connection_specific/QPS/qis/qis_lib/kotlin-stdlib-1.9.21.jar +0 -0
  472. quarchpy/connection_specific/QPS/qis/qis_lib/log4j-api-2.25.0.jar +0 -0
  473. quarchpy/connection_specific/QPS/qis/qis_lib/log4j-core-2.25.0.jar +0 -0
  474. quarchpy/connection_specific/QPS/qis/qis_lib/log4j-layout-template-json-2.25.0.jar +0 -0
  475. quarchpy/connection_specific/QPS/qis/qis_lib/log4j-slf4j2-impl-2.25.0.jar +0 -0
  476. quarchpy/connection_specific/QPS/qis/qis_lib/netty-buffer-4.2.2.Final.jar +0 -0
  477. quarchpy/connection_specific/QPS/qis/qis_lib/netty-codec-base-4.2.2.Final.jar +0 -0
  478. quarchpy/connection_specific/QPS/qis/qis_lib/netty-codec-http-4.2.2.Final.jar +0 -0
  479. quarchpy/connection_specific/QPS/qis/qis_lib/netty-common-4.2.2.Final.jar +0 -0
  480. quarchpy/connection_specific/QPS/qis/qis_lib/netty-handler-4.2.2.Final.jar +0 -0
  481. quarchpy/connection_specific/QPS/qis/qis_lib/netty-transport-4.2.2.Final.jar +0 -0
  482. quarchpy/connection_specific/QPS/qis/qis_lib/quarchcommon-2.1.9.jar +0 -0
  483. quarchpy/connection_specific/QPS/qis/qis_lib/slf4j-api-2.0.17.jar +0 -0
  484. quarchpy/connection_specific/QPS/qis/qis_lib/torridoncommon-1.2.8.jar +0 -0
  485. quarchpy/connection_specific/QPS/qis/qis_lib/usb4java-1.3.1.jar +0 -0
  486. quarchpy/connection_specific/QPS/qis/resources/filters/Example.txt +36 -0
  487. quarchpy/connection_specific/QPS/qis/resources/filters/iec_filters.xml +17 -0
  488. quarchpy/connection_specific/QPS/qis/resources/org/usb4java/darwin-x86-64/libusb4java.dylib +0 -0
  489. quarchpy/connection_specific/QPS/qis/resources/org/usb4java/linux-aarch64/libusb4java.so +0 -0
  490. quarchpy/connection_specific/QPS/qis/resources/org/usb4java/linux-arm/libusb4java.so +0 -0
  491. quarchpy/connection_specific/QPS/qis/resources/org/usb4java/linux-x86/libusb4java.so +0 -0
  492. quarchpy/connection_specific/QPS/qis/resources/org/usb4java/linux-x86-64/libusb4java.so +0 -0
  493. quarchpy/connection_specific/QPS/qis/resources/org/usb4java/win32-x86/libusb4java.dll +0 -0
  494. quarchpy/connection_specific/QPS/qis/resources/org/usb4java/win32-x86-64/libusb4java.dll +0 -0
  495. quarchpy/connection_specific/QPS/qps-command-reference.html +339 -0
  496. quarchpy/connection_specific/QPS/qps.jar +0 -0
  497. quarchpy/connection_specific/QPS/qps_lib/EvalEx-3.5.0.jar +0 -0
  498. quarchpy/connection_specific/QPS/qps_lib/commons-compiler-3.1.12.jar +0 -0
  499. quarchpy/connection_specific/QPS/qps_lib/commons-compiler-jdk-3.1.12.jar +0 -0
  500. quarchpy/connection_specific/QPS/qps_lib/commons-io-2.19.0.jar +0 -0
  501. quarchpy/connection_specific/QPS/qps_lib/controlsfx-11.2.2.jar +0 -0
  502. quarchpy/connection_specific/QPS/qps_lib/gson-2.13.1.jar +0 -0
  503. quarchpy/connection_specific/QPS/qps_lib/guava-33.4.8-jre.jar +0 -0
  504. quarchpy/connection_specific/QPS/qps_lib/istack-commons-runtime-3.0.11.jar +0 -0
  505. quarchpy/connection_specific/QPS/qps_lib/jakarta.activation-api-2.1.0.jar +0 -0
  506. quarchpy/connection_specific/QPS/qps_lib/jakarta.xml.bind-api-4.0.0.jar +0 -0
  507. quarchpy/connection_specific/QPS/qps_lib/janino-3.1.12.jar +0 -0
  508. quarchpy/connection_specific/QPS/qps_lib/jaxb-core-4.0.0.jar +0 -0
  509. quarchpy/connection_specific/QPS/qps_lib/jaxb-runtime-4.0.0.jar +0 -0
  510. quarchpy/connection_specific/QPS/qps_lib/jfa-1.2.0.jar +0 -0
  511. quarchpy/connection_specific/QPS/qps_lib/jfxutilities-1.0.5.jar +0 -0
  512. quarchpy/connection_specific/QPS/qps_lib/jna-5.17.0.jar +0 -0
  513. quarchpy/connection_specific/QPS/qps_lib/jul-to-slf4j-2.0.17.jar +0 -0
  514. quarchpy/connection_specific/QPS/qps_lib/log4j-api-2.25.0.jar +0 -0
  515. quarchpy/connection_specific/QPS/qps_lib/log4j-core-2.25.0.jar +0 -0
  516. quarchpy/connection_specific/QPS/qps_lib/log4j-layout-template-json-2.25.0.jar +0 -0
  517. quarchpy/connection_specific/QPS/qps_lib/log4j-slf4j2-impl-2.25.0.jar +0 -0
  518. quarchpy/connection_specific/QPS/qps_lib/netty-buffer-4.2.2.Final.jar +0 -0
  519. quarchpy/connection_specific/QPS/qps_lib/netty-codec-base-4.2.2.Final.jar +0 -0
  520. quarchpy/connection_specific/QPS/qps_lib/netty-codec-http-4.2.2.Final.jar +0 -0
  521. quarchpy/connection_specific/QPS/qps_lib/netty-common-4.2.2.Final.jar +0 -0
  522. quarchpy/connection_specific/QPS/qps_lib/netty-handler-4.2.2.Final.jar +0 -0
  523. quarchpy/connection_specific/QPS/qps_lib/netty-transport-4.2.2.Final.jar +0 -0
  524. quarchpy/connection_specific/QPS/qps_lib/nsmenufx-3.1.0.jar +0 -0
  525. quarchpy/connection_specific/QPS/qps_lib/quarchcommon-2.1.9.jar +0 -0
  526. quarchpy/connection_specific/QPS/qps_lib/qutils-1.0.2.jar +0 -0
  527. quarchpy/connection_specific/QPS/qps_lib/slf4j-api-2.0.17.jar +0 -0
  528. quarchpy/connection_specific/QPS/qps_lib/txw2-4.0.0.jar +0 -0
  529. quarchpy/connection_specific/QPS/resources/InstallBanner.bmp +0 -0
  530. quarchpy/connection_specific/QPS/resources/QPS.icns +0 -0
  531. quarchpy/connection_specific/QPS/resources/QPS.ico +0 -0
  532. quarchpy/connection_specific/QPS/resources/QPS.png +0 -0
  533. quarchpy/connection_specific/QPS/resources/QuarchIcon_128x128.png +0 -0
  534. quarchpy/connection_specific/QPS/resources/QuarchIcon_16x16.png +0 -0
  535. quarchpy/connection_specific/QPS/resources/QuarchIcon_256x256.png +0 -0
  536. quarchpy/connection_specific/QPS/resources/QuarchIcon_32x32.png +0 -0
  537. quarchpy/connection_specific/QPS/resources/QuarchIcon_64x64.png +0 -0
  538. quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_DEFAULT.rcf +533 -0
  539. quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_DEFAULT.scf +90 -0
  540. quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_FULL.rcf +830 -0
  541. quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_FULL.scf +144 -0
  542. quarchpy/connection_specific/QPS/resources/profiles/PAM_EXAMPLE_CONFIG.rcf +193 -0
  543. quarchpy/connection_specific/QPS/scriptCommands.txt +161 -22
  544. quarchpy/connection_specific/QPS/whats-new.txt +27 -0
  545. quarchpy/connection_specific/connection_QIS.py +1513 -1777
  546. quarchpy/connection_specific/connection_QPS.py +96 -11
  547. quarchpy/connection_specific/connection_ReST.py +29 -16
  548. quarchpy/connection_specific/connection_TCP.py +1 -1
  549. quarchpy/connection_specific/connection_Telnet.py +8 -2
  550. quarchpy/connection_specific/connection_USB.py +12 -13
  551. quarchpy/connection_specific/jdk_jres/__init__.py +0 -0
  552. quarchpy/connection_specific/jdk_jres/fix_permissions.py +60 -0
  553. quarchpy/connection_specific/mDNS.py +139 -0
  554. quarchpy/connection_specific/serial/rfc2217.py +2 -2
  555. quarchpy/connection_specific/serial/tools/list_ports_common.py +1 -4
  556. quarchpy/connection_specific/serial/tools/list_ports_linux.py +0 -6
  557. quarchpy/connection_specific/serial/tools/list_ports_osx.py +1 -6
  558. quarchpy/connection_specific/serial/tools/list_ports_posix.py +0 -5
  559. quarchpy/connection_specific/serial/tools/list_ports_windows.py +0 -6
  560. quarchpy/connection_specific/serial/urlhandler/protocol_alt.py +0 -4
  561. quarchpy/connection_specific/serial/urlhandler/protocol_hwgrep.py +0 -5
  562. quarchpy/connection_specific/serial/urlhandler/protocol_loop.py +1 -1
  563. quarchpy/connection_specific/serial/urlhandler/protocol_socket.py +1 -1
  564. quarchpy/connection_specific/serial/urlhandler/protocol_spy.py +0 -5
  565. quarchpy/connection_specific/usb_libs/usb1.py +4 -4
  566. quarchpy/debug/SystemTest.py +152 -41
  567. quarchpy/debug/module_debug.py +30 -29
  568. quarchpy/debug/simple_terminal.py +37 -28
  569. quarchpy/debug/upgrade_quarchpy.py +10 -14
  570. quarchpy/debug/versionCompare.py +2 -3
  571. quarchpy/device/__init__.py +10 -4
  572. quarchpy/device/device.py +1279 -402
  573. quarchpy/device/device_fixture_idn_info.py +8 -0
  574. quarchpy/device/device_idn_info.py +100 -0
  575. quarchpy/device/device_network_info.py +18 -0
  576. quarchpy/device/discovered_device.py +150 -0
  577. quarchpy/device/packet_processing.py +88 -0
  578. quarchpy/device/quarchArray.py +10 -6
  579. quarchpy/device/quarchPPM.py +395 -40
  580. quarchpy/device/quarchQPS.py +771 -294
  581. quarchpy/device/scanDevices.py +329 -230
  582. quarchpy/docs/CHANGES.rst +478 -328
  583. quarchpy/docs/_build/doctrees/CHANGES.doctree +0 -0
  584. quarchpy/docs/_build/doctrees/environment.pickle +0 -0
  585. quarchpy/docs/_build/doctrees/index.doctree +0 -0
  586. quarchpy/docs/_build/doctrees/readme.doctree +0 -0
  587. quarchpy/docs/_build/doctrees/source/changelog.doctree +0 -0
  588. quarchpy/docs/_build/doctrees/source/licenses.doctree +0 -0
  589. quarchpy/docs/_build/doctrees/source/modules.doctree +0 -0
  590. quarchpy/docs/_build/doctrees/source/quarchpy.calibration.doctree +0 -0
  591. quarchpy/docs/_build/doctrees/source/quarchpy.config_files.doctree +0 -0
  592. quarchpy/docs/_build/doctrees/source/quarchpy.connection_specific.doctree +0 -0
  593. quarchpy/docs/_build/doctrees/source/quarchpy.debug.doctree +0 -0
  594. quarchpy/docs/_build/doctrees/source/quarchpy.device.doctree +0 -0
  595. quarchpy/docs/_build/doctrees/source/quarchpy.disk_test.doctree +0 -0
  596. quarchpy/docs/_build/doctrees/source/quarchpy.doctree +0 -0
  597. quarchpy/docs/_build/doctrees/source/quarchpy.fio.doctree +0 -0
  598. quarchpy/docs/_build/doctrees/source/quarchpy.iometer.doctree +0 -0
  599. quarchpy/docs/_build/doctrees/source/quarchpy.qis.doctree +0 -0
  600. quarchpy/docs/_build/doctrees/source/quarchpy.qps.doctree +0 -0
  601. quarchpy/docs/_build/doctrees/source/quarchpy.user_interface.doctree +0 -0
  602. quarchpy/docs/_build/doctrees/source/quarchpy.utilities.doctree +0 -0
  603. quarchpy/docs/_build/doctrees/source/readme.doctree +0 -0
  604. quarchpy/docs/_build/html/.buildinfo +4 -4
  605. quarchpy/docs/_build/html/CHANGES.html +717 -484
  606. quarchpy/docs/_build/html/_sources/CHANGES.rst.txt +478 -314
  607. quarchpy/docs/_build/html/_sources/index.rst.txt +23 -23
  608. quarchpy/docs/_build/html/_sources/readme.rst.txt +41 -41
  609. quarchpy/docs/_build/html/_sources/source/modules.rst.txt +7 -7
  610. quarchpy/docs/_build/html/_sources/source/quarchpy.calibration.rst.txt +78 -78
  611. quarchpy/docs/_build/html/_sources/source/quarchpy.config_files.rst.txt +22 -22
  612. quarchpy/docs/_build/html/_sources/source/quarchpy.connection_specific.rst.txt +76 -76
  613. quarchpy/docs/_build/html/_sources/source/quarchpy.debug.rst.txt +38 -38
  614. quarchpy/docs/_build/html/_sources/source/quarchpy.device.rst.txt +54 -54
  615. quarchpy/docs/_build/html/_sources/source/quarchpy.disk_test.rst.txt +126 -126
  616. quarchpy/docs/_build/html/_sources/source/quarchpy.fio.rst.txt +30 -30
  617. quarchpy/docs/_build/html/_sources/source/quarchpy.iometer.rst.txt +22 -22
  618. quarchpy/docs/_build/html/_sources/source/quarchpy.qis.rst.txt +22 -22
  619. quarchpy/docs/_build/html/_sources/source/quarchpy.qps.rst.txt +22 -22
  620. quarchpy/docs/_build/html/_sources/source/quarchpy.rst.txt +50 -50
  621. quarchpy/docs/_build/html/_sources/source/quarchpy.user_interface.rst.txt +22 -22
  622. quarchpy/docs/_build/html/_sources/source/quarchpy.utilities.rst.txt +22 -22
  623. quarchpy/docs/_build/html/_static/alabaster.css +662 -700
  624. quarchpy/docs/_build/html/_static/basic.css +905 -904
  625. quarchpy/docs/_build/html/_static/doctools.js +106 -280
  626. quarchpy/docs/_build/html/_static/documentation_options.js +12 -11
  627. quarchpy/docs/_build/html/_static/language_data.js +192 -297
  628. quarchpy/docs/_build/html/_static/pygments.css +84 -82
  629. quarchpy/docs/_build/html/_static/searchtools.js +510 -404
  630. quarchpy/docs/_build/html/_static/sphinx_highlight.js +154 -0
  631. quarchpy/docs/_build/html/genindex.html +1876 -1430
  632. quarchpy/docs/_build/html/index.html +223 -188
  633. quarchpy/docs/_build/html/objects.inv +0 -0
  634. quarchpy/docs/_build/html/py-modindex.html +300 -306
  635. quarchpy/docs/_build/html/readme.html +137 -137
  636. quarchpy/docs/_build/html/search.html +123 -125
  637. quarchpy/docs/_build/html/searchindex.js +1 -1
  638. quarchpy/docs/_build/html/source/changelog.html +805 -537
  639. quarchpy/docs/_build/html/source/licenses.html +181 -181
  640. quarchpy/docs/_build/html/source/modules.html +222 -214
  641. quarchpy/docs/_build/html/source/quarchpy.calibration.html +147 -147
  642. quarchpy/docs/_build/html/source/quarchpy.config_files.html +136 -136
  643. quarchpy/docs/_build/html/source/quarchpy.connection_specific.html +1072 -615
  644. quarchpy/docs/_build/html/source/quarchpy.debug.html +241 -247
  645. quarchpy/docs/_build/html/source/quarchpy.device.html +4087 -1024
  646. quarchpy/docs/_build/html/source/quarchpy.disk_test.html +220 -220
  647. quarchpy/docs/_build/html/source/quarchpy.fio.html +218 -164
  648. quarchpy/docs/_build/html/source/quarchpy.html +823 -250
  649. quarchpy/docs/_build/html/source/quarchpy.iometer.html +271 -184
  650. quarchpy/docs/_build/html/source/quarchpy.qis.html +985 -249
  651. quarchpy/docs/_build/html/source/quarchpy.qps.html +186 -213
  652. quarchpy/docs/_build/html/source/quarchpy.user_interface.html +278 -319
  653. quarchpy/docs/_build/html/source/quarchpy.utilities.html +228 -211
  654. quarchpy/docs/_build/html/source/readme.html +147 -147
  655. quarchpy/docs/conf.py +56 -56
  656. quarchpy/docs/index.rst +23 -23
  657. quarchpy/docs/make.bat +35 -35
  658. quarchpy/docs/readme.rst +41 -41
  659. quarchpy/docs/source/modules.rst +7 -7
  660. quarchpy/docs/source/quarchpy.calibration.rst +78 -78
  661. quarchpy/docs/source/quarchpy.config_files.rst +22 -22
  662. quarchpy/docs/source/quarchpy.connection_specific.rst +76 -76
  663. quarchpy/docs/source/quarchpy.debug.rst +38 -38
  664. quarchpy/docs/source/quarchpy.device.rst +54 -54
  665. quarchpy/docs/source/quarchpy.disk_test.rst +126 -126
  666. quarchpy/docs/source/quarchpy.fio.rst +30 -30
  667. quarchpy/docs/source/quarchpy.iometer.rst +22 -22
  668. quarchpy/docs/source/quarchpy.qis.rst +22 -22
  669. quarchpy/docs/source/quarchpy.qps.rst +22 -22
  670. quarchpy/docs/source/quarchpy.rst +50 -50
  671. quarchpy/docs/source/quarchpy.user_interface.rst +22 -22
  672. quarchpy/docs/source/quarchpy.utilities.rst +22 -22
  673. quarchpy/fio/FIO_interface.py +258 -9
  674. quarchpy/fio/{test_performance_class.py → HIDEtest_performance_class.py} +533 -533
  675. quarchpy/fio/fioDiskFinder.py +1 -1
  676. quarchpy/fio/performanceClass.py +5 -4
  677. quarchpy/install_qps.py +369 -0
  678. quarchpy/qis/StreamHeaderInfo.py +5 -4
  679. quarchpy/qis/qisFuncs.py +234 -96
  680. quarchpy/qps/__init__.py +2 -2
  681. quarchpy/qps/qpsFuncs.py +237 -137
  682. quarchpy/run.py +103 -56
  683. quarchpy/user_interface/user_interface.py +201 -158
  684. quarchpy/utilities/TestCenter.py +64 -45
  685. quarchpy/utilities/TimeValue.py +4 -3
  686. quarchpy/utilities/Version.py +50 -0
  687. {quarchpy-2.1.11.dev8.dist-info → quarchpy-2.2.17.dev1.dist-info}/METADATA +171 -7
  688. quarchpy-2.2.17.dev1.dist-info/RECORD +763 -0
  689. {quarchpy-2.1.11.dev8.dist-info → quarchpy-2.2.17.dev1.dist-info}/WHEEL +1 -1
  690. quarchpy/connection_specific/QPS/License/LGPL.txt +0 -167
  691. quarchpy/connection_specific/QPS/License/Material-Icons.txt +0 -1
  692. quarchpy/connection_specific/QPS/License/NOTICE.txt +0 -143
  693. quarchpy/connection_specific/QPS/License/Netty-license.txt +0 -143
  694. quarchpy/connection_specific/QPS/License/controlsfx-license.txt +0 -26
  695. quarchpy/connection_specific/QPS/License/usb4java-license.txt +0 -167
  696. quarchpy/connection_specific/QPS/qis/License/LGPL.txt +0 -167
  697. quarchpy/connection_specific/QPS/qis/License/NOTICE.txt +0 -143
  698. quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.5.01.jar +0 -0
  699. quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.5.jar +0 -0
  700. quarchpy/connection_specific/QPS/qis/qis_lib/QuarchCommon-0.2.3.jar +0 -0
  701. quarchpy/connection_specific/QPS/qis/qis_lib/QuarchCommon-0.2.4.jar +0 -0
  702. quarchpy/connection_specific/QPS/qis/qis_lib/commons-lang3-3.2.1.jar +0 -0
  703. quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-darwin-x86-64.jar +0 -0
  704. quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-linux-aarch64.jar +0 -0
  705. quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-linux-arm.jar +0 -0
  706. quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-linux-x86-64.jar +0 -0
  707. quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-linux-x86.jar +0 -0
  708. quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-win32-x86-64.jar +0 -0
  709. quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-win32-x86.jar +0 -0
  710. quarchpy/connection_specific/QPS/qis/qis_lib/netty-all-4.1.43.Final.jar +0 -0
  711. quarchpy/connection_specific/QPS/qis/qis_lib/usb4java-1.3.0.jar +0 -0
  712. quarchpy/connection_specific/QPS/qps.bat +0 -2
  713. quarchpy/connection_specific/QPS/qps.sh +0 -2
  714. quarchpy/connection_specific/QPS/qps_lib/QuarchCommon-0.2.2.jar +0 -0
  715. quarchpy/connection_specific/QPS/qps_lib/QuarchCommon-0.2.3.jar +0 -0
  716. quarchpy/connection_specific/QPS/qps_lib/controlsfx-8.40.13.jar +0 -0
  717. quarchpy/connection_specific/QPS/qps_lib/controlsfx-8.40.14.jar +0 -0
  718. quarchpy/connection_specific/QPS/qps_lib/controlsfx-samples-8.40.13.jar +0 -0
  719. quarchpy/connection_specific/QPS/qps_lib/fxsampler-1.0.10.jar +0 -0
  720. quarchpy/connection_specific/QPS/qps_lib/jfxtras-labs-8.0-r6-SNAPSHOT.jar +0 -0
  721. quarchpy/connection_specific/QPS/qps_lib/jfxtras-labs-8.0-r6.jar +0 -0
  722. quarchpy/connection_specific/QPS/qps_lib/netty-all-4.0.37.Final.jar +0 -0
  723. quarchpy/connection_specific/QPS/qps_lib/netty-all-4.1.22.Final.jar +0 -0
  724. quarchpy/connection_specific/QPS/qps_lib/netty-all-4.1.22.Final_2.jar +0 -0
  725. quarchpy/connection_specific/QPS/qps_lib/netty-all-4.1.43.Final.jar +0 -0
  726. quarchpy/connection_specific/QPS/qps_lib/org.eclipse.fx.ide.css.jfx8_1.2.0.201501301049.jar +0 -0
  727. quarchpy/connection_specific/QPS/qps_lib/org.eclipse.fx.ide.css.jfx8_2.4.0.201605112122.jar +0 -0
  728. quarchpy-2.1.11.dev8.dist-info/RECORD +0 -473
  729. /quarchpy/connection_specific/QPS/{License → 3rdPartyLicenses}/Material-Icons-license.txt +0 -0
  730. /quarchpy/connection_specific/QPS/DeviceConfig/{QTL1995-02.XML → QTL1995-02.xml} +0 -0
  731. /quarchpy/connection_specific/QPS/DeviceConfig/{QTL1999-02.XML → QTL1999-02.xml} +0 -0
  732. /quarchpy/connection_specific/QPS/DeviceConfig/{QTL2312-01.XML → QTL2312-01.xml} +0 -0
  733. {quarchpy-2.1.11.dev8.dist-info → quarchpy-2.2.17.dev1.dist-info}/top_level.txt +0 -0
@@ -10,7 +10,8 @@ and support for both terminal and TestCenter (quarch internal) execution
10
10
  # Needed for python2 compatibility
11
11
  # coding: utf-8
12
12
  from __future__ import print_function
13
-
13
+ import logging
14
+ logger = logging.getLogger(__name__)
14
15
  import traceback, sys, os, math, logging
15
16
  from quarchpy.utilities import TestCenter
16
17
  import time
@@ -24,16 +25,16 @@ class User_interface:
24
25
  instance = None
25
26
 
26
27
  class __user_interface:
27
- def __init__(self,ui):
28
- if ui in ["console","testcenter"]:
28
+ def __init__(self, ui):
29
+ if ui.lower() in ["console", "testcenter"]:
29
30
  self.selectedInterface = ui
30
31
  else:
31
32
  raise ValueError("requested ui type not valid")
32
33
 
33
- def __init__(self,ui):
34
+ def __init__(self, ui):
34
35
  """
35
36
  """
36
-
37
+
37
38
  # if we haven't create a user_interface object before
38
39
  if not User_interface.instance:
39
40
  # create a user interface object with our selected interface type
@@ -59,7 +60,7 @@ def listSelection(title,message,selectionList)
59
60
  if nice = True:
60
61
  selectionList format is a list of lists containing each column value [["NAME1","DESCRIPTION1"],[["NAME2","DESCRIPTION2"]]]
61
62
  the function will return the selected list with the index in position 0 ["1","NAME1","DESCRIPTION1"]
62
-
63
+
63
64
 
64
65
  THIS IS MORE LIKE A DICTIONARY SELECTION FUNC THAT RETURNS THE KEY
65
66
 
@@ -69,29 +70,32 @@ def listSelection(title="",message="",selectionList=[], additionalOptions = [],
69
70
  if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
70
71
 
71
72
  converted = False
73
+ itemListString = ""
72
74
  if type(selectionList) is list:
73
75
  converted = True
74
76
  tempSelectionListStringDict = ""
75
77
  for row in selectionList:
76
- tempSelectionListStringDict += str(row[0])+"="+str(row[1])+","
77
- selectionList = tempSelectionListStringDict[0:-1]
78
+ tempSelectionListStringDict += str(row[0]) + "=" + str(row[1]) + ","
79
+ itemListString = tempSelectionListStringDict[0:-1]
80
+ else:
81
+ itemListString = selectionList
78
82
 
79
83
  retVal = TestCenter.testPoint("Quarch_Host.ShowGenericDialog", "Title=" + __formatForTestcenter(title),
80
84
  "Message=" + __formatForTestcenter(message),
81
- "ItemListString=" + __formatForTestcenter(selectionList),
82
- "OptionListString=" + __formatForTestcenter(str(additionalOptions)));
85
+ "ItemListString=" + __formatForTestcenter(itemListString),
86
+ "OptionListString=" + __formatForTestcenter(str(additionalOptions)), stack_level=2);
83
87
  if converted:
84
- i=0
88
+ i = 0
85
89
  for row in selectionList:
86
- i+=1
90
+ i += 1
87
91
  if retVal == row[0] or retVal == row[1]:
88
92
  retVal = [str(i)] + row
89
93
 
90
94
  return retVal
91
95
 
92
- else: #default mode console output
96
+ else: # default mode console output
93
97
 
94
- #print message
98
+ # print message
95
99
  if message not in "":
96
100
  print(message)
97
101
  if nice is True:
@@ -99,16 +103,16 @@ def listSelection(title="",message="",selectionList=[], additionalOptions = [],
99
103
  return retVal
100
104
 
101
105
 
102
- #split selection list into key=value pairs and print each value
106
+ # split selection list into key=value pairs and print each value
103
107
  # first split on ','s into list of key=value pairs
104
108
  selectionList = selectionList.split(',')
105
109
  # then split each list item on '=' into a [key,value] list
106
110
  selectionList = [str(x).split("=") for x in selectionList]
107
111
 
108
- count=1
112
+ count = 1
109
113
  for item in selectionList:
110
114
  # if list item has index and value print them
111
- if len(item)>1:
115
+ if len(item) > 1:
112
116
  print(str(count) + " - " + item[1])
113
117
  else:
114
118
  print(item[0])
@@ -117,21 +121,17 @@ def listSelection(title="",message="",selectionList=[], additionalOptions = [],
117
121
  print("")
118
122
  # Request user selection
119
123
  while (True):
120
- if sys.version_info.major >= 3:
121
- userStr = input("Please select an option:\n>")
122
- else:
123
- userStr = raw_input("Please select an option:\n>")
124
-
124
+ userStr = input("Please select an option:\n>")
125
125
  # Validate the response
126
126
  try:
127
127
  userNumber = int(userStr)
128
128
  if (userNumber <= len(selectionList) and userNumber >= 1):
129
129
  break
130
130
  except:
131
- print ("INVALID SELECTION!")
131
+ print("INVALID SELECTION!")
132
132
 
133
133
  # return the key associated with this entry
134
- return selectionList[userNumber-1][0]
134
+ return selectionList[userNumber - 1][0]
135
135
 
136
136
  '''
137
137
  niceListSelection
@@ -144,7 +144,7 @@ def niceListSelection(selectionList,title="",message="", tableHeaders=None, inde
144
144
  # return 2d[selection]
145
145
  try:
146
146
  selectionList = selectionList.copy()
147
- additionalOptions =additionalOptions.copy()
147
+ additionalOptions = additionalOptions.copy()
148
148
  tableHeaders = tableHeaders.copy()
149
149
  except:
150
150
  pass
@@ -155,7 +155,7 @@ def niceListSelection(selectionList,title="",message="", tableHeaders=None, inde
155
155
  selectionList += additionalOptions
156
156
 
157
157
 
158
- if isinstance(selectionList,str):
158
+ if isinstance(selectionList, str):
159
159
  selectionList = selectionList.split(',')
160
160
  elif isinstance(selectionList, dict):
161
161
  selectionList = dictToList(selectionList)
@@ -164,11 +164,7 @@ def niceListSelection(selectionList,title="",message="", tableHeaders=None, inde
164
164
  print("")
165
165
  # Request user selection
166
166
  while (True):
167
- if sys.version_info.major >= 3:
168
- userStr = input("Please select an option:\n>")
169
- else:
170
- userStr = raw_input("Please select an option:\n>")
171
-
167
+ userStr = input("Please select an option:\n>")
172
168
  # Validate the response
173
169
  try:
174
170
  userNumber = int(userStr)
@@ -191,24 +187,57 @@ printText(text)
191
187
  fillLine - If true print will cover the width of the screen (useful when using "\r" to write on the same line)
192
188
  terminalWidth - Width of terminal writing to
193
189
  fill - The character that will be used to fill the remaining space
194
-
195
190
 
196
- '''
197
- def printText(text, fillLine=False, terminalWidth=100, fill=" ",**kwargs):
198
191
 
199
- if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
200
- # if line is not empty
201
- if text.strip()!="":
202
- TestCenter.testPoint ("Quarch_Host.LogComment","Message=" + __formatForTestcenter(text))
192
+ '''
193
+ def printText(text, fillLine=False, terminalWidth=100, fill=" ", **kwargs):
203
194
 
195
+ if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
196
+ # if line is not empty
197
+ if text.strip() != "":
198
+ TestCenter.testPoint ("Quarch_Host.LogComment","Message=" + __formatForTestcenter(text),stack_level=2)
199
+
200
+ else: #Console Mode
201
+ if fillLine:
202
+ text +=fill*(terminalWidth-len(text))
203
+ if kwargs != {}:
204
+ print(text, **kwargs)
204
205
  else:
205
- if fillLine:
206
- text +=fill*(terminalWidth-len(text)) #TODO Split string at \n or \r\n make a list, add the line fill for each item,then add back the \n and \r\n and combine together again.
207
- if kwargs!= {}:
208
- print(text,**kwargs)
209
- else:
210
- print(text)
211
- return
206
+ print(text)
207
+ return
208
+
209
+ def logWarning(text, fillLine=False):
210
+ '''
211
+ logWarning(text)
212
+ Processes a warning message and displays it using python standard logging or a warning message in test centre.
213
+ arguments:
214
+ text - a string of text, or a list of strings
215
+ '''
216
+ if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
217
+ # if line is not empty
218
+ if text.strip() != "":
219
+ TestCenter.testPoint("Quarch_Host.LogWarning", "Message=" + __formatForTestcenter(text))
220
+
221
+ else:
222
+ logger.warning(text)
223
+ return
224
+
225
+ def logDebug(text, fillLine=False):
226
+ '''
227
+ logDebug(text)
228
+ Processes a debug message and displays it using python standard logging or a debug message in test centre.
229
+ arguments:
230
+ text - a string of text, or a list of strings
231
+ '''
232
+ if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
233
+ # if line is not empty
234
+ if text.strip() != "":
235
+ TestCenter.testPoint("Quarch_Host.LogComment", "Message=" + __formatForTestcenter(text))
236
+
237
+ else:
238
+ logger.debug(text)
239
+ return
240
+
212
241
 
213
242
  '''
214
243
  showDialog(title,message)
@@ -217,22 +246,19 @@ prints a message to the user and waits for acknowledgement
217
246
  def showDialog(message="",title=""):
218
247
 
219
248
 
220
- if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
221
- TestCenter.testPoint ("Quarch_Host.ShowDialog","Title=" + __formatForTestcenter(title),"Message=" + __formatForTestcenter(message))
249
+ if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
250
+ TestCenter.testPoint ("Quarch_Host.ShowDialog","Title=" + __formatForTestcenter(title),"Message=" + __formatForTestcenter(message), stack_level=2)
222
251
 
223
- else:
224
- print(message)
225
- if sys.version_info.major >= 3:
226
- userStr = input("Press enter to continue\n>")
227
- else:
228
- userStr = raw_input("Press enter to continue\n>")
252
+ else:
253
+ print(message)
254
+ userStr = input("Press enter to continue\n>")
229
255
 
230
256
 
231
257
  def showImage(title="", message="", imagePath=""):
232
258
  if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
233
259
  TestCenter.testPoint("Quarch_Host.ShowImageDialog", "Title=" + __formatForTestcenter(title),
234
260
  "Message=" + __formatForTestcenter(message),
235
- "ImagePath=" + __formatForTestcenter(imagePath))
261
+ "ImagePath=" + __formatForTestcenter(imagePath), stack_level=2)
236
262
 
237
263
  else:
238
264
  print("show image at " + str(imagePath))
@@ -252,19 +278,21 @@ printProgressBar (iteration,total,prefix='',suffix='',decimals=1,length=100,fill
252
278
  fill - Optional : bar fill character (Str)
253
279
 
254
280
  '''
255
- def progressBar (iteration, total,prefix = '', suffix = '', decimals = 1, fill = '█', fullWidth = 100):
256
- if iteration >=0 and total >0:
281
+ def progressBar(iteration, total, prefix='', suffix='', decimals=1, fill='█', fullWidth=100):
282
+ iteration = float(iteration)
283
+ total = float(total)
284
+ if iteration >= 0 and total > 0:
257
285
 
258
286
  if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
259
- TestCenter.testPoint ("Quarch_Host.ShowTaskProgress","Title=Task Progress", "Iteration="+str(int(iteration)), "Total="+str(int(total)));
287
+ TestCenter.testPoint ("Quarch_Host.ShowTaskProgress","Title=Task Progress", "Iteration="+str(int(iteration)), "Total="+str(int(total)), stack_level=2);
260
288
 
261
289
  else:
262
- percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))
290
+ percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / total))
263
291
  length = fullWidth - (len(prefix)+len(suffix)+len(percent) +4) #the length of the bar must scale acording to anything else on the line
264
292
 
265
293
  filledLength = int(length * iteration // total)
266
294
  bar = fill * filledLength + '-' * (length - filledLength)
267
- print('%s|%s|%s%%%s' % (prefix, bar, percent, suffix), end = '\r')
295
+ print('%s|%s|%s%%%s' % (prefix, bar, percent, suffix), end='\r')
268
296
 
269
297
  # Print New Line on Complete
270
298
  if iteration >= total:
@@ -279,13 +307,13 @@ startTestBlock(text)
279
307
  '''
280
308
  def startTestBlock(text):
281
309
 
282
- if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
283
- return TestCenter.beginTestBlock(__formatForTestcenter(text))
310
+ if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
311
+ return TestCenter.beginTestBlock(__formatForTestcenter(text), stack_level=2)
284
312
 
285
- else:
286
- print("")
287
- print("*** "+text+" ***")
288
- return True
313
+ else:
314
+ print("")
315
+ print("*** " + text + " ***")
316
+ return True
289
317
 
290
318
  '''
291
319
  endTestBlock()
@@ -294,7 +322,7 @@ endTestBlock()
294
322
  def endTestBlock(message="End test block"):
295
323
 
296
324
  if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
297
- return TestCenter.endTestBlock()
325
+ return TestCenter.endTestBlock(stack_level=2)
298
326
  else:
299
327
  print("*** "+message+" *** \r\n")
300
328
  return
@@ -303,26 +331,26 @@ def endTestBlock(message="End test block"):
303
331
  logCalibrationResult(title,result)
304
332
  This was a little naughty as its callibration specific. If you are looking for something without the report obj look at logSimpleResult() func.
305
333
  '''
306
- def logCalibrationResult(title,report):
334
+ def logCalibrationResult(title, report):
307
335
 
308
336
  if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
309
337
  if report["result"]:
310
338
  TestCenter.testPoint("Quarch_Host.LogTestPoint", "Test=" + __formatForTestcenter(title), "Result=True",
311
339
  "Message=" + __formatForTestcenter(
312
- title) + " Passed, worst case: " + __formatForTestcenter(report["worst case"]))
340
+ title) + " Passed, worst case: " + __formatForTestcenter(report["worst case"]), stack_level=2)
313
341
  # add the report as comments
314
342
  for line in report["report"].splitlines():
315
- TestCenter.testPoint("Quarch_Host.LogComment", "Message=" + __formatForTestcenter(line))
316
- TestCenter.endTestBlock()
343
+ TestCenter.testPoint("Quarch_Host.LogComment", "Message=" + __formatForTestcenter(line), stack_level=2)
344
+ TestCenter.endTestBlock(stack_level=2)
317
345
  else:
318
346
 
319
347
  TestCenter.testPoint("Quarch_Host.LogTestPoint", "Test=" + __formatForTestcenter(title), "Result=False",
320
348
  "Message=" + __formatForTestcenter(
321
- title) + " Failed, worst case: " + __formatForTestcenter(report["worst case"]))
349
+ title) + " Failed, worst case: " + __formatForTestcenter(report["worst case"]), stack_level=2)
322
350
  # add the report as comments
323
351
  for line in report["report"].splitlines():
324
- TestCenter.testPoint("Quarch_Host.LogComment", "Message=" + __formatForTestcenter(line))
325
- TestCenter.endTestBlock()
352
+ TestCenter.testPoint("Quarch_Host.LogComment", "Message=" + __formatForTestcenter(line), stack_level=2)
353
+ TestCenter.endTestBlock(stack_level=2)
326
354
 
327
355
  else:
328
356
  if report["result"]:
@@ -331,7 +359,7 @@ def logCalibrationResult(title,report):
331
359
  else:
332
360
  print("\t" + title + " Failed")
333
361
  print("")
334
- data =report["report"]
362
+ data = report["report"]
335
363
  print(data)
336
364
 
337
365
  '''
@@ -339,7 +367,7 @@ storeResult(string)
339
367
  '''
340
368
  def storeResult(message):
341
369
  if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
342
- TestCenter.testPoint("Quarch_Internal.storeMessage", "Message=" + message)
370
+ TestCenter.testPoint("Quarch_Internal.storeMessage", "Message=" + message, stack_level=2)
343
371
  else:
344
372
  print(message)
345
373
 
@@ -347,71 +375,77 @@ def storeResult(message):
347
375
  logsSimpleCalibrationResult(title,result)
348
376
  PASS/FAIL ONLY
349
377
  '''
350
- def logSimpleResult(title,result):
351
- #printText("Result = "+str(result))
352
- if type(result)==str:
378
+ def logSimpleResult(title, result):
379
+ # printText("Result = "+str(result))
380
+ if type(result) == str:
353
381
  if result.lower() in ['true', '1', 't', 'y', 'yes', 'pass']:
354
- result=True
355
- elif result.lower() in ['false','0','f','n','no','fail']:
356
- result=False
382
+ result = True
383
+ elif result.lower() in ['false', '0', 'f', 'n', 'no', 'fail']:
384
+ result = False
357
385
  else:
358
- raise ValueError("Result = "+result+" is not valid.")
386
+ raise ValueError("Result = " + result + " is not valid.")
359
387
  if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
360
- if result==True:
388
+ if result == True:
361
389
  TestCenter.testPoint("Quarch_Host.LogTestPoint", "Test=" + __formatForTestcenter(title), "Result=True",
362
- "Message=" + __formatForTestcenter(title))
363
- elif result==False:
390
+ "Message=" + __formatForTestcenter(title), stack_level=2)
391
+ elif result == False:
364
392
 
365
393
  TestCenter.testPoint("Quarch_Host.LogTestPoint", "Test=" + __formatForTestcenter(title), "Result=False",
366
- "Message=" + __formatForTestcenter(title))
394
+ "Message=" + __formatForTestcenter(title), stack_level=2)
367
395
  else:
368
- title = "Result is bad format! Title:" + str(title)+ " result: " +str(result)
396
+ title = "Result is bad format! Title:" + str(title) + " result: " + str(result)
369
397
  TestCenter.testPoint("Quarch_Host.LogTestPoint", "Test=" + __formatForTestcenter(title), "Result=False",
370
- "Message=" + __formatForTestcenter(title))
398
+ "Message=" + __formatForTestcenter(title), stack_level=2)
371
399
  else:
372
400
 
373
- if result==True:
401
+ if result == True:
374
402
  print("\t" + title + " Passed")
375
403
  elif result == False:
376
404
  print("\t" + title + " Failed")
377
405
  else:
378
- title = "Result is bad format! Title:" + str(title)+ " result: " +str(result)
406
+ title = "Result is bad format! Title:" + str(title) + " result: " + str(result)
379
407
  print("\t" + title)
380
408
 
381
409
  '''
382
410
  logResults(test,notes)
383
411
  '''
384
- def logResults(test,notes):
412
+ def logResults(test, notes):
385
413
 
386
- if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
387
- TestCenter.testPoint ("Quarch_Internal.ResultDialog","Test="+ __formatForTestcenter(test),"Notes=" + __formatForTestcenter(notes))
414
+ if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
415
+ TestCenter.testPoint ("Quarch_Internal.ResultDialog","Test="+ __formatForTestcenter(test),"Notes=" + __formatForTestcenter(notes), stack_level=2)
388
416
 
389
- else:
390
- print("\t" +test+": "+notes)
417
+ else:
418
+ print("\t" + test + ": " + notes)
419
+
420
+ return
391
421
 
392
- return
422
+
423
+ def showYesNoDialog(title, message):
424
+ if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
425
+ response = TestCenter.testPoint("Quarch_Host.ShowYesNoDialog", "Title=" + title,
426
+ "Message=" + message, stack_level=2)
427
+ else:
428
+ response = listSelection(title, message, "Yes,No", nice=True)
429
+ return response
393
430
 
394
431
 
395
432
  '''
396
433
  requestDialog(title, message)
397
434
  '''
398
- def requestDialog( title="", message = "", desiredType = None, minRange=None, maxRange=None, defaultUserInput=""):
435
+ def requestDialog(title="", message="", desiredType=None, minRange=None, maxRange=None, defaultUserInput=""):
399
436
  validValue = False
400
- if desiredType != None and desiredType.lower() == "string": #If "string" or None do the same thing. Default is string type.
437
+ if desiredType != None and desiredType.lower() == "string": # If "string" or None do the same thing. Default is string type.
401
438
  desiredType = None
402
439
  while validValue == False:
403
440
  if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
404
441
 
405
- userStr = TestCenter.testPoint("Quarch_Host.ShowRequestDialog","Title= " + __formatForTestcenter(title), "Message=" + __formatForTestcenter(message));
442
+ userStr = TestCenter.testPoint("Quarch_Host.ShowRequestDialog","Title= " + __formatForTestcenter(title), "Message=" + __formatForTestcenter(message), stack_level=2);
406
443
 
407
444
  else: # default mode console output
408
445
  # Request user selection
409
- if message =="" and title!="":
410
- message=title
411
- if sys.version_info.major >= 3:
412
- userStr = input(message+"\n>")
413
- else:
414
- userStr = raw_input(message+"\n>")
446
+ if message == "" and title != "":
447
+ message = title
448
+ userStr = input(message + "\n>")
415
449
  if userStr == "":
416
450
  userStr = defaultUserInput
417
451
  validValue = validateUserInput(userStr, desiredType, minRange, maxRange)
@@ -420,7 +454,7 @@ def requestDialog( title="", message = "", desiredType = None, minRange=None, ma
420
454
  '''
421
455
  Takes string checks if can cast to desired type and returns it as that type, can check if within range for ints and floats.
422
456
  '''
423
- def validateUserInput ( userStr, desiredType, minRange, maxRange):
457
+ def validateUserInput(userStr, desiredType, minRange, maxRange):
424
458
  validValue = False
425
459
  if desiredType == None:
426
460
  validValue = True
@@ -437,7 +471,7 @@ def validateUserInput ( userStr, desiredType, minRange, maxRange):
437
471
  elif desiredType == "int":
438
472
  try:
439
473
  userStr = int(userStr)
440
- if ((minRange != None and maxRange != None) and (userStr< minRange or userStr > maxRange)):
474
+ if ((minRange != None and maxRange != None) and (userStr < minRange or userStr > maxRange)):
441
475
  validValue = False
442
476
  else:
443
477
  validValue = True
@@ -449,11 +483,11 @@ def validateUserInput ( userStr, desiredType, minRange, maxRange):
449
483
  else:
450
484
  validValue = True
451
485
  if validValue == False:
452
- printText ( str(userStr)+ " is not a valid " + str(desiredType))
453
- if minRange != None and maxRange != None:
454
- printText("Please enter a " + str(desiredType) + " between " + str(minRange) + " and " + str(maxRange))
455
- else:
456
- printText("Please enter a valid " + str(desiredType))
486
+ printText(str(userStr) + " is not a valid " + str(desiredType))
487
+ if minRange != None and maxRange != None:
488
+ printText("Please enter a " + str(desiredType) + " between " + str(minRange) + " and " + str(maxRange))
489
+ else:
490
+ printText("Please enter a valid " + str(desiredType))
457
491
  return validValue
458
492
 
459
493
  '''
@@ -461,16 +495,16 @@ Takes a string input of comma seperated ints or range of ints and converts it to
461
495
  2-5, 9,11,31-35 -> 002,003,004,005,009,011,031,032,033,034,035
462
496
  intLength tells the function to zeo pad the int before returning it.
463
497
  '''
464
- def userRangeIntSelection(inputString, intLength=3 ):
498
+ def userRangeIntSelection(inputString, intLength=3):
465
499
  inputList = inputString.split(",")
466
- returnList=[]
500
+ returnList = []
467
501
  for item in inputList:
468
502
  if "-" in item:
469
503
  myRange = item.split("-")
470
- myRange = range(int(myRange[0]),int(myRange[1])+1)
504
+ myRange = range(int(myRange[0]), int(myRange[1]) + 1)
471
505
  returnList.extend(myRange)
472
506
  else:
473
- if validateUserInput(item,"int",0,999):
507
+ if validateUserInput(item, "int", 0, 999):
474
508
  returnList.append(item)
475
509
 
476
510
  for i, item in enumerate(returnList):
@@ -484,23 +518,23 @@ def userRangeIntSelection(inputString, intLength=3 ):
484
518
  Takes in a 2D List and displays a table.
485
519
  Will take 2DList/Tuple. Will Process a Dictionary, 1DList/Tuple, CSV String
486
520
  '''
487
- def displayTable(tableData=[[""]], message="", tableHeaders=None, indexReq=False, printToConsole = True, align = "l"):
488
- retVal =""
521
+ def displayTable(tableData=[[""]], message="", tableHeaders=None, indexReq=False, printToConsole=True, align="l"):
522
+ retVal = ""
489
523
  try:
490
- tableData=tableData.copy()
491
- if tableHeaders is not None: tableHeaders=tableHeaders.copy()
524
+ tableData = tableData.copy()
525
+ if tableHeaders is not None: tableHeaders = tableHeaders.copy()
492
526
  except:
493
527
  pass
494
- if tableHeaders ==[]:
495
- tableHeaders =None
528
+ if tableHeaders == []:
529
+ tableHeaders = None
496
530
  if isinstance(tableData, str):
497
531
  tableData = tableData.split(',')
498
532
  elif isinstance(tableData, dict):
499
533
  tableData = dictToList(tableData)
500
- #Process list to make it into 2d list to display.
534
+ # Process list to make it into 2d list to display.
501
535
  try:
502
536
  if not isinstance(tableData[0], tuple) and not isinstance(tableData[0], list) and not isinstance(tableData[0], dict):
503
- tempList=list()
537
+ tempList = list()
504
538
  for item in tableData:
505
539
  tempList.append(list([item]))
506
540
  tableData = tempList
@@ -512,23 +546,23 @@ def displayTable(tableData=[[""]], message="", tableHeaders=None, indexReq=False
512
546
 
513
547
  if indexReq:
514
548
  if tableHeaders is not None:
515
- tableHeaders.insert(0,"#")
516
- counter =1
549
+ tableHeaders.insert(0, "#")
550
+ counter = 1
517
551
  for rows in tableData:
518
- rows.insert(0,counter)
519
- counter+=1
552
+ rows.insert(0, counter)
553
+ counter += 1
520
554
 
521
- #calculate required column width for each column
555
+ # calculate required column width for each column
522
556
  columnWidths = []
523
557
  itemLegnth = 0
524
558
  for row in range(len(tableData)):
525
559
  for column in range(len(tableData[row])):
526
560
  item = str(tableData[row][column])
527
561
  if item == None:
528
- item="NoneType"
562
+ item = "NoneType"
529
563
  tableData[row][column] = item
530
564
  if item.__contains__("\r") or item.__contains__("\n"):
531
- item = item.replace("\r", "\\r").replace("\n","\\n")
565
+ item = item.replace("\r", "\\r").replace("\n", "\\n")
532
566
  tableData[row][column] = item
533
567
  itemLegnth = len(str(item))
534
568
  try:
@@ -547,7 +581,7 @@ def displayTable(tableData=[[""]], message="", tableHeaders=None, indexReq=False
547
581
  columnWidths.append(itemLegnth)
548
582
  index += 1
549
583
 
550
- #Calculate the edge to be displayed at the top and bottom
584
+ # Calculate the edge to be displayed at the top and bottom
551
585
  topEdge = "+"
552
586
  middleEdge = "+"
553
587
  bottomEdge = "+"
@@ -567,9 +601,9 @@ def displayTable(tableData=[[""]], message="", tableHeaders=None, indexReq=False
567
601
  middleEdge = middleEdge + "+"
568
602
  bottomEdge = bottomEdge + "+"
569
603
 
570
- #Always add the top reguardless of table headers or not.
604
+ # Always add the top reguardless of table headers or not.
571
605
  retVal += topEdge + "\n"
572
- #Add table headers section
606
+ # Add table headers section
573
607
  if tableHeaders is not None:
574
608
  rowString = "|"
575
609
  index = 0
@@ -578,28 +612,31 @@ def displayTable(tableData=[[""]], message="", tableHeaders=None, indexReq=False
578
612
  if align.lower() in "l":
579
613
  rowString += str(item) + " " * spaces + "|"
580
614
  elif align.lower() in "c":
581
- prefix = " " * math.floor(spaces/2)
582
- suffix = " " * math.ceil(spaces/2)
615
+ prefix = " " * math.floor(spaces / 2)
616
+ suffix = " " * math.ceil(spaces / 2)
583
617
  rowString += prefix + str(item) + suffix + "|"
584
618
  elif align.lower() in "r":
585
619
  rowString += " " * spaces + str(item) + "|"
586
620
  index += 1
587
621
  retVal += rowString + "\n"
588
622
  retVal += middleEdge + "\n"
589
- #Add table data section
623
+ # Add table data section
590
624
  for rowData in tableData:
591
625
  index = 0
592
626
  rowString = "|"
593
627
  for item in rowData:
594
628
  spaces = (columnWidths[index] - len(str(item)) + 2)
595
629
  if align.lower() in "l":
596
- rowString += str(item) + " " * spaces + "|"
630
+ if "aborted" not in str(item):
631
+ rowString += str(item) + " " * spaces + "|"
632
+ else:
633
+ rowString += "DEVICE IN USE" + " " * spaces + "|"
597
634
  elif align.lower() in "c":
598
- prefix = " " * math.floor(spaces/2)
599
- suffix = " " * math.ceil(spaces/2)
635
+ prefix = " " * math.floor(spaces / 2)
636
+ suffix = " " * math.ceil(spaces / 2)
600
637
  rowString += prefix + str(item) + suffix + "|"
601
638
  elif align.lower() in "r":
602
- rowString += " " * spaces + str(item) + "|"
639
+ rowString += " " * spaces + str(item) + "|"
603
640
 
604
641
  index += 1
605
642
  retVal += rowString + "\n"
@@ -643,20 +680,20 @@ def is_user_admin():
643
680
  def __formatForTestcenter(text):
644
681
  # escape special characters
645
682
  # turn \' to \\'s
646
- text = text.replace('\\','\\\\')
647
- #get rid of any alarms that may be included in console mode
683
+ text = text.replace('\\', '\\\\')
684
+ # get rid of any alarms that may be included in console mode
648
685
  text = text.replace('\a', '')
649
686
  # replace line endings
650
687
  text = '|'.join(text.splitlines())
651
688
  return text
652
-
689
+
653
690
  def get_check_valid_calPath(calPath, message="Enter the desired save path for the calibration report."):
654
691
  inputOK = False
655
692
  while inputOK is False:
656
693
  if (calPath is None):
657
694
  calPath = os.path.expanduser("~")
658
695
  calPath = requestDialog("Enter Report Path",
659
- message+" Leave blank to default to [" + calPath + "] :",
696
+ message + " Leave blank to default to [" + calPath + "] :",
660
697
  desiredType="path", defaultUserInput=os.path.expanduser("~"))
661
698
 
662
699
  if (os.path.isdir(calPath) == False):
@@ -666,24 +703,30 @@ def get_check_valid_calPath(calPath, message="Enter the desired save path for th
666
703
  else:
667
704
  inputOK = True
668
705
  return calPath
669
-
706
+
670
707
  def check_path_write_permissions(path, message="Please enter a valid path with write permissions: "):
671
708
  import tempfile, errno
672
709
  valid_path=False
710
+ calPath = os.path.expanduser("~")
673
711
  while valid_path==False:
674
712
  try:
675
713
  if path==None:
676
- path=""
714
+ # provide a path if no path was provided
715
+ path = requestDialog("No path was provided. ",
716
+ message + " Leave blank to default to [" + calPath + "] :", desiredType="path",
717
+ defaultUserInput=calPath)
677
718
  f = open(path+"\\tempFile.txt", "w")
678
719
  f.write("some text")
679
720
  f.flush()
680
721
  f.close()
681
- os.remove(path+"\\tempFile.txt")
682
- valid_path=True
722
+ os.remove(path + "\\tempFile.txt")
723
+ valid_path = True
683
724
  except OSError as e:
684
725
  if e.errno == errno.EACCES or e.errno == errno.EEXIST: # 13 or 17
685
- path= requestDialog("No write permissions at path: \""+path+"\". ",
686
- message,desiredType="path")
726
+ # provide a path if write permissions are encountered
727
+ path = requestDialog("No write permissions at path: \"" + path + "\". ",
728
+ message + " Leave blank to default to [" + calPath + "] :", desiredType="path",
729
+ defaultUserInput=calPath)
687
730
  else:
688
731
  e.filename = path
689
732
  raise e
@@ -692,19 +735,19 @@ def check_path_write_permissions(path, message="Please enter a valid path with w
692
735
 
693
736
  # Deprecated version of the function, here for compatability only
694
737
  # calls into the visual_sleep() function
695
- def quarchSleep (sleepLength,updatePeriod=1,title=""):
696
- visual_sleep (sleepLength, updatePeriod, title)
738
+ def quarchSleep(sleepLength, updatePeriod=1, title=""):
739
+ visual_sleep(sleepLength, updatePeriod, title)
697
740
 
698
- def visual_sleep (sleepLength,updatePeriod=1,title=""):
741
+ def visual_sleep(sleepLength, updatePeriod=1, title=""):
699
742
  """
700
743
  Wrapper for sleep function that gives a visual indicator of the sleep time
701
744
  """
702
- if title !="":
745
+ if title != "":
703
746
  printText(title)
704
747
  startTime = time.time()
705
748
  currentTime = time.time()
706
- while(currentTime-startTime<sleepLength):
707
- progressBar(iteration=currentTime-startTime,total=sleepLength)
749
+ while (currentTime - startTime < sleepLength):
750
+ progressBar(iteration=currentTime - startTime, total=sleepLength)
708
751
  time.sleep(updatePeriod)
709
752
  currentTime = time.time()
710
- progressBar(iteration=1,total=1) #show 100%
753
+ progressBar(iteration=1, total=1) # show 100%