quarchpy 2.1.11.dev4__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.
- quarchpy/__init__.py +60 -8
- quarchpy/_version.py +1 -1
- quarchpy/config_files/Cable_Modules/QTL1253-01 - Mini SAS Module Config v3.5 c1.3.qfg +196 -196
- quarchpy/config_files/Cable_Modules/QTL1253-01 - Mini SAS Module Config v4.000 c1.3.qfg +198 -198
- quarchpy/config_files/Cable_Modules/QTL1253-02 - Mini SAS Module Config v3.5 c1.3.qfg +196 -196
- quarchpy/config_files/Cable_Modules/QTL1253-02 - Mini SAS Module Config v4.000 c1.3.qfg +198 -198
- quarchpy/config_files/Cable_Modules/QTL1253-xx - Mini SAS Module Config v4.003 c1.6.qfg +197 -197
- quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v3.5 c1.2.qfg +188 -188
- quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v4.000 c1.2.qfg +190 -190
- quarchpy/config_files/Cable_Modules/QTL1271-xx - Ethernet Module Config v4.100 c1.3.qfg +189 -189
- quarchpy/config_files/Cable_Modules/QTL1292-xx - SFP+ Cable Pull Module Config v4.000 c1.1.qfg +154 -154
- quarchpy/config_files/Cable_Modules/QTL1309-04 - USB 3.0 Module Config v4.003 c1.2.qfg +187 -187
- quarchpy/config_files/Cable_Modules/QTL1309-xx - USB 3.0 Module Config v3.5 c1.1.qfg +187 -187
- quarchpy/config_files/Cable_Modules/QTL1309-xx - USB 3.0 Module Config v4.000 c1.1.qfg +188 -188
- quarchpy/config_files/Cable_Modules/QTL1366-xx - QSFP Cable Pull Module Config v4.000 c1.1.qfg +209 -209
- quarchpy/config_files/Cable_Modules/QTL1383-xx - eSATAp Module Config v4.000 c1.3.qfg +190 -190
- quarchpy/config_files/Cable_Modules/QTL1521-02 - Mini SAS HD Module Config v4.000 c1.1.qfg +210 -210
- quarchpy/config_files/Cable_Modules/QTL1521-03 - Mini SAS HD Module Config v4.000 c1.1.qfg +210 -210
- quarchpy/config_files/Cable_Modules/QTL1521-05 - Mini SAS HD Module Config v4.005 c1.1.qfg +209 -209
- quarchpy/config_files/Cable_Modules/QTL1521-05 - Mini SAS HD Module Config v4.007 c1.2.qfg +209 -209
- quarchpy/config_files/Cable_Modules/QTL1521-xx - Mini SAS HD Module Config v4.003 c1.5.qfg +209 -209
- quarchpy/config_files/Cable_Modules/QTL1663-xx - Quad QSFP Cable Pull Module Config v4.000 c1.1.qfg +308 -308
- quarchpy/config_files/Cable_Modules/QTL1675-05 - Mini SAS HD Module w Triggering Config v4.007 c1.3.qfg +211 -211
- quarchpy/config_files/Cable_Modules/QTL1675-xx - Mini SAS HD Module w Triggering Config v4.000 c1.1.qfg +210 -210
- quarchpy/config_files/Cable_Modules/QTL1917-xx - Dual SFP+ Cable Pull Module Config v4.000 c1.1.qfg +174 -174
- quarchpy/config_files/Cable_Modules/QTL1971-01 - USB TypeC Module Config v4.000 c1.1.qfg +203 -203
- quarchpy/config_files/Cable_Modules/QTL1971-02 - USB TypeC Module Config v4.000 c1.1.qfg +203 -203
- quarchpy/config_files/Cable_Modules/QTL2022-xx - RJ-45 Cable Module Config v4.104 c1.3.QFG +189 -189
- quarchpy/config_files/Cable_Modules/QTL2058-xx - External PCIe Module Config v4.001 c1.1.qfg +209 -209
- quarchpy/config_files/Cable_Modules/QTL2138-01 - SFP28 Cable Pull Module Config v4.000 c1.1.qfg +154 -154
- quarchpy/config_files/Cable_Modules/QTL2146-01 - Gen4 OCuLink Cable Module Config v4.001 c1.1.qfg +212 -212
- quarchpy/config_files/Cable_Modules/QTL2162-01 - 24G mini SAS HD Cable Break Module Config v4.000 c1.qfg +209 -209
- quarchpy/config_files/Cable_Modules/QTL2171-01 - QSFP28 Cable Module Config v4.000 c1.qfg +198 -198
- quarchpy/config_files/Cable_Modules/QTL2171-02 - QSFP28 Cable Module Config v4.000 c1.qfg +198 -198
- quarchpy/config_files/Cable_Modules/QTL2341-01 - Gen4 External PCIe Cable Module v4.000.qfg +209 -209
- quarchpy/config_files/Cable_Modules/QTL2602-xx - Multiprotocol Link Breaker.qfg +178 -178
- quarchpy/config_files/Cable_Modules/QTL2834-xx - -48V DC Breaker Module v5.000 c1.0.qfg +177 -177
- quarchpy/config_files/Card_Modules/QTL1069-xx - SBB 2.0 Module Config v3.5 c1.1.qfg +366 -366
- quarchpy/config_files/Card_Modules/QTL1630-01 - PCIe Card Module v4.000 c1.0.qfg +280 -280
- quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.004 c1.2.qfg +283 -283
- quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.005 c1.2.qfg +283 -283
- quarchpy/config_files/Card_Modules/QTL1630-02 - PCIe Card Module Config v4.100 c1.4.qfg +284 -284
- quarchpy/config_files/Card_Modules/QTL1630-04 - PCIe Card Module Config v4.001 c1.1.qfg +287 -287
- quarchpy/config_files/Card_Modules/QTL1630-04 - PCIe Card Module Config v4.004 c1.2.qfg +287 -287
- quarchpy/config_files/Card_Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.004 c1.2.qfg +284 -284
- quarchpy/config_files/Card_Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.006 c1.3.qfg +285 -285
- quarchpy/config_files/Card_Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.001 c1.1.qfg +286 -286
- quarchpy/config_files/Card_Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.004 c1.2.qfg +288 -288
- quarchpy/config_files/Card_Modules/QTL1688-04 - PCIe Card Module w Triggering Config v4.005 c1.5.qfg +288 -288
- quarchpy/config_files/Card_Modules/QTL1688-05 - PCIe Card Module w Triggering Config v4.005 c1.qfg +288 -288
- quarchpy/config_files/Card_Modules/QTL1848-01 - PCIe Lite Card Module Config v4.000.qfg +122 -122
- quarchpy/config_files/Card_Modules/QTL1848-02 - PCIe Lite Card Module Config v4.000.qfg +134 -134
- quarchpy/config_files/Card_Modules/QTL1919-01 - PCIe x8 Card Module Config v4.001 c1.4.qfg +247 -247
- quarchpy/config_files/Card_Modules/QTL1920-01 - PCIe x8 Card Module w Triggering Config v4.000 c1.3.qfg +247 -247
- quarchpy/config_files/Card_Modules/QTL2019-xx - M.2 Horizontal Card Module Config v4.002 c1.1.qfg +219 -219
- quarchpy/config_files/Card_Modules/QTL2034-xx - M.2 M-Key Vertical Module Config v4.001 c1.1.qfg +221 -221
- quarchpy/config_files/Card_Modules/QTL2067-xx - PCIe SFF Module Config v4.000 c1.1.qfg +248 -248
- quarchpy/config_files/Card_Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.006 c1.4.qfg +256 -256
- quarchpy/config_files/Card_Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.007 c1.4.qfg +256 -256
- quarchpy/config_files/Card_Modules/QTL2073-01 - GEN3 PCIe Lite Card Module Config v4.001.qfg +134 -134
- quarchpy/config_files/Card_Modules/QTL2073-01 - PCIe Lite Card Module Config v4.000.qfg +134 -134
- quarchpy/config_files/Card_Modules/QTL2074-01 - GEN3 PCIe HS Card Module v4.005 c1.4.qfg +287 -287
- quarchpy/config_files/Card_Modules/QTL2074-01 - PCIe Card Module Config CurrentLimit v4.004 c1.2.qfg +287 -287
- quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.1.qfg +287 -287
- quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.3.qfg +277 -277
- quarchpy/config_files/Card_Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v5.000 c1.4.qfg +277 -277
- quarchpy/config_files/Card_Modules/QTL2094-01 - Sanblaze Dualport Riser Card Config v4.001 c1.1.qfg +223 -223
- quarchpy/config_files/Card_Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.000 c1.1.qfg +287 -287
- quarchpy/config_files/Card_Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.4.qfg +277 -277
- quarchpy/config_files/Card_Modules/QTL2135-xx - PCIe GEN4 Card Module w Triggering Config - Inrush Limit v4.001 c1.4.qfg +277 -277
- quarchpy/config_files/Card_Modules/QTL2161-01 - EDSFF x8 Module Config v4.000 c1.1.qfg +210 -210
- quarchpy/config_files/Card_Modules/QTL2171-xx - EDSFF x8 Module w Triggering Config 4.001 c1.1.qfg +213 -213
- quarchpy/config_files/Card_Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.000 c1.1.qfg +218 -218
- quarchpy/config_files/Card_Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.005 c1.5.qfg +218 -218
- quarchpy/config_files/Card_Modules/QTL2272-01 - GEN4 EDSFF x8 Module Config v4.000 c1.1.qfg +211 -211
- quarchpy/config_files/Card_Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.000 c1.1.qfg +212 -212
- quarchpy/config_files/Card_Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.002 c1.2.qfg +212 -212
- quarchpy/config_files/Card_Modules/QTL2318-01 - SANBlaze U.2 Rack Riser Card Config v4.000 c1.1.qfg +218 -218
- quarchpy/config_files/Card_Modules/QTL2322-03 - GEN4 M.2 M-Key Vertical Breaker Module Config v5.001 c1.3.qfg +220 -220
- quarchpy/config_files/Card_Modules/QTL2322-xx - GEN4 M.2 M-Key Vertical Breaker Module Config v5.000 c1.1.qfg +208 -208
- quarchpy/config_files/Card_Modules/QTL2334-xx - Gen4 EDSFF x4 Card Module Config v4.000 c1.1.qfg +187 -187
- quarchpy/config_files/Card_Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.000 c1.1.qfg +189 -189
- quarchpy/config_files/Card_Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.001 c1.2.qfg +190 -190
- quarchpy/config_files/Card_Modules/QTL2357-xx - PCIe GEN5 Card Module Config v5.000 c1.1.qfg +282 -282
- quarchpy/config_files/Card_Modules/QTL2358-xx - PCIe GEN5 Card Module w Triggering Config v5.000 c1.1.qfg +283 -283
- quarchpy/config_files/Card_Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.000 c1.1.qfg +215 -215
- quarchpy/config_files/Card_Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.001 c1.2.qfg +217 -217
- 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
- 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
- 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
- quarchpy/config_files/Card_Modules/QTL2396-xx - PCIe GEN5 Card Module w inrush Config v5.000 c1.1.qfg +282 -282
- quarchpy/config_files/Card_Modules/QTL2403-xx - Gen4 PCIe Lite Module Config v4.000.qfg +135 -135
- quarchpy/config_files/Card_Modules/QTL2515-xx - PCIe GEN4 Card Module w Triggering - Inrush Limit Config v4.001 c1.3.qfg +277 -277
- quarchpy/config_files/Card_Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.000.qfg +130 -130
- quarchpy/config_files/Card_Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.003.qfg +137 -137
- quarchpy/config_files/Card_Modules/QTL2658-xx - Gen5 PCIe Lite Module w Inrush Config v4.000.qfg +130 -130
- quarchpy/config_files/Card_Modules/QTL2661-xx - GEN5 PCIe U.3 Breaker Config w Triggering v5.000 c1.1.qfg +229 -229
- quarchpy/config_files/Card_Modules/QTL2662-xx - GEN5 PCIe U.3 Breaker Config v5.000 c1.1.qfg +228 -228
- quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.000.qfg +230 -230
- quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.001 c1.2.qfg +233 -233
- quarchpy/config_files/Card_Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker v5.000 c1.1.qfg +230 -230
- quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker +Triggering Config v5.000.qfg +230 -230
- quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering Config v5.001 c1.2.qfg +233 -233
- quarchpy/config_files/Card_Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering v5.000 c1.1.qfg +230 -230
- quarchpy/config_files/Card_Modules/QTL2766-xx - GEN4 EDSFF E1 x8 Breaker Config v5.000.qfg +253 -253
- quarchpy/config_files/Card_Modules/QTL2767-xx - GEN4 EDSFF E3 x8 Breaker Config v5.000.qfg +253 -253
- quarchpy/config_files/Card_Modules/QTL2768-xx - GEN4 EDSFF E3 2T x8 Breaker Config v5.000.qfg +253 -253
- quarchpy/config_files/Card_Modules/QTL2776-xx - GEN4 EDSFF E1 x8 Breaker +Triggering Config v5.000.qfg +253 -253
- quarchpy/config_files/Card_Modules/QTL2777-xx - GEN4 EDSFF E3 x8 Breaker +Triggering Config v5.000.qfg +253 -253
- quarchpy/config_files/Card_Modules/QTL2778-xx - GEN4 EDSFF E3 2T x8 Breaker +Triggering Config v5.000.qfg +253 -253
- quarchpy/config_files/Card_Modules/QTL2798-xx - PCIe GEN5 Card Module w Triggering w Inrush Limit Config v5.000 c1.1.qfg +283 -283
- quarchpy/config_files/Card_Modules/QTL2804-xx - GEN5 MCIO x4 to U.2 Breaker Config v5.000 c1.1.qfg +234 -234
- quarchpy/config_files/Card_Modules/QTL2805-xx - GEN5 MCIO x4 to U.2 Breaker + Triggering Config v5.000 c1.1.qfg +234 -234
- quarchpy/config_files/Card_Modules/QTL2814-xx - GEN5 AIC to U.2 Breaker + Triggering Config v5.000 c1.1 .qfg +233 -233
- quarchpy/config_files/Card_Modules/QTL2892-xx - GEN5 EDSFF E1 x4 Breaker.qfg +233 -233
- quarchpy/config_files/Card_Modules/QTL2925-xx - GEN5 EDSFF E1 x4 Breaker +Triggering.qfg +233 -233
- quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v3.5 c1.5.qfg +198 -198
- quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v4.000 c1.5.qfg +200 -200
- quarchpy/config_files/Drive_Modules/QTL1177-xx - HS Module Config v4.006 c1.8.qfg +199 -199
- quarchpy/config_files/Drive_Modules/QTL1215-xx - Lite Module Config v3.50.qfg +118 -118
- quarchpy/config_files/Drive_Modules/QTL1215-xx - Lite Module Config v4.000.qfg +118 -118
- quarchpy/config_files/Drive_Modules/QTL1301-xx - HS Lite Module Config v3.50.qfg +129 -129
- quarchpy/config_files/Drive_Modules/QTL1301-xx - HS Lite Module Config v4.000.qfg +129 -129
- quarchpy/config_files/Drive_Modules/QTL1429-01 - EMC HS Lite Module Config v4.000.qfg +129 -129
- quarchpy/config_files/Drive_Modules/QTL1429-02 - EMC HS Lite Module Config v4.002.qfg +120 -120
- quarchpy/config_files/Drive_Modules/QTL1623-03 - 12G HS Lite Module Config v4.001.qfg +128 -128
- quarchpy/config_files/Drive_Modules/QTL1623-04 - 12G HS Lite Module Config v4.001.qfg +128 -128
- quarchpy/config_files/Drive_Modules/QTL1680-xx - SCA2 Lite Module Config v4.001.qfg +135 -135
- quarchpy/config_files/Drive_Modules/QTL1689-01 - 12G HS Module Config v4.001 c1.1.qfg +199 -199
- quarchpy/config_files/Drive_Modules/QTL1689-04 - 12G HS Module Config v4.002 c1.1.qfg +196 -196
- quarchpy/config_files/Drive_Modules/QTL1689-05 - 12G HS Module Config v4.002 c1.1.qfg +196 -196
- quarchpy/config_files/Drive_Modules/QTL1743-02 - PCIe SFF Module Config v4.003 c1.3.qfg +222 -222
- quarchpy/config_files/Drive_Modules/QTL1743-02 - PCIe SFF Module Config v4.006 c1.4.qfg +213 -213
- quarchpy/config_files/Drive_Modules/QTL1743-xx - PCIe SFF Module Config v4.000 c1.1.qfg +221 -221
- quarchpy/config_files/Drive_Modules/QTL1753-xx - 12G Lite Module Config v4.000.qfg +116 -116
- quarchpy/config_files/Drive_Modules/QTL1921-01 - EMC 12G HS Lite Module Config v4.000.qfg +120 -120
- quarchpy/config_files/Drive_Modules/QTL2207-01 - GEN 4 PCIe U.2 Drive Module.qfg +217 -217
- quarchpy/config_files/Drive_Modules/QTL2207-02 - GEN 4 PCIe U.2 Drive Module v5.000.qfg +220 -220
- quarchpy/config_files/Drive_Modules/QTL2207-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.qfg +221 -221
- quarchpy/config_files/Drive_Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module v4.001.qfg +219 -219
- quarchpy/config_files/Drive_Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module.qfg +219 -219
- quarchpy/config_files/Drive_Modules/QTL2245-01 - GEN 4 PCIe U.3 HS Drive Module v4.000.qfg +223 -223
- quarchpy/config_files/Drive_Modules/QTL2245-xx - GEN 4 PCIe U.3 HS Drive Module.qfg +229 -229
- quarchpy/config_files/Drive_Modules/QTL2266-01 - GEN 4 PCIe SFF HS Drive Module Triggering.qfg +219 -219
- quarchpy/config_files/Drive_Modules/QTL2266-02 - GEN 4 PCIe SFF HS Drive Module Triggering v4.002.qfg +220 -220
- quarchpy/config_files/Drive_Modules/QTL2266-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.qfg +221 -221
- quarchpy/config_files/Drive_Modules/QTL2266-XX - GEN 4 PCIe SFF HS Drive Module Triggering.qfg +219 -219
- quarchpy/config_files/Drive_Modules/QTL2270-01 - GEN 4 PCIe U.3 HS Drive Module Triggering v4.000.qfg +225 -225
- quarchpy/config_files/Drive_Modules/QTL2270-xx - GEN 4 PCIe U.3 HS Drive Module Triggering.qfg +230 -230
- quarchpy/config_files/Drive_Modules/QTL2542-02 - 24G SAS Drive Breaker Module v5.001.qfg +194 -194
- quarchpy/config_files/Drive_Modules/QTL2542-xx - 24G SAS Drive Breaker v5.000 c1.1.qfg +194 -194
- quarchpy/config_files/Drive_Modules/QTL2543-xx - 24G SAS Drive Breaker +Triggering v5.000 c1.1.qfg +195 -195
- quarchpy/config_files/Drive_Modules/QTL2602-xx - Multiprotocol Link Breaker.qfg +178 -178
- quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.000.qfg +227 -227
- quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.001.qfg +227 -227
- quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.003.qfg +227 -227
- quarchpy/config_files/Drive_Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.007.qfg +229 -229
- quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.000.qfg +228 -228
- quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.001.qfg +228 -228
- quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.003.qfg +228 -228
- quarchpy/config_files/Drive_Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module v5.007.qfg +230 -230
- quarchpy/config_files/Drive_Modules/QTL2661-xx - Gen5 U.3 Drive Module + Triggering v5.000.qfg +229 -229
- quarchpy/config_files/Drive_Modules/QTL2662-xx - Gen5 PCIe U.3 Drive Module v5.000.qfg +228 -228
- quarchpy/config_files/Drive_Modules/QTL2757-xx - Gen5 SFF Lite Breaker Module Config v4.000.qfg +140 -140
- quarchpy/config_files/Drive_Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.qfg +253 -253
- quarchpy/config_files/Drive_Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker v5.001.qfg +234 -234
- quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.001.qfg +234 -234
- quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.002.qfg +253 -253
- quarchpy/config_files/Drive_Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.qfg +253 -253
- quarchpy/config_files/Drive_Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker v5.001 c1.2.qfg +230 -230
- quarchpy/config_files/Drive_Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker with Triggering v5.002 c1.3.qfg +253 -253
- quarchpy/config_files/Drive_Modules/QTL2814-xx - Gen5 AIC to U.2 Breaker with Triggering v5.001 c1.2.qfg +230 -230
- quarchpy/config_files/Drive_Modules/QTL2814-xx - Gen5 AIC to U.2 Breaker with Triggering v5.002 c1.3.qfg +253 -253
- quarchpy/config_files/Drive_Modules/QTL2892-xx - Gen5 EDSFF E1 x4 Breaker v5.001.qfg +233 -233
- quarchpy/config_files/Drive_Modules/Standard Drive Module Config v3.5 c1.1.qfg +171 -171
- quarchpy/config_files/Power_Margining/HD/QTL1944-xx - HD Power Module v5.000.qfg +123 -123
- quarchpy/config_files/Power_Margining/HD/QTL1944-xx - HD Power Module v5.003.qfg +124 -124
- quarchpy/config_files/Power_Margining/HD/QTL1995-xx - x6 HD Power Module v5.002.qfg +122 -122
- quarchpy/config_files/Power_Margining/HD/QTL1995-xx - x6 HD Power Module v5.003.qfg +123 -123
- quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v5.002.qfg +122 -122
- quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v5.003.qfg +123 -123
- quarchpy/config_files/Power_Margining/HD/QTL1999-xx - Single HD Power Module v6.000.qfg +124 -124
- quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.101.qfg +78 -78
- quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.200.qfg +80 -80
- quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Power Margining Module v4.201.qfg +82 -82
- quarchpy/config_files/Power_Margining/PPM/QTL1455-02 - Test Power Margining Module v4.004.qfg +73 -73
- quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.101.qfg +78 -78
- quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.200.qfg +80 -80
- quarchpy/config_files/Power_Margining/PPM/QTL1658-01 - Power Margining Module w. Triggering v4.201.qfg +82 -82
- quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.105.qfg +78 -78
- quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.200.qfg +80 -80
- quarchpy/config_files/Power_Margining/PPM/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.201.qfg +82 -82
- quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.105.qfg +78 -78
- quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.200.qfg +80 -80
- quarchpy/config_files/Power_Margining/PPM/QTL1730-01 - 3v3 Power Margining Module v4.201.qfg +82 -82
- quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.000.qfg +80 -80
- quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.200.qfg +81 -81
- quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.202.qfg +87 -87
- quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.210.qfg +88 -88
- quarchpy/config_files/Power_Margining/XLC/QTL1824-01 - Power Margining Module V2 - Triggering v4.211.qfg +121 -121
- quarchpy/config_files/Power_Margining/XLC/QTL1824-03 - Power Margining Module V2 - Triggering v4.213.qfg +121 -121
- quarchpy/config_files/Power_Margining/XLC/QTL1847-01 - Power Margining Module V2 v4.213.qfg +121 -121
- quarchpy/config_files/Switch_Modules/QTL1390-xx - 4-8 SATA MUX Module Config v4.002.qfg +186 -186
- quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.002.qfg +147 -147
- quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.003.qfg +147 -147
- quarchpy/config_files/Switch_Modules/QTL1443-xx - 1-8 USB3 MUX Module Config v4.100.qfg +147 -147
- quarchpy/config_files/Switch_Modules/QTL1449-xx - 1-8 PCIe MUX Module Config v4.000.qfg +145 -145
- quarchpy/config_files/Switch_Modules/QTL1490-xx - SATA Keyed HS Module Config v4.003 c1.6.qfg +194 -194
- quarchpy/config_files/Switch_Modules/QTL1490-xx - SATA Keyed HS Module Config v4.006 c1.8.qfg +193 -193
- quarchpy/config_files/Switch_Modules/QTL1530-xx - 1-8 DP MUX Module Config v4.000.qfg +145 -145
- quarchpy/config_files/Switch_Modules/QTL1564-xx - 12 Port Mini SAS HD MUX Module Config v4.000.qfg +184 -184
- quarchpy/config_files/Switch_Modules/QTL1584-xx - 1-4 ExpressCard MUX Module Config v4.000.qfg +81 -81
- quarchpy/config_files/quarch_config_parser.py +19 -16
- quarchpy/connection_specific/QPS/{License/argparse4j-license.txt → 3rdPartyLicenses/argparse4j-LICENSE.txt} +23 -25
- quarchpy/connection_specific/QPS/3rdPartyLicenses/com.sun.istack-license.html +59 -0
- quarchpy/connection_specific/QPS/{qis/License/LICENSE.txt → 3rdPartyLicenses/commons-io-LICENSE-2.0.txt} +202 -202
- quarchpy/connection_specific/QPS/3rdPartyLicenses/controlsfx-license.txt +29 -0
- quarchpy/connection_specific/QPS/{License/LICENSE.txt → 3rdPartyLicenses/evalex-LICENSE.txt} +202 -202
- quarchpy/connection_specific/QPS/3rdPartyLicenses/gson-license.txt +202 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/guava-license.txt +202 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/jakarta.activation-license.html +59 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/jakarta.xml.bind-api-license.html +59 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/janino-LICENSE.txt +31 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/jfx-license.txt +347 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/log4j-license.txt +202 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/netty-LICENSE.txt +202 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/netty-NOTICE.txt +239 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/nsmenufx-LICENSE.txt +24 -0
- quarchpy/connection_specific/QPS/3rdPartyLicenses/slf4j-LICENSE.txt +24 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-01 - Mini SAS Module Config v3.5 c1.3.xml +597 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-01 - Mini SAS Module Config v4.000 c1.3.xml +597 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-02 - Mini SAS Module Config v3.5 c1.3.xml +597 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-02 - Mini SAS Module Config v4.000 c1.3.xml +597 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1253-xx - Mini SAS Module Config v4.003 c1.6.xml +599 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1271-xx - Ethernet Module Config v3.5 c1.2.xml +533 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1271-xx - Ethernet Module Config v4.000 c1.2.xml +533 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1271-xx - Ethernet Module Config v4.100 c1.3.xml +535 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1292-xx - SFP+ Cable Pull Module Config v4.000 c1.1.xml +449 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1309-04 - USB 3.0 Module Config v4.003 c1.2.xml +530 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1309-xx - USB 3.0 Module Config v3.5 c1.1.xml +528 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1309-xx - USB 3.0 Module Config v4.000 c1.1.xml +528 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1366-xx - QSFP Cable Pull Module Config v4.000 c1.1.xml +684 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1383-xx - eSATAp Module Config v4.000 c1.3.xml +542 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-02 - Mini SAS HD Module Config v4.000 c1.1.xml +670 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-03 - Mini SAS HD Module Config v4.000 c1.1.xml +670 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-05 - Mini SAS HD Module Config v4.005 c1.1.xml +672 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-05 - Mini SAS HD Module Config v4.007 c1.2.xml +672 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1521-xx - Mini SAS HD Module Config v4.003 c1.5.xml +672 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1663-xx - Quad QSFP Cable Pull Module Config v4.000 c1.1.xml +1523 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1675-05 - Mini SAS HD Module w Triggering Config v4.007 c1.3.xml +673 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1675-xx - Mini SAS HD Module w Triggering Config v4.000 c1.1.xml +673 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1917-xx - Dual SFP+ Cable Pull Module Config v4.000 c1.1.xml +614 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1971-01 - USB TypeC Module Config v4.000 c1.1.xml +637 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL1971-02 - USB TypeC Module Config v4.000 c1.1.xml +641 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2022-xx - RJ-45 Cable Module Config v4.104 c1.3.xml +535 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2058-xx - External PCIe Module Config v4.001 c1.1.xml +696 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2138-01 - SFP28 Cable Pull Module Config v4.000 c1.1.xml +449 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2146-01 - Gen4 OCuLink Cable Module Config v4.001 c1.1.xml +718 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2162-01 - 24G mini SAS HD Cable Break Module Config v4.000 c1.xml +672 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2171-01 - QSFP28 Cable Module Config v4.000 c1.xml +583 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2171-02 - QSFP28 Cable Module Config v4.000 c1.xml +583 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2341-01 - Gen4 External PCIe Cable Module v4.000.xml +625 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2602-xx - Multiprotocol Link Breaker.xml +414 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL2834-xx - -48V DC Breaker Module v5.000 c1.0.xml +374 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Cable Modules/QTL3000-xx - RJ-45 Cable Module v5.000 c1.4.xml +539 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1069-xx - SBB 2.0 Module Config v3.5 c1.1.xml +1614 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-01 - PCIe Card Module v4.000 c1.0.xml +1271 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-02 - PCIe Card Module Config v4.004 c1.2.xml +1289 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-02 - PCIe Card Module Config v4.005 c1.2.xml +1289 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-02 - PCIe Card Module Config v4.100 c1.4.xml +1290 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-04 - PCIe Card Module Config v4.001 c1.1.xml +1297 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1630-04 - PCIe Card Module Config v4.004 c1.2.xml +1301 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.004 c1.2.xml +1290 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-01 - PCIe Card Module w Triggering Config v4.006 c1.3.xml +1291 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.001 c1.1.xml +1298 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-03 - PCIe Card Module w Triggering Config v4.004 c1.2.xml +1302 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-04 - PCIe Card Module w Triggering Config v4.005 c1.5.xml +1307 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1688-05 - PCIe Card Module w Triggering Config v4.005 c1.xml +1307 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1848-01 - PCIe Lite Card Module Config v4.000.xml +219 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1848-02 - PCIe Lite Card Module Config v4.000.xml +286 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1919-01 - PCIe x8 Card Module Config v4.001 c1.4.xml +965 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL1920-01 - PCIe x8 Card Module w Triggering Config v4.000 c1.3.xml +966 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2019-xx - M.2 Horizontal Card Module Config v4.002 c1.1.xml +703 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2034-xx - M.2 M-Key Vertical Module Config v4.001 c1.1.xml +737 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2067-xx - PCIe SFF Module Config v4.000 c1.1.xml +971 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.006 c1.4.xml +1020 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2067-xx - Sanblaze 2 Drive Riser Card Config v4.007 c1.4.xml +1022 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2073-01 - GEN3 PCIe Lite Card Module Config v4.001.xml +286 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2073-01 - PCIe Lite Card Module Config v4.000.xml +286 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2074-01 - GEN3 PCIe HS Card Module v4.005 c1.4.xml +1301 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2074-01 - PCIe Card Module Config CurrentLimit v4.004 c1.2.xml +1301 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.1.xml +1307 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.3.xml +1212 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2087-xx - PCIe GEN4 Card Module w Triggering Config v5.000 c1.4.xml +1212 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2094-01 - Sanblaze Dualport Riser Card Config v4.001 c1.1.xml +773 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.000 c1.1.xml +1306 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2128-xx - PCIe GEN4 Card Module w Triggering Config v4.001 c1.4.xml +1211 -0
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2161-01 - EDSFF x8 Module Config v4.000 c1.1.xml +773 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2171-xx - EDSFF x8 Module w Triggering Config 4.001 c1.1.xml +785 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.000 c1.1.xml +715 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2203-01 - Sanblaze Dualport Rack Riser Card Config v4.005 c1.5.xml +715 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2272-01 - GEN4 EDSFF x8 Module Config v4.000 c1.1.xml +771 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.000 c1.1.xml +666 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2282-01 - Sanblaze Singleport Rack Riser Card Config v4.002 c1.2.xml +666 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2318-01 - SANBlaze U.2 Rack Riser Card Config v4.000 c1.1.xml +715 -0
- 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
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2334-xx - Gen4 EDSFF x4 Card Module Config v4.000 c1.1.xml +615 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.000 c1.1.xml +621 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2351-xx - GEN4 EDSFF x4 Card Module +Triggering Config v4.001 c1.2.xml +624 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2357-xx - PCIe GEN5 Card Module Config v5.000 c1.1.xml +1242 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2358-xx - PCIe GEN5 Card Module w Triggering Config v5.000 c1.1.xml +1250 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.000 c1.1.xml +682 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2378-xx - SANBlaze U.3 Rack Riser Card Config v4.001 c1.2.xml +698 -0
- 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
- 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
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2396-xx - PCIe GEN5 Card Module w inrush Config v5.000 c1.1.xml +1242 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2403-xx - Gen4 PCIe Lite Module Config v4.000.xml +293 -0
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.000.xml +259 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2652-xx - Gen5 PCIe Lite Module Config v4.003.xml +288 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2658-xx - Gen5 PCIe Lite Module w Inrush Config v4.000.xml +259 -0
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2662-xx - GEN5 PCIe U.3 Breaker Config v5.000 c1.1.xml +801 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.000.xml +741 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.001 c1.2.xml +799 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker Config v5.002 c1.4.xml +743 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2686-xx - Gen5 EDSFF E3 x4 Breaker v5.000 c1.1.xml +741 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker +Triggering Config v5.000.xml +742 -0
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2692-xx - Gen5 EDSFF E3 x4 Breaker w Triggering v5.000 c1.1.xml +742 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2766-xx - GEN4 EDSFF E1 x8 Breaker Config v5.000.xml +982 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2767-xx - GEN4 EDSFF E3 x8 Breaker Config v5.000.xml +982 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2768-xx - GEN4 EDSFF E3 2T x8 Breaker Config v5.000.xml +982 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2776-xx - GEN4 EDSFF E1 x8 Breaker +Triggering Config v5.000.xml +983 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2777-xx - GEN4 EDSFF E3 x8 Breaker +Triggering Config v5.000.xml +983 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2778-xx - GEN4 EDSFF E3 2T x8 Breaker +Triggering Config v5.000.xml +983 -0
- 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
- 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
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2813-xx - Gen5 AIC to U.2 Breaker v5.002 c1.3.xml +871 -0
- 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
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2892-xx - GEN5 EDSFF E1 x4 Breaker.xml +799 -0
- 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
- 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
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2902-xx- -Gen5 M.2 Horizontal Breaker +Triggering Config 5.000 c1.1.xml +762 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2925-xx - GEN5 EDSFF E1 x4 Breaker +Triggering.xml +800 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Card Modules/QTL2954-01 - fake delete.xml +947 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1177-xx - HS Module Config v3.5 c1.5.xml +592 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1177-xx - HS Module Config v4.000 c1.5.xml +592 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1177-xx - HS Module Config v4.006 c1.8.xml +594 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1215-xx - Lite Module Config v3.50.xml +203 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1215-xx - Lite Module Config v4.000.xml +203 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1301-xx - HS Lite Module Config v3.50.xml +281 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1301-xx - HS Lite Module Config v4.000.xml +281 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1429-01 - EMC HS Lite Module Config v4.000.xml +281 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1429-02 - EMC HS Lite Module Config v4.002.xml +234 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1623-03 - 12G HS Lite Module Config v4.001.xml +266 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1623-04 - 12G HS Lite Module Config v4.001.xml +266 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1680-xx - SCA2 Lite Module Config v4.001.xml +333 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1689-01 - 12G HS Module Config v4.001 c1.1.xml +594 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1689-04 - 12G HS Module Config v4.002 c1.1.xml +580 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1689-05 - 12G HS Module Config v4.002 c1.1.xml +579 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1743-02 - PCIe SFF Module Config v4.003 c1.3.xml +794 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1743-02 - PCIe SFF Module Config v4.006 c1.4.xml +698 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1743-xx - PCIe SFF Module Config v4.000 c1.1.xml +789 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1753-xx - 12G Lite Module Config v4.000.xml +192 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL1921-01 - EMC 12G HS Lite Module Config v4.000.xml +233 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-01 - GEN 4 PCIe U.2 Drive Module.xml +733 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-02 - GEN 4 PCIe U.2 Drive Module v5.000.xml +753 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.xml +763 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module v4.001.xml +751 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2207-xx - GEN 4 PCIe U.2 Drive Module.xml +746 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2245-01 - GEN 4 PCIe U.3 HS Drive Module v4.000.xml +789 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2245-xx - GEN 4 PCIe U.3 HS Drive Module.xml +823 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2266-01 - GEN 4 PCIe SFF HS Drive Module Triggering.xml +743 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2266-02 - GEN 4 PCIe SFF HS Drive Module Triggering v4.002.xml +758 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2266-03 - GEN 4 PCIe SFF HS Drive Module Triggering v5.001.xml +764 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2266-XX - GEN 4 PCIe SFF HS Drive Module Triggering.xml +747 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2270-01 - GEN 4 PCIe U.3 HS Drive Module Triggering v4.000.xml +798 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2270-xx - GEN 4 PCIe U.3 HS Drive Module Triggering.xml +835 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2542-02 - 24G SAS Drive Breaker Module v5.001.xml +530 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2542-xx - 24G SAS Drive Breaker v5.000 c1.1.xml +530 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2543-xx - 24G SAS Drive Breaker +Triggering v5.000 c1.1.xml +539 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2543-xx - 24G SAS Drive Breaker +Triggering v5.001 c1.3.xml +539 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2602-xx - Multiprotocol Link Breaker.xml +414 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.000.xml +792 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.001.xml +792 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.003.xml +793 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.007.xml +816 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2645-xx - Gen5 PCIe U.2 Drive Module v5.008.xml +818 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.000.xml +801 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.001.xml +801 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module + Triggering v5.003.xml +802 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2651-xx - Gen5 PCIe U.2 Drive Module v5.007.xml +825 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2661-xx - Gen5 U.3 Drive Module + Triggering v5.000.xml +813 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2662-xx - Gen5 PCIe U.3 Drive Module v5.000.xml +801 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2757-xx - Gen5 SFF Lite Breaker Module Config v4.000.xml +272 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.xml +818 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2804-xx - Gen5 MCIO to U.2 Breaker v5.001.xml +813 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.001.xml +814 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.002.xml +819 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2805-xx - Gen5 MCIO to U.2 Breaker +Triggering v5.003.xml +819 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2892-xx - Gen5 EDSFF E1 x4 Breaker v5.001.xml +799 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2892-xx - Gen5 EDSFF E1 x4 Breaker v5.002.xml +801 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2940-xx - Gen5 EDSFF E3 x8 Breaker v5.000.xml +1105 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/QTL2941-xx - Gen5 EDSFF E3 x8 Breaker +Triggering v5.000.xml +1106 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Drive Modules/Standard Drive Module Config v3.5 c1.1.xml +463 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Switch Modules/QTL1490-xx - SATA Keyed HS Module Config v4.003 c1.6.xml +555 -0
- quarchpy/connection_specific/QPS/DeviceConfig/breaker/Switch Modules/QTL1490-xx - SATA Keyed HS Module Config v4.006 c1.8.xml +557 -0
- quarchpy/connection_specific/QPS/DeviceConfig/colors/default-colors.properties +64 -0
- quarchpy/connection_specific/QPS/DeviceConfig/colors/qtl2789-colors.properties +2 -0
- quarchpy/connection_specific/QPS/InstallType.dat +1 -0
- quarchpy/connection_specific/QPS/Power-Studio-QuickStart.pdf +0 -0
- quarchpy/connection_specific/QPS/QuarchPowerStudio.properties.xml +0 -1
- quarchpy/connection_specific/QPS/app.jar +0 -0
- quarchpy/connection_specific/QPS/app.properties +7 -0
- quarchpy/connection_specific/QPS/commandLineOptions.txt +19 -10
- quarchpy/connection_specific/QPS/license.txt +1 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/com.sun.istack-license.html +59 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/dorkbox-LICENSE.Apachev2 +218 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jSerialComm-LICENSE-APACHE-2.0 +202 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jSerialComm-LICENSE-LGPL-3.0 +165 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jakarta.activation-license.html +59 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jakarta.xml.bind-api-license.html +59 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/javassist-License.html +381 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jmdns-LICENSE.txt +202 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/jna-AL2.0 +177 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/kotlin-stdlib-LICENSE-2.0.txt +202 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/netty-LICENSE.txt +202 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/netty-NOTICE.txt +239 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/slf4j-LICENSE.txt +24 -0
- quarchpy/connection_specific/QPS/qis/3rdPartyLicenses/usb4java-LICENSE.md +20 -0
- quarchpy/connection_specific/QPS/qis/QuarchInstrumentServer.properties.xml +1 -0
- quarchpy/connection_specific/QPS/qis/README.txt +5 -5
- quarchpy/connection_specific/QPS/qis/help.txt +112 -61
- quarchpy/connection_specific/QPS/qis/license.txt +1 -0
- quarchpy/connection_specific/QPS/qis/qis-NoGUI.bat +1 -1
- quarchpy/connection_specific/QPS/qis/qis-NoGUI.sh +1 -1
- quarchpy/connection_specific/QPS/qis/qis.bat +1 -1
- quarchpy/connection_specific/QPS/qis/qis.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis.sh +1 -1
- quarchpy/connection_specific/QPS/qis/qis_lib/Collections-2.4.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/Desktop-1.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/EvalEx-3.5.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/Executor-3.13.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/JNA-1.2.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/OS-1.8.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/SystemTray-4.4.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/Updates-1.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/Utilities-1.46.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/cinterface-2.5.6.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/commons-compiler-3.1.12.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/commons-compiler-jdk-3.1.12.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/gson-2.13.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/istack-commons-runtime-3.0.11.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jakarta.activation-api-2.1.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jakarta.xml.bind-api-4.0.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/janino-3.1.12.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/javassist-3.29.2-GA.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jaxb-core-4.0.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jaxb-runtime-4.0.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jmdns-3.6.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jna-jpms-5.12.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jna-platform-jpms-5.12.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jul-to-slf4j-2.0.17.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/kotlin-stdlib-1.9.21.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/log4j-api-2.25.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/log4j-core-2.25.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/log4j-layout-template-json-2.25.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/log4j-slf4j2-impl-2.25.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/netty-buffer-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/netty-codec-base-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/netty-codec-http-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/netty-common-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/netty-handler-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/netty-transport-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/quarchcommon-2.1.9.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/slf4j-api-2.0.17.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/torridoncommon-1.2.8.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/usb4java-1.3.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/resources/filters/Example.txt +36 -0
- quarchpy/connection_specific/QPS/qis/resources/filters/iec_filters.xml +17 -0
- quarchpy/connection_specific/QPS/qis/resources/org/usb4java/darwin-x86-64/libusb4java.dylib +0 -0
- quarchpy/connection_specific/QPS/qis/resources/org/usb4java/linux-aarch64/libusb4java.so +0 -0
- quarchpy/connection_specific/QPS/qis/resources/org/usb4java/linux-arm/libusb4java.so +0 -0
- quarchpy/connection_specific/QPS/qis/resources/org/usb4java/linux-x86/libusb4java.so +0 -0
- quarchpy/connection_specific/QPS/qis/resources/org/usb4java/linux-x86-64/libusb4java.so +0 -0
- quarchpy/connection_specific/QPS/qis/resources/org/usb4java/win32-x86/libusb4java.dll +0 -0
- quarchpy/connection_specific/QPS/qis/resources/org/usb4java/win32-x86-64/libusb4java.dll +0 -0
- quarchpy/connection_specific/QPS/qps-command-reference.html +339 -0
- quarchpy/connection_specific/QPS/qps.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/EvalEx-3.5.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/commons-compiler-3.1.12.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/commons-compiler-jdk-3.1.12.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/commons-io-2.19.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/controlsfx-11.2.2.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/gson-2.13.1.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/guava-33.4.8-jre.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/istack-commons-runtime-3.0.11.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jakarta.activation-api-2.1.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jakarta.xml.bind-api-4.0.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/janino-3.1.12.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jaxb-core-4.0.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jaxb-runtime-4.0.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jfa-1.2.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jfxutilities-1.0.5.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jna-5.17.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jul-to-slf4j-2.0.17.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/log4j-api-2.25.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/log4j-core-2.25.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/log4j-layout-template-json-2.25.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/log4j-slf4j2-impl-2.25.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-buffer-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-codec-base-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-codec-http-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-common-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-handler-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-transport-4.2.2.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/nsmenufx-3.1.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/quarchcommon-2.1.9.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/qutils-1.0.2.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/slf4j-api-2.0.17.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/txw2-4.0.0.jar +0 -0
- quarchpy/connection_specific/QPS/resources/InstallBanner.bmp +0 -0
- quarchpy/connection_specific/QPS/resources/QPS.icns +0 -0
- quarchpy/connection_specific/QPS/resources/QPS.ico +0 -0
- quarchpy/connection_specific/QPS/resources/QPS.png +0 -0
- quarchpy/connection_specific/QPS/resources/QuarchIcon_128x128.png +0 -0
- quarchpy/connection_specific/QPS/resources/QuarchIcon_16x16.png +0 -0
- quarchpy/connection_specific/QPS/resources/QuarchIcon_256x256.png +0 -0
- quarchpy/connection_specific/QPS/resources/QuarchIcon_32x32.png +0 -0
- quarchpy/connection_specific/QPS/resources/QuarchIcon_64x64.png +0 -0
- quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_DEFAULT.rcf +533 -0
- quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_DEFAULT.scf +90 -0
- quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_FULL.rcf +830 -0
- quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_FULL.scf +144 -0
- quarchpy/connection_specific/QPS/resources/profiles/PAM_EXAMPLE_CONFIG.rcf +193 -0
- quarchpy/connection_specific/QPS/scriptCommands.txt +161 -22
- quarchpy/connection_specific/QPS/whats-new.txt +27 -0
- quarchpy/connection_specific/connection_QIS.py +1513 -1777
- quarchpy/connection_specific/connection_QPS.py +96 -11
- quarchpy/connection_specific/connection_ReST.py +29 -16
- quarchpy/connection_specific/connection_TCP.py +1 -1
- quarchpy/connection_specific/connection_Telnet.py +8 -2
- quarchpy/connection_specific/connection_USB.py +12 -13
- quarchpy/connection_specific/jdk_jres/__init__.py +0 -0
- quarchpy/connection_specific/jdk_jres/fix_permissions.py +60 -0
- quarchpy/connection_specific/mDNS.py +139 -0
- quarchpy/connection_specific/serial/rfc2217.py +2 -2
- quarchpy/connection_specific/serial/tools/list_ports_common.py +1 -4
- quarchpy/connection_specific/serial/tools/list_ports_linux.py +0 -6
- quarchpy/connection_specific/serial/tools/list_ports_osx.py +1 -6
- quarchpy/connection_specific/serial/tools/list_ports_posix.py +0 -5
- quarchpy/connection_specific/serial/tools/list_ports_windows.py +0 -6
- quarchpy/connection_specific/serial/urlhandler/protocol_alt.py +0 -4
- quarchpy/connection_specific/serial/urlhandler/protocol_hwgrep.py +0 -5
- quarchpy/connection_specific/serial/urlhandler/protocol_loop.py +1 -1
- quarchpy/connection_specific/serial/urlhandler/protocol_socket.py +1 -1
- quarchpy/connection_specific/serial/urlhandler/protocol_spy.py +0 -5
- quarchpy/connection_specific/usb_libs/usb1.py +4 -4
- quarchpy/debug/SystemTest.py +152 -41
- quarchpy/debug/module_debug.py +52 -38
- quarchpy/debug/simple_terminal.py +37 -28
- quarchpy/debug/upgrade_quarchpy.py +10 -14
- quarchpy/debug/versionCompare.py +2 -3
- quarchpy/device/__init__.py +10 -4
- quarchpy/device/device.py +1279 -402
- quarchpy/device/device_fixture_idn_info.py +8 -0
- quarchpy/device/device_idn_info.py +100 -0
- quarchpy/device/device_network_info.py +18 -0
- quarchpy/device/discovered_device.py +150 -0
- quarchpy/device/packet_processing.py +88 -0
- quarchpy/device/quarchArray.py +10 -6
- quarchpy/device/quarchPPM.py +395 -40
- quarchpy/device/quarchQPS.py +771 -294
- quarchpy/device/scanDevices.py +329 -230
- quarchpy/docs/CHANGES.rst +478 -328
- quarchpy/docs/_build/doctrees/CHANGES.doctree +0 -0
- quarchpy/docs/_build/doctrees/environment.pickle +0 -0
- quarchpy/docs/_build/doctrees/index.doctree +0 -0
- quarchpy/docs/_build/doctrees/readme.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/changelog.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/licenses.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/modules.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.calibration.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.config_files.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.connection_specific.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.debug.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.device.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.disk_test.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.fio.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.iometer.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.qis.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.qps.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.user_interface.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.utilities.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/readme.doctree +0 -0
- quarchpy/docs/_build/html/.buildinfo +4 -4
- quarchpy/docs/_build/html/CHANGES.html +717 -484
- quarchpy/docs/_build/html/_sources/CHANGES.rst.txt +478 -314
- quarchpy/docs/_build/html/_sources/index.rst.txt +23 -23
- quarchpy/docs/_build/html/_sources/readme.rst.txt +41 -41
- quarchpy/docs/_build/html/_sources/source/modules.rst.txt +7 -7
- quarchpy/docs/_build/html/_sources/source/quarchpy.calibration.rst.txt +78 -78
- quarchpy/docs/_build/html/_sources/source/quarchpy.config_files.rst.txt +22 -22
- quarchpy/docs/_build/html/_sources/source/quarchpy.connection_specific.rst.txt +76 -76
- quarchpy/docs/_build/html/_sources/source/quarchpy.debug.rst.txt +38 -38
- quarchpy/docs/_build/html/_sources/source/quarchpy.device.rst.txt +54 -54
- quarchpy/docs/_build/html/_sources/source/quarchpy.disk_test.rst.txt +126 -126
- quarchpy/docs/_build/html/_sources/source/quarchpy.fio.rst.txt +30 -30
- quarchpy/docs/_build/html/_sources/source/quarchpy.iometer.rst.txt +22 -22
- quarchpy/docs/_build/html/_sources/source/quarchpy.qis.rst.txt +22 -22
- quarchpy/docs/_build/html/_sources/source/quarchpy.qps.rst.txt +22 -22
- quarchpy/docs/_build/html/_sources/source/quarchpy.rst.txt +50 -50
- quarchpy/docs/_build/html/_sources/source/quarchpy.user_interface.rst.txt +22 -22
- quarchpy/docs/_build/html/_sources/source/quarchpy.utilities.rst.txt +22 -22
- quarchpy/docs/_build/html/_static/alabaster.css +662 -700
- quarchpy/docs/_build/html/_static/basic.css +905 -904
- quarchpy/docs/_build/html/_static/doctools.js +106 -280
- quarchpy/docs/_build/html/_static/documentation_options.js +12 -11
- quarchpy/docs/_build/html/_static/language_data.js +192 -297
- quarchpy/docs/_build/html/_static/pygments.css +84 -82
- quarchpy/docs/_build/html/_static/searchtools.js +510 -404
- quarchpy/docs/_build/html/_static/sphinx_highlight.js +154 -0
- quarchpy/docs/_build/html/genindex.html +1876 -1430
- quarchpy/docs/_build/html/index.html +223 -188
- quarchpy/docs/_build/html/objects.inv +0 -0
- quarchpy/docs/_build/html/py-modindex.html +300 -306
- quarchpy/docs/_build/html/readme.html +137 -137
- quarchpy/docs/_build/html/search.html +123 -125
- quarchpy/docs/_build/html/searchindex.js +1 -1
- quarchpy/docs/_build/html/source/changelog.html +805 -537
- quarchpy/docs/_build/html/source/licenses.html +181 -181
- quarchpy/docs/_build/html/source/modules.html +222 -214
- quarchpy/docs/_build/html/source/quarchpy.calibration.html +147 -147
- quarchpy/docs/_build/html/source/quarchpy.config_files.html +136 -136
- quarchpy/docs/_build/html/source/quarchpy.connection_specific.html +1072 -615
- quarchpy/docs/_build/html/source/quarchpy.debug.html +241 -247
- quarchpy/docs/_build/html/source/quarchpy.device.html +4087 -1024
- quarchpy/docs/_build/html/source/quarchpy.disk_test.html +220 -220
- quarchpy/docs/_build/html/source/quarchpy.fio.html +218 -164
- quarchpy/docs/_build/html/source/quarchpy.html +823 -250
- quarchpy/docs/_build/html/source/quarchpy.iometer.html +271 -184
- quarchpy/docs/_build/html/source/quarchpy.qis.html +985 -249
- quarchpy/docs/_build/html/source/quarchpy.qps.html +186 -213
- quarchpy/docs/_build/html/source/quarchpy.user_interface.html +278 -319
- quarchpy/docs/_build/html/source/quarchpy.utilities.html +228 -211
- quarchpy/docs/_build/html/source/readme.html +147 -147
- quarchpy/docs/conf.py +56 -56
- quarchpy/docs/index.rst +23 -23
- quarchpy/docs/make.bat +35 -35
- quarchpy/docs/readme.rst +41 -41
- quarchpy/docs/source/modules.rst +7 -7
- quarchpy/docs/source/quarchpy.calibration.rst +78 -78
- quarchpy/docs/source/quarchpy.config_files.rst +22 -22
- quarchpy/docs/source/quarchpy.connection_specific.rst +76 -76
- quarchpy/docs/source/quarchpy.debug.rst +38 -38
- quarchpy/docs/source/quarchpy.device.rst +54 -54
- quarchpy/docs/source/quarchpy.disk_test.rst +126 -126
- quarchpy/docs/source/quarchpy.fio.rst +30 -30
- quarchpy/docs/source/quarchpy.iometer.rst +22 -22
- quarchpy/docs/source/quarchpy.qis.rst +22 -22
- quarchpy/docs/source/quarchpy.qps.rst +22 -22
- quarchpy/docs/source/quarchpy.rst +50 -50
- quarchpy/docs/source/quarchpy.user_interface.rst +22 -22
- quarchpy/docs/source/quarchpy.utilities.rst +22 -22
- quarchpy/fio/FIO_interface.py +258 -9
- quarchpy/fio/{test_performance_class.py → HIDEtest_performance_class.py} +533 -533
- quarchpy/fio/fioDiskFinder.py +1 -1
- quarchpy/fio/performanceClass.py +5 -4
- quarchpy/install_qps.py +369 -0
- quarchpy/qis/StreamHeaderInfo.py +5 -4
- quarchpy/qis/qisFuncs.py +234 -96
- quarchpy/qps/__init__.py +2 -2
- quarchpy/qps/qpsFuncs.py +238 -139
- quarchpy/run.py +103 -56
- quarchpy/user_interface/user_interface.py +201 -158
- quarchpy/utilities/TestCenter.py +64 -45
- quarchpy/utilities/TimeValue.py +4 -3
- quarchpy/utilities/Version.py +50 -0
- {quarchpy-2.1.11.dev4.dist-info → quarchpy-2.2.17.dev1.dist-info}/METADATA +174 -10
- quarchpy-2.2.17.dev1.dist-info/RECORD +763 -0
- {quarchpy-2.1.11.dev4.dist-info → quarchpy-2.2.17.dev1.dist-info}/WHEEL +1 -2
- quarchpy/.idea/.gitignore +0 -3
- quarchpy/.idea/inspectionProfiles/profiles_settings.xml +0 -6
- quarchpy/.idea/misc.xml +0 -4
- quarchpy/.idea/modules.xml +0 -8
- quarchpy/.idea/quarchpy.iml +0 -12
- quarchpy/.idea/workspace.xml +0 -146
- quarchpy/connection_specific/QPS/License/LGPL.txt +0 -167
- quarchpy/connection_specific/QPS/License/Material-Icons.txt +0 -1
- quarchpy/connection_specific/QPS/License/NOTICE.txt +0 -143
- quarchpy/connection_specific/QPS/License/Netty-license.txt +0 -143
- quarchpy/connection_specific/QPS/License/controlsfx-license.txt +0 -26
- quarchpy/connection_specific/QPS/License/usb4java-license.txt +0 -167
- quarchpy/connection_specific/QPS/qis/License/LGPL.txt +0 -167
- quarchpy/connection_specific/QPS/qis/License/NOTICE.txt +0 -143
- quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.4.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.5.01.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.5.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.6.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.6.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.7.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/QuarchCommon-0.2.3.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/QuarchCommon-0.2.4.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/commons-lang3-3.2.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-darwin-x86-64.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-linux-aarch64.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-linux-arm.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-linux-x86-64.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-linux-x86.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-win32-x86-64.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.3.0-win32-x86.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/netty-all-4.1.43.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/usb4java-1.3.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps.bat +0 -2
- quarchpy/connection_specific/QPS/qps.sh +0 -2
- quarchpy/connection_specific/QPS/qps_lib/QuarchCommon-0.2.2.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/QuarchCommon-0.2.3.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/QuarchCommon-0.2.4.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/controlsfx-8.40.13.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/controlsfx-8.40.14.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/controlsfx-samples-8.40.13.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/fxsampler-1.0.10.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jfxtras-labs-8.0-r6-SNAPSHOT.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jfxtras-labs-8.0-r6.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-all-4.0.37.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-all-4.1.22.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-all-4.1.22.Final_2.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/netty-all-4.1.43.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/org.eclipse.fx.ide.css.jfx8_1.2.0.201501301049.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/org.eclipse.fx.ide.css.jfx8_2.4.0.201605112122.jar +0 -0
- quarchpy/debug/quarchpy - Shortcut.lnk +0 -0
- quarchpy/device/deleteme.py +0 -100
- quarchpy-2.1.11.dev4.dist-info/RECORD +0 -489
- /quarchpy/connection_specific/QPS/{License → 3rdPartyLicenses}/Material-Icons-license.txt +0 -0
- /quarchpy/connection_specific/QPS/DeviceConfig/{QTL1995-02.XML → QTL1995-02.xml} +0 -0
- /quarchpy/connection_specific/QPS/DeviceConfig/{QTL1999-02.XML → QTL1999-02.xml} +0 -0
- /quarchpy/connection_specific/QPS/DeviceConfig/{QTL2312-01.XML → QTL2312-01.xml} +0 -0
- {quarchpy-2.1.11.dev4.dist-info → quarchpy-2.2.17.dev1.dist-info}/top_level.txt +0 -0
|
@@ -6,8 +6,10 @@ import subprocess
|
|
|
6
6
|
import os
|
|
7
7
|
import random
|
|
8
8
|
import logging
|
|
9
|
+
logger = logging.getLogger(__name__)
|
|
9
10
|
import time
|
|
10
|
-
|
|
11
|
+
import re
|
|
12
|
+
from quarchpy.user_interface import user_interface
|
|
11
13
|
|
|
12
14
|
class QpsInterface:
|
|
13
15
|
def __init__(self, host='127.0.0.1', port=9822):
|
|
@@ -52,10 +54,35 @@ class QpsInterface:
|
|
|
52
54
|
else:
|
|
53
55
|
self.client.send( data )
|
|
54
56
|
|
|
55
|
-
|
|
56
|
-
def sendCmdVerbose(self, cmd, timeout=300):
|
|
57
|
+
def sendCommand(self, cmd, timeout=20, expectedResponse=True ):
|
|
57
58
|
cmd = cmd + "\r\n"
|
|
59
|
+
logger.debug("Sending cmd to QPS: " + str(cmd))
|
|
60
|
+
self.send(cmd)
|
|
58
61
|
|
|
62
|
+
start = time.time()
|
|
63
|
+
response = self.recv().strip()
|
|
64
|
+
while response.rfind('\r\n>') == -1: # If true then the resposnse is large and multi packeted
|
|
65
|
+
time.sleep(0.1)
|
|
66
|
+
t_response = self.recv().strip()
|
|
67
|
+
# Add current response to new response
|
|
68
|
+
response += t_response
|
|
69
|
+
# Keep reading from the socket if there's stuff that was retreived
|
|
70
|
+
if len(str(t_response)) == 0:
|
|
71
|
+
if time.time() - start > timeout:
|
|
72
|
+
logger.warning("Command : " + str(cmd) + " Hit timeout during QPS read. timeout = " + str(timeout))
|
|
73
|
+
break
|
|
74
|
+
|
|
75
|
+
pos = response.rfind('\r\n>')
|
|
76
|
+
if pos == -1:
|
|
77
|
+
logger.warning("Did not retrieve trailing '\\r\\n>' from QPS read, returned full response so far")
|
|
78
|
+
logger.warning("command : " + cmd.replace('\r\n', '\\r\\n'))
|
|
79
|
+
logger.warning("returned : " + response.replace('\r\n', '\\r\\n'))
|
|
80
|
+
pos = len(str(response))
|
|
81
|
+
return response[:pos]
|
|
82
|
+
|
|
83
|
+
def sendCmdVerbose(self, cmd, timeout=20):
|
|
84
|
+
cmd = cmd + "\r\n"
|
|
85
|
+
logger.debug("Sending cmd to QPS: "+str(cmd))
|
|
59
86
|
self.send(cmd)
|
|
60
87
|
|
|
61
88
|
start = time.time()
|
|
@@ -68,14 +95,14 @@ class QpsInterface:
|
|
|
68
95
|
# Keep reading from the socket if there's stuff that was retreived
|
|
69
96
|
if len(str(t_response)) == 0:
|
|
70
97
|
if time.time() - start > timeout:
|
|
71
|
-
|
|
98
|
+
logger.warning("Command : "+str(cmd)+ " Hit timeout during QPS read. timeout = " +str(timeout))
|
|
72
99
|
break
|
|
73
100
|
|
|
74
101
|
pos = response.rfind('\r\n>')
|
|
75
102
|
if pos == -1:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
103
|
+
logger.warning("Did not retrieve trailing '\\r\\n>' from QPS read, returned full response so far")
|
|
104
|
+
logger.warning("command : " + cmd.replace('\r\n','\\r\\n'))
|
|
105
|
+
logger.warning("returned : " + response.replace('\r\n','\\r\\n'))
|
|
79
106
|
pos = len(str(response))
|
|
80
107
|
return response[:pos]
|
|
81
108
|
|
|
@@ -83,7 +110,6 @@ class QpsInterface:
|
|
|
83
110
|
def connect(self, targetDevice):
|
|
84
111
|
cmd="$connect " + targetDevice
|
|
85
112
|
retVal = self.sendCmdVerbose(cmd)
|
|
86
|
-
#print(cmd+" : "+retVal)
|
|
87
113
|
time.sleep(0.3)
|
|
88
114
|
return retVal
|
|
89
115
|
|
|
@@ -112,17 +138,31 @@ class QpsInterface:
|
|
|
112
138
|
ipAddress = "TCP::" + ipAddress
|
|
113
139
|
|
|
114
140
|
self.send("$scan " + ipAddress)
|
|
115
|
-
#
|
|
141
|
+
# logger.debug("Starting QPS IP Address Lookup")
|
|
116
142
|
time.sleep(
|
|
117
143
|
sleep) # Time must be allowed for QPS to Scan. If another scan request is sent it will time out and throw an error.
|
|
118
144
|
|
|
119
|
-
def
|
|
145
|
+
def get_list_details(self, sock=None):
|
|
146
|
+
# if sock == None:
|
|
147
|
+
# sock = self.sock
|
|
148
|
+
devString = self.sendCmdVerbose("$module list details")
|
|
149
|
+
#devString = self.sendAndReceiveText(sock, '$list details')
|
|
150
|
+
devString = devString.replace('>', '')
|
|
151
|
+
devString = devString.replace(r'\d+\) ', '')
|
|
152
|
+
devString = devString.split('\r\n')
|
|
153
|
+
devString = [x for x in devString if x] # remove empty elements
|
|
154
|
+
return devString
|
|
155
|
+
|
|
156
|
+
def getDeviceList(self, scan = True, ipAddress = None):
|
|
120
157
|
deviceList = []
|
|
121
158
|
scanWait = 2
|
|
122
159
|
foundDevices = "1"
|
|
123
160
|
foundDevices2 = "2"
|
|
124
161
|
if scan:
|
|
125
|
-
|
|
162
|
+
if ipAddress == None:
|
|
163
|
+
devString = self.sendCmdVerbose('$scan')
|
|
164
|
+
else:
|
|
165
|
+
devString = self.sendCmdVerbose('$module scan tcp::' + ipAddress)
|
|
126
166
|
time.sleep(scanWait)
|
|
127
167
|
while foundDevices not in foundDevices2:
|
|
128
168
|
foundDevices = self.sendCmdVerbose('$list')
|
|
@@ -155,4 +195,49 @@ class QpsInterface:
|
|
|
155
195
|
#return list of devices
|
|
156
196
|
return deviceList
|
|
157
197
|
|
|
198
|
+
|
|
199
|
+
def open_recording(self, file_path, cmdTimeout=5, pollInterval=3, startOpenTimout=5):
|
|
200
|
+
"""
|
|
201
|
+
|
|
202
|
+
"""
|
|
203
|
+
#print("Open recording at file : \""+str(file_path)+"\"")
|
|
204
|
+
notLoadingMessageStartTime=None
|
|
205
|
+
loadingStarted=False
|
|
206
|
+
message=""
|
|
207
|
+
|
|
208
|
+
openResponse = self.sendCmdVerbose("$open recording qpsFile=\""+str(file_path)+"\"",timeout=cmdTimeout)
|
|
209
|
+
#print(openResponse)
|
|
210
|
+
while(1):
|
|
211
|
+
update=self.sendCmdVerbose("$progress check task=\"open recording\"",timeout=cmdTimeout)
|
|
212
|
+
#print(update)
|
|
213
|
+
m = re.search(r'\d+(\.\d+)?%', update)
|
|
214
|
+
if m: # A percentage was found
|
|
215
|
+
loadingStarted=True
|
|
216
|
+
found = float(m.group(0)[:-1])
|
|
217
|
+
user_interface.progressBar(found,100)
|
|
218
|
+
if found > 99.9: # This will catch the case we have 99.9999% or 100% loaded. recording with less that 1mill records auto return 100%
|
|
219
|
+
message = "Passed, Recording opened, loading detected and complete."
|
|
220
|
+
break
|
|
221
|
+
elif "Initialising main chart" in update:
|
|
222
|
+
loadingStarted = True
|
|
223
|
+
user_interface.progressBar(found, 100)
|
|
224
|
+
elif "Chart window is open but no loading is in progress." in update:
|
|
225
|
+
if loadingStarted == True:
|
|
226
|
+
# Loading started and has now ended, so we can exit the loop.
|
|
227
|
+
message="Passed, Recording opened, loading detected and complete."
|
|
228
|
+
break
|
|
229
|
+
else: # QPS has not started loading a recording.
|
|
230
|
+
if notLoadingMessageStartTime == None:
|
|
231
|
+
# Start a timer from now so that if loading doesn't take place between now and a timeout value,
|
|
232
|
+
# we exit, stating that no loading started within the desired time.
|
|
233
|
+
notLoadingMessageStartTime = time.time()
|
|
234
|
+
elif time.time() - notLoadingMessageStartTime> startOpenTimout:
|
|
235
|
+
message = "No detection that QPS started loading the recording within " + str(startOpenTimout) + "s."
|
|
236
|
+
break
|
|
237
|
+
|
|
238
|
+
time.sleep(pollInterval) # Sleep pollInterval time, so we are not hammering QPS for updates while its busy loading.
|
|
239
|
+
time.sleep(1) # sleep outside the loop as there is a
|
|
240
|
+
return message
|
|
241
|
+
|
|
242
|
+
|
|
158
243
|
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import socket
|
|
2
|
+
import logging
|
|
3
|
+
logger = logging.getLogger(__name__)
|
|
4
|
+
from time import time
|
|
1
5
|
try:
|
|
2
6
|
import httplib as httplib
|
|
3
7
|
except ImportError:
|
|
@@ -13,20 +17,29 @@ class ReSTConn:
|
|
|
13
17
|
def close(self):
|
|
14
18
|
return True
|
|
15
19
|
|
|
16
|
-
def sendCommand(self, Command, expectedResponse = True):
|
|
20
|
+
def sendCommand(self, Command, expectedResponse = True, max_retries=2):
|
|
17
21
|
Command = "/" + Command.replace(" ", "%20")
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
for attempt in range(0, max_retries ):
|
|
23
|
+
try:
|
|
24
|
+
self.Connection.request("GET", Command)
|
|
25
|
+
if expectedResponse == True:
|
|
26
|
+
R2 = self.Connection.getresponse()
|
|
27
|
+
if R2.status == 200:
|
|
28
|
+
Result = R2.read()
|
|
29
|
+
Result = Result.decode()
|
|
30
|
+
Result = Result.strip('> \t\n\r')
|
|
31
|
+
self.Connection.close()
|
|
32
|
+
return Result
|
|
33
|
+
else:
|
|
34
|
+
logger.error("FAIL - Please power cycle the module!")
|
|
35
|
+
self.Connection.close()
|
|
36
|
+
return "FAIL: ", R1.status, R1.reason
|
|
37
|
+
else:
|
|
38
|
+
return None
|
|
39
|
+
except socket.timeout as e:
|
|
40
|
+
if attempt < max_retries:
|
|
41
|
+
logger.warning("Socket timed out, retrying command...")
|
|
42
|
+
time.sleep(0.1)
|
|
43
|
+
else:
|
|
44
|
+
logger.error("Maximum number of retries reached on module at: "+self.ConnTarget+". Exiting.")
|
|
45
|
+
raise e
|
|
@@ -14,7 +14,7 @@ class TCPConn:
|
|
|
14
14
|
self.Connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
15
15
|
#Sets buffer size
|
|
16
16
|
self.BufferSize = 4096
|
|
17
|
-
#Opens the
|
|
17
|
+
#Opens the connection
|
|
18
18
|
self.Connection.connect((self.ConnTarget, TCP_PORT))
|
|
19
19
|
|
|
20
20
|
def close(self):
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
import
|
|
1
|
+
from telnetlib import Telnet
|
|
2
2
|
import time
|
|
3
|
+
#from telnetlib3 import Telnet
|
|
4
|
+
|
|
3
5
|
|
|
4
6
|
class TelnetConn:
|
|
5
7
|
def __init__(self, ConnTarget):
|
|
6
8
|
self.ConnTarget = ConnTarget
|
|
7
|
-
self.Connection =
|
|
9
|
+
self.Connection = Telnet(self.ConnTarget)
|
|
8
10
|
time.sleep(1)
|
|
9
11
|
self.Connection.read_very_eager()
|
|
10
12
|
|
|
11
13
|
def close(self):
|
|
12
14
|
self.Connection.close()
|
|
15
|
+
# The closed device reports as in use if a connection is opened to it within 0.05s.
|
|
16
|
+
# This happens during scanning as rest detects the device and shows it as "in use" Putting a sleep here
|
|
17
|
+
# allows time for the connection to be close,
|
|
18
|
+
time.sleep(0.15)
|
|
13
19
|
return True
|
|
14
20
|
|
|
15
21
|
def sendCommand(self, Command, expectedResponse = True):
|
|
@@ -4,6 +4,7 @@ import time
|
|
|
4
4
|
import os
|
|
5
5
|
import sys
|
|
6
6
|
import logging
|
|
7
|
+
logger = logging.getLogger(__name__)
|
|
7
8
|
import platform
|
|
8
9
|
import inspect
|
|
9
10
|
import ctypes
|
|
@@ -104,7 +105,7 @@ def USB(SerID = ''):
|
|
|
104
105
|
|
|
105
106
|
if quarchDevice == None:
|
|
106
107
|
if SerID.lower() != "list":
|
|
107
|
-
|
|
108
|
+
logger.critical('Quarch device ' + SerID + ' not found!')
|
|
108
109
|
return None
|
|
109
110
|
else:
|
|
110
111
|
QquarchDevice = TQuarchUSB_IF( context )
|
|
@@ -218,18 +219,18 @@ class TQuarchUSB_IF:
|
|
|
218
219
|
try:
|
|
219
220
|
self.Manufacturer = self.connection.getManufacturer()
|
|
220
221
|
except Exception as e:
|
|
221
|
-
|
|
222
|
+
logger.debug(e)
|
|
222
223
|
self.Manufacturer = "Error"
|
|
223
224
|
|
|
224
225
|
try:
|
|
225
226
|
self.Product = self.connection.getProduct()
|
|
226
227
|
except Exception as e:
|
|
227
|
-
|
|
228
|
+
logger.debug(e)
|
|
228
229
|
self.Product = "Error"
|
|
229
230
|
try:
|
|
230
231
|
self.SerialNumber = self.connection.getSerialNumber()
|
|
231
232
|
except Exception as e:
|
|
232
|
-
|
|
233
|
+
logger.debug(e)
|
|
233
234
|
self.SerialNumber = "Error"
|
|
234
235
|
self.VenderId = self.connection.device_descriptor.idVendor
|
|
235
236
|
self.ProductId = self.connection.device_descriptor.idProduct
|
|
@@ -371,7 +372,7 @@ class TQuarchUSB_IF:
|
|
|
371
372
|
|
|
372
373
|
def SendCommand( self, command ):
|
|
373
374
|
if self.isOpen == 0:
|
|
374
|
-
|
|
375
|
+
logger.debug(os.path.basename(__file__) + ".SendCommand: Device is not open, cannot send!")
|
|
375
376
|
self.lastError = 'RunCommand: Device Not Open'
|
|
376
377
|
return -1
|
|
377
378
|
try:
|
|
@@ -382,14 +383,14 @@ class TQuarchUSB_IF:
|
|
|
382
383
|
self.lastWriteByteCount = self.deviceHandle.bulkWrite( endpoint= self.QCmdEP, data= command + pad, timeout=self.timeout )
|
|
383
384
|
return self.lastWriteByteCount
|
|
384
385
|
except:
|
|
385
|
-
|
|
386
|
+
logger.error(os.path.basename(__file__) + ".SendCommand: Exception during bulkWrite process")
|
|
386
387
|
return -1
|
|
387
388
|
|
|
388
389
|
def BulkReadEPTout( self, ep, n, timeOut ):
|
|
389
390
|
try:
|
|
390
391
|
return self.deviceHandle.bulkRead( ep, n, timeOut )
|
|
391
392
|
except:
|
|
392
|
-
|
|
393
|
+
logger.error(os.path.basename(__file__) + ".BulkReadEPTout: Exception during bulkRead process")
|
|
393
394
|
return ''
|
|
394
395
|
|
|
395
396
|
def BulkReadEP( self, ep, n ):
|
|
@@ -473,7 +474,7 @@ class TQuarchUSB_IF:
|
|
|
473
474
|
retLineStr = self.deviceHandle.bulkRead( self.QCmdEP, self.QCmdEPSize, timeout )
|
|
474
475
|
# Exception can be due to device connection lost, or a temporary glitch that we can recover from
|
|
475
476
|
except Exception as ex:
|
|
476
|
-
|
|
477
|
+
logger.error(os.path.basename(__file__) + ".FetchCmdReplyTOut: bulkRead exception (" + str(ex) + ") during response read: " + response)
|
|
477
478
|
|
|
478
479
|
# Run a cleanup process and see if we can recover the response
|
|
479
480
|
flushed_response = self.clean_and_flush_stuck_usb_comms ()
|
|
@@ -512,10 +513,10 @@ class TQuarchUSB_IF:
|
|
|
512
513
|
# Transmit the command
|
|
513
514
|
length = self.SendCommand( command )
|
|
514
515
|
if length == -1:
|
|
515
|
-
|
|
516
|
+
logger.error(os.path.basename(__file__) + ".RunCommand: SendCommand failed for command: " + command)
|
|
516
517
|
return ''
|
|
517
518
|
elif (length != 64):
|
|
518
|
-
|
|
519
|
+
logger.error(os.path.basename(__file__) + ".RunCommand: Unexpected number of bytes reported as sent")
|
|
519
520
|
|
|
520
521
|
if expectedResponse:
|
|
521
522
|
# Read all the data back
|
|
@@ -548,7 +549,6 @@ class TQuarchUSB_IF:
|
|
|
548
549
|
def GetLastError(self):
|
|
549
550
|
return self.lastError
|
|
550
551
|
|
|
551
|
-
|
|
552
552
|
#
|
|
553
553
|
# Helper to return serial number
|
|
554
554
|
#
|
|
@@ -585,9 +585,8 @@ class TQuarchUSB_IF:
|
|
|
585
585
|
|
|
586
586
|
return retString
|
|
587
587
|
|
|
588
|
-
|
|
589
588
|
def DebugDump( self ):
|
|
590
|
-
if self.connection
|
|
589
|
+
if self.connection is None:
|
|
591
590
|
self.lastError = 'DebugDump: device Not Assigned'
|
|
592
591
|
return 0
|
|
593
592
|
|
|
File without changes
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import subprocess
|
|
3
|
+
import platform
|
|
4
|
+
|
|
5
|
+
import quarchpy_binaries
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def main():
|
|
9
|
+
|
|
10
|
+
# Check the current OS
|
|
11
|
+
current_os = platform.system()
|
|
12
|
+
if current_os != "Windows":
|
|
13
|
+
print("Fixing Permissions")
|
|
14
|
+
# Check the current OS
|
|
15
|
+
current_os = platform.system()
|
|
16
|
+
# JRE path
|
|
17
|
+
java_path = quarchpy_binaries.get_jre_home()
|
|
18
|
+
|
|
19
|
+
# Ensure the jres folder has the required permissions
|
|
20
|
+
subprocess.call(['chmod', '-R', '+rwx', java_path])
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def find_java_permissions():
|
|
24
|
+
# Check the current OS
|
|
25
|
+
current_os = platform.system()
|
|
26
|
+
# JRE path
|
|
27
|
+
java_path = quarchpy_binaries.get_jre_home()
|
|
28
|
+
|
|
29
|
+
# OS dependency
|
|
30
|
+
if current_os in "Windows":
|
|
31
|
+
java_path = os.path.join(java_path,"bin","java.exe")
|
|
32
|
+
elif current_os in "Linux":
|
|
33
|
+
java_path = java_path + "/bin/java"
|
|
34
|
+
elif current_os in "Darwin":
|
|
35
|
+
java_path = java_path + "/bin/java"
|
|
36
|
+
else: # default to windows
|
|
37
|
+
java_path = java_path + "\\bin\\java"
|
|
38
|
+
|
|
39
|
+
# Get the file status
|
|
40
|
+
st = os.stat(java_path)
|
|
41
|
+
# Extract the file permissions from the file status
|
|
42
|
+
permissions = st.st_mode
|
|
43
|
+
# Convert the file permissions to octal representation
|
|
44
|
+
permissions_octal = oct(permissions)
|
|
45
|
+
# Print the octal representation of the file permissions
|
|
46
|
+
message=("Permissions of file at {}: {}".format(java_path, permissions_octal))
|
|
47
|
+
|
|
48
|
+
execute_permissions = True
|
|
49
|
+
if int(permissions_octal[-3]) % 2 ==0:
|
|
50
|
+
execute_permissions = False
|
|
51
|
+
if int(permissions_octal[-2]) % 2 ==0:
|
|
52
|
+
execute_permissions = False
|
|
53
|
+
if int(permissions_octal[-1]) % 2 ==0:
|
|
54
|
+
execute_permissions = False
|
|
55
|
+
|
|
56
|
+
return execute_permissions, message
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
if __name__ == "__main__":
|
|
60
|
+
main()
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import platform # For getting the operating system name
|
|
2
|
+
import subprocess # For executing a shell command
|
|
3
|
+
import logging
|
|
4
|
+
logger = logging.getLogger(__name__)
|
|
5
|
+
from zeroconf import Zeroconf
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def ping(host):
|
|
9
|
+
"""
|
|
10
|
+
Returns True if host (str) responds to a ping request.
|
|
11
|
+
"""
|
|
12
|
+
# Option for the number of packets as a function of
|
|
13
|
+
param = '-n' if platform.system().lower() == 'windows' else '-c'
|
|
14
|
+
|
|
15
|
+
# Building the command. Ex: "ping -c 1 google.com"
|
|
16
|
+
command = ['ping', param, '1', host]
|
|
17
|
+
|
|
18
|
+
# Execute the ping command and capture the output and return code
|
|
19
|
+
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
|
20
|
+
|
|
21
|
+
# Check the return code and output to determine the result
|
|
22
|
+
if result.returncode == 0 and ("destination host unreachable" not in str(result.stdout).lower()):
|
|
23
|
+
return True # Ping successful
|
|
24
|
+
else:
|
|
25
|
+
return False # Ping failed
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class MyListener:
|
|
29
|
+
"""
|
|
30
|
+
MyListener class to handle service updates, removals, and additions in Zeroconf
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
_instance = None
|
|
34
|
+
|
|
35
|
+
@classmethod
|
|
36
|
+
def get_instance(cls):
|
|
37
|
+
"""
|
|
38
|
+
Get an instance of MyListener class. If none exists, create one.
|
|
39
|
+
"""
|
|
40
|
+
if cls._instance is None:
|
|
41
|
+
cls._instance = MyListener()
|
|
42
|
+
return cls._instance
|
|
43
|
+
|
|
44
|
+
def __init__(self):
|
|
45
|
+
"""
|
|
46
|
+
Initialize MyListener instance.
|
|
47
|
+
"""
|
|
48
|
+
self.found_devices = {}
|
|
49
|
+
self.mdns_service_running = False
|
|
50
|
+
self.zeroconf = None
|
|
51
|
+
self.target_conn = None
|
|
52
|
+
|
|
53
|
+
def update_service(self, zc, type_, name):
|
|
54
|
+
"""
|
|
55
|
+
Handle service update event.
|
|
56
|
+
"""
|
|
57
|
+
info = zc.get_service_info(type_, name)
|
|
58
|
+
if "Quarch:" in str(info):
|
|
59
|
+
# decode the incoming properties from mdns
|
|
60
|
+
decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
|
|
61
|
+
decoded_ip = ".".join(str(byte) for byte in info.addresses[0])
|
|
62
|
+
self.get_instance().add_device(decoded_properties, decoded_ip)
|
|
63
|
+
|
|
64
|
+
def remove_service(self, zc, type_, name):
|
|
65
|
+
"""
|
|
66
|
+
Handle service removal event.
|
|
67
|
+
"""
|
|
68
|
+
return None
|
|
69
|
+
|
|
70
|
+
def add_service(self, zc, type_, name):
|
|
71
|
+
"""
|
|
72
|
+
Handle service addition event.
|
|
73
|
+
"""
|
|
74
|
+
logger.debug("Adding service: " + name)
|
|
75
|
+
info = zc.get_service_info(type_, name)
|
|
76
|
+
# Log the service name
|
|
77
|
+
if "Quarch:" in str(info):
|
|
78
|
+
# decode the incoming properties from mdns
|
|
79
|
+
decoded_properties ={}
|
|
80
|
+
for key, value in info.properties.items():
|
|
81
|
+
decoded_properties[ key.decode('utf-8')]=value.decode('utf-8')
|
|
82
|
+
pass
|
|
83
|
+
#decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
|
|
84
|
+
decoded_ip = ".".join(str(byte) for byte in info.addresses[0])
|
|
85
|
+
self.get_instance().add_device(decoded_properties, decoded_ip)
|
|
86
|
+
|
|
87
|
+
def add_device(self, properties_dict, ip_address):
|
|
88
|
+
"""
|
|
89
|
+
Add a device to the found devices dictionary.
|
|
90
|
+
"""
|
|
91
|
+
logger.debug("Adding device: " +str(ip_address)+"\n"+str(properties_dict))
|
|
92
|
+
qtl_num = "QTL" + properties_dict['86'] if '86' in properties_dict else None
|
|
93
|
+
# Check if module contains REST connection
|
|
94
|
+
if '84' in properties_dict:
|
|
95
|
+
# Check the user specified connection type
|
|
96
|
+
if self.get_instance().target_conn == "all" or self.get_instance().target_conn == "rest":
|
|
97
|
+
if properties_dict['84'] == '80':
|
|
98
|
+
# print("Rest connection exists for device: " + qtl_num)
|
|
99
|
+
# Updates the found devices dict
|
|
100
|
+
self.get_instance().update_device_dict(device_dict={"REST:" + ip_address: qtl_num})
|
|
101
|
+
# Check if module contains TCP connection
|
|
102
|
+
if '85' in properties_dict:
|
|
103
|
+
# Check the user specified connection type
|
|
104
|
+
if self.get_instance().target_conn == "all" or self.get_instance().target_conn == "tcp":
|
|
105
|
+
if properties_dict['85'] == "9760":
|
|
106
|
+
# print("TCP connection exists for device: " + qtl_num)
|
|
107
|
+
# Updates the found devices dict
|
|
108
|
+
self.get_instance().update_device_dict(device_dict={"TCP:" + ip_address: qtl_num})
|
|
109
|
+
|
|
110
|
+
def update_device_dict(self, device_dict):
|
|
111
|
+
"""
|
|
112
|
+
Update the found devices dictionary.
|
|
113
|
+
"""
|
|
114
|
+
self.get_instance().found_devices.update(device_dict)
|
|
115
|
+
|
|
116
|
+
def get_found_devices(self):
|
|
117
|
+
"""
|
|
118
|
+
Get the found devices and perform ping check.
|
|
119
|
+
"""
|
|
120
|
+
temp_dict = self.get_instance().found_devices
|
|
121
|
+
remove_device = False
|
|
122
|
+
for key, value in list(temp_dict.items()):
|
|
123
|
+
can_ping = ping(key[key.index(":") + 1:])
|
|
124
|
+
if not can_ping:
|
|
125
|
+
remove_device=True # Remove the device if it can't be pinged
|
|
126
|
+
elif self.get_instance().target_conn not in key.lower() and self.get_instance().target_conn.lower() != "all":
|
|
127
|
+
remove_device = True # or if its of the wrong connection type.
|
|
128
|
+
if remove_device:
|
|
129
|
+
del self.get_instance().found_devices[key]
|
|
130
|
+
logger.debug("Returning found devices "+str(self.get_instance().found_devices))
|
|
131
|
+
return self.get_instance().found_devices
|
|
132
|
+
|
|
133
|
+
def get_zeroconf(self):
|
|
134
|
+
"""
|
|
135
|
+
Get the Zeroconf instance. If none exists, create one.
|
|
136
|
+
"""
|
|
137
|
+
if self.get_instance().zeroconf is None:
|
|
138
|
+
self.get_instance().zeroconf = Zeroconf()
|
|
139
|
+
return self.get_instance().zeroconf
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
#
|
|
10
10
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
# - setting control line -> answer is not checked (had problems with one of the
|
|
14
14
|
# severs). consider implementing a compatibility mode flag to make check
|
|
15
15
|
# conditional
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
# the order of the options is not relevant
|
|
60
60
|
|
|
61
61
|
import logging
|
|
62
|
+
logger = logging.getLogger(__name__)
|
|
62
63
|
import socket
|
|
63
64
|
import struct
|
|
64
65
|
import threading
|
|
@@ -570,7 +571,6 @@ class Serial(SerialBase):
|
|
|
570
571
|
# process options now, directly altering self
|
|
571
572
|
for option, values in urlparse.parse_qs(parts.query, True).items():
|
|
572
573
|
if option == 'logging':
|
|
573
|
-
logging.basicConfig() # XXX is that good to call it here?
|
|
574
574
|
self.logger = logging.getLogger('pySerial.rfc2217')
|
|
575
575
|
self.logger.setLevel(LOGGER_LEVELS[values[0]])
|
|
576
576
|
self.logger.debug('enabled logging')
|
|
@@ -98,9 +98,3 @@ def comports(include_links=False):
|
|
|
98
98
|
return [info
|
|
99
99
|
for info in [SysFS(d) for d in devices]
|
|
100
100
|
if info.subsystem != "platform"] # hide non-present internal serial ports
|
|
101
|
-
|
|
102
|
-
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
103
|
-
# test
|
|
104
|
-
if __name__ == '__main__':
|
|
105
|
-
for port, desc, hwid in sorted(comports()):
|
|
106
|
-
print("{}: {} [{}]".format(port, desc, hwid))
|
|
@@ -137,7 +137,7 @@ def get_int_property(device_type, property, cf_number_type):
|
|
|
137
137
|
|
|
138
138
|
|
|
139
139
|
def IORegistryEntryGetName(device):
|
|
140
|
-
pathname = ctypes.create_string_buffer(100)
|
|
140
|
+
pathname = ctypes.create_string_buffer(100)
|
|
141
141
|
iokit.IOObjectGetClass(device, ctypes.byref(pathname))
|
|
142
142
|
return pathname.value
|
|
143
143
|
|
|
@@ -253,8 +253,3 @@ def comports(include_links=False):
|
|
|
253
253
|
info.apply_usb_info()
|
|
254
254
|
ports.append(info)
|
|
255
255
|
return ports
|
|
256
|
-
|
|
257
|
-
# test
|
|
258
|
-
if __name__ == '__main__':
|
|
259
|
-
for port, desc, hwid in sorted(comports()):
|
|
260
|
-
print("{}: {} [{}]".format(port, desc, hwid))
|
|
@@ -110,8 +110,3 @@ also add the naming scheme of the serial ports and with a bit luck you can get
|
|
|
110
110
|
this module running...
|
|
111
111
|
""".format(sys.platform, os.name, serial.VERSION))
|
|
112
112
|
raise ImportError("Sorry: no implementation for your platform ('{}') available".format(os.name))
|
|
113
|
-
|
|
114
|
-
# test
|
|
115
|
-
if __name__ == '__main__':
|
|
116
|
-
for port, desc, hwid in sorted(comports()):
|
|
117
|
-
print("{}: {} [{}]".format(port, desc, hwid))
|
|
@@ -297,9 +297,3 @@ def iterate_comports():
|
|
|
297
297
|
def comports(include_links=False):
|
|
298
298
|
"""Return a list of info objects about serial ports"""
|
|
299
299
|
return list(iterate_comports())
|
|
300
|
-
|
|
301
|
-
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
302
|
-
# test
|
|
303
|
-
if __name__ == '__main__':
|
|
304
|
-
for port, desc, hwid in sorted(comports()):
|
|
305
|
-
print("{}: {} [{}]".format(port, desc, hwid))
|
|
@@ -49,7 +49,3 @@ def serial_class_for_url(url):
|
|
|
49
49
|
raise ValueError('class {!r} is not an instance of Serial'.format(class_name))
|
|
50
50
|
return (''.join([parts.netloc, parts.path]), cls)
|
|
51
51
|
|
|
52
|
-
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
53
|
-
if __name__ == '__main__':
|
|
54
|
-
s = serial.serial_for_url('alt:///dev/ttyS0?class=PosixPollSerial')
|
|
55
|
-
print(s)
|
|
@@ -82,8 +82,3 @@ class Serial(serial.Serial):
|
|
|
82
82
|
else:
|
|
83
83
|
raise serial.SerialException('no ports found matching regexp {!r}'.format(url))
|
|
84
84
|
|
|
85
|
-
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
86
|
-
if __name__ == '__main__':
|
|
87
|
-
s = Serial(None)
|
|
88
|
-
s.port = 'hwgrep://ttyS0'
|
|
89
|
-
print(s)
|