quarchpy 2.1.26__py2.py3-none-any.whl → 2.1.27.dev1__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. quarchpy/_version.py +1 -1
  2. quarchpy/_version.py.bak +1 -0
  3. quarchpy/connection_specific/mDNS.py +20 -5
  4. quarchpy/connection_specific/mDNS.py.bak +126 -0
  5. {quarchpy-2.1.26.dist-info → quarchpy-2.1.27.dev1.dist-info}/METADATA +1 -1
  6. {quarchpy-2.1.26.dist-info → quarchpy-2.1.27.dev1.dist-info}/RECORD +8 -61
  7. quarchpy/__pycache__/__init__.cpython-311.pyc +0 -0
  8. quarchpy/__pycache__/_version.cpython-311.pyc +0 -0
  9. quarchpy/__pycache__/connection.cpython-311.pyc +0 -0
  10. quarchpy/__pycache__/run.cpython-311.pyc +0 -0
  11. quarchpy/config_files/__pycache__/__init__.cpython-311.pyc +0 -0
  12. quarchpy/config_files/__pycache__/quarch_config_parser.cpython-311.pyc +0 -0
  13. quarchpy/connection_specific/__pycache__/StreamChannels.cpython-311.pyc +0 -0
  14. quarchpy/connection_specific/__pycache__/__init__.cpython-311.pyc +0 -0
  15. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc +0 -0
  16. quarchpy/connection_specific/__pycache__/connection_QPS.cpython-311.pyc +0 -0
  17. quarchpy/connection_specific/__pycache__/connection_ReST.cpython-311.pyc +0 -0
  18. quarchpy/connection_specific/__pycache__/connection_Serial.cpython-311.pyc +0 -0
  19. quarchpy/connection_specific/__pycache__/connection_TCP.cpython-311.pyc +0 -0
  20. quarchpy/connection_specific/__pycache__/connection_USB.cpython-311.pyc +0 -0
  21. quarchpy/connection_specific/__pycache__/mDNS.cpython-311.pyc +0 -0
  22. quarchpy/connection_specific/serial/__pycache__/__init__.cpython-311.pyc +0 -0
  23. quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-311.pyc +0 -0
  24. quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-311.pyc +0 -0
  25. quarchpy/connection_specific/serial/__pycache__/win32.cpython-311.pyc +0 -0
  26. quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-311.pyc +0 -0
  27. quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-311.pyc +0 -0
  28. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-311.pyc +0 -0
  29. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-311.pyc +0 -0
  30. quarchpy/debug/__pycache__/SystemTest.cpython-311.pyc +0 -0
  31. quarchpy/debug/__pycache__/__init__.cpython-311.pyc +0 -0
  32. quarchpy/debug/__pycache__/module_debug.cpython-311.pyc +0 -0
  33. quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc +0 -0
  34. quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc +0 -0
  35. quarchpy/debug/__pycache__/versionCompare.cpython-311.pyc +0 -0
  36. quarchpy/device/__pycache__/__init__.cpython-311.pyc +0 -0
  37. quarchpy/device/__pycache__/device.cpython-311.pyc +0 -0
  38. quarchpy/device/__pycache__/quarchArray.cpython-311.pyc +0 -0
  39. quarchpy/device/__pycache__/quarchPPM.cpython-311.pyc +0 -0
  40. quarchpy/device/__pycache__/quarchQPS.cpython-311.pyc +0 -0
  41. quarchpy/device/__pycache__/scanDevices.cpython-311.pyc +0 -0
  42. quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-311.pyc +0 -0
  43. quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-311.pyc +0 -0
  44. quarchpy/disk_test/__pycache__/__init__.cpython-311.pyc +0 -0
  45. quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-311.pyc +0 -0
  46. quarchpy/fio/__pycache__/FIO_interface.cpython-311.pyc +0 -0
  47. quarchpy/fio/__pycache__/__init__.cpython-311.pyc +0 -0
  48. quarchpy/iometer/__pycache__/__init__.cpython-311.pyc +0 -0
  49. quarchpy/iometer/__pycache__/gen_iometer_template.cpython-311.pyc +0 -0
  50. quarchpy/iometer/__pycache__/iometerFuncs.cpython-311.pyc +0 -0
  51. quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-311.pyc +0 -0
  52. quarchpy/qis/__pycache__/__init__.cpython-311.pyc +0 -0
  53. quarchpy/qis/__pycache__/qisFuncs.cpython-311.pyc +0 -0
  54. quarchpy/qps/__pycache__/__init__.cpython-311.pyc +0 -0
  55. quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc +0 -0
  56. quarchpy/user_interface/__pycache__/__init__.cpython-311.pyc +0 -0
  57. quarchpy/user_interface/__pycache__/user_interface.cpython-311.pyc +0 -0
  58. quarchpy/utilities/__pycache__/TestCenter.cpython-311.pyc +0 -0
  59. quarchpy/utilities/__pycache__/TimeValue.cpython-311.pyc +0 -0
  60. quarchpy/utilities/__pycache__/Version.cpython-311.pyc +0 -0
  61. quarchpy/utilities/__pycache__/__init__.cpython-311.pyc +0 -0
  62. {quarchpy-2.1.26.dist-info → quarchpy-2.1.27.dev1.dist-info}/WHEEL +0 -0
  63. {quarchpy-2.1.26.dist-info → quarchpy-2.1.27.dev1.dist-info}/top_level.txt +0 -0
quarchpy/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2.1.26"
1
+ __version__ = "2.1.27.dev1"
@@ -0,0 +1 @@
1
+ __version__ = "2.1.26"
@@ -1,6 +1,6 @@
1
1
  import platform # For getting the operating system name
2
2
  import subprocess # For executing a shell command
3
-
3
+ import logging
4
4
  from zeroconf import Zeroconf
5
5
 
6
6
 
@@ -70,17 +70,27 @@ class MyListener:
70
70
  """
71
71
  Handle service addition event.
72
72
  """
73
+ logging.warning("Adding service: " +name)
73
74
  info = zc.get_service_info(type_, name)
75
+ # Log the service name
74
76
  if "Quarch:" in str(info):
75
77
  # decode the incoming properties from mdns
76
- decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
78
+ decoded_properties ={}
79
+ for key, value in info.properties.items():
80
+ decoded_properties[ key.decode('utf-8')]=value.decode('utf-8')
81
+ pass
82
+ #decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
77
83
  decoded_ip = ".".join(str(byte) for byte in info.addresses[0])
78
84
  self.get_instance().add_device(decoded_properties, decoded_ip)
79
85
 
86
+
87
+
88
+
80
89
  def add_device(self, properties_dict, ip_address):
81
90
  """
82
91
  Add a device to the found devices dictionary.
83
92
  """
93
+ logging.warning("Adding device: " +str(ip_address)+"\n"+str(properties_dict))
84
94
  qtl_num = "QTL" + properties_dict['86'] if '86' in properties_dict else None
85
95
  # Check if module contains REST connection
86
96
  if '84' in properties_dict:
@@ -110,11 +120,16 @@ class MyListener:
110
120
  Get the found devices and perform ping check.
111
121
  """
112
122
  temp_dict = self.get_instance().found_devices
123
+ remove_device = False
113
124
  for key, value in list(temp_dict.items()):
114
- result = ping(key[key.index(":") + 1:])
115
- if not result or self.get_instance().target_conn not in key.lower():
125
+ can_ping = ping(key[key.index(":") + 1:])
126
+ if can_ping is False:
127
+ remove_device=True # Remove the device if it can't be pinged
128
+ elif self.get_instance().target_conn not in key.lower() and self.get_instance().target_conn.lower() != "all":
129
+ remove_device = True # or if its of the wrong connection type.
130
+ if remove_device is True:
116
131
  del self.get_instance().found_devices[key]
117
- print(str(self.get_instance().found_devices))
132
+ logging.warning("Returning found devices "+str(self.get_instance().found_devices))
118
133
  return self.get_instance().found_devices
119
134
 
120
135
  def get_zeroconf(self):
@@ -0,0 +1,126 @@
1
+ import platform # For getting the operating system name
2
+ import subprocess # For executing a shell command
3
+
4
+ from zeroconf import Zeroconf
5
+
6
+
7
+ def ping(host):
8
+ """
9
+ Returns True if host (str) responds to a ping request.
10
+ """
11
+ # Option for the number of packets as a function of
12
+ param = '-n' if platform.system().lower() == 'windows' else '-c'
13
+
14
+ # Building the command. Ex: "ping -c 1 google.com"
15
+ command = ['ping', param, '1', host]
16
+
17
+ # Execute the ping command and capture the output and return code
18
+ result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
19
+
20
+ # Check the return code and output to determine the result
21
+ if result.returncode == 0 and ("destination host unreachable" not in str(result.stdout).lower()):
22
+ return True # Ping successful
23
+ else:
24
+ return False # Ping failed
25
+
26
+
27
+ class MyListener:
28
+ """
29
+ MyListener class to handle service updates, removals, and additions in Zeroconf
30
+ """
31
+
32
+ _instance = None
33
+
34
+ @classmethod
35
+ def get_instance(cls):
36
+ """
37
+ Get an instance of MyListener class. If none exists, create one.
38
+ """
39
+ if cls._instance is None:
40
+ cls._instance = MyListener()
41
+ return cls._instance
42
+
43
+ def __init__(self):
44
+ """
45
+ Initialize MyListener instance.
46
+ """
47
+ self.found_devices = {}
48
+ self.mdns_service_running = False
49
+ self.zeroconf = None
50
+ self.target_conn = None
51
+
52
+ def update_service(self, zc, type_, name):
53
+ """
54
+ Handle service update event.
55
+ """
56
+ info = zc.get_service_info(type_, name)
57
+ if "Quarch:" in str(info):
58
+ # decode the incoming properties from mdns
59
+ decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
60
+ decoded_ip = ".".join(str(byte) for byte in info.addresses[0])
61
+ self.get_instance().add_device(decoded_properties, decoded_ip)
62
+
63
+ def remove_service(self, zc, type_, name):
64
+ """
65
+ Handle service removal event.
66
+ """
67
+ return None
68
+
69
+ def add_service(self, zc, type_, name):
70
+ """
71
+ Handle service addition event.
72
+ """
73
+ info = zc.get_service_info(type_, name)
74
+ if "Quarch:" in str(info):
75
+ # decode the incoming properties from mdns
76
+ decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
77
+ decoded_ip = ".".join(str(byte) for byte in info.addresses[0])
78
+ self.get_instance().add_device(decoded_properties, decoded_ip)
79
+
80
+ def add_device(self, properties_dict, ip_address):
81
+ """
82
+ Add a device to the found devices dictionary.
83
+ """
84
+ qtl_num = "QTL" + properties_dict['86'] if '86' in properties_dict else None
85
+ # Check if module contains REST connection
86
+ if '84' in properties_dict:
87
+ # Check the user specified connection type
88
+ if self.get_instance().target_conn == "all" or self.get_instance().target_conn == "rest":
89
+ if properties_dict['84'] == '80':
90
+ # print("Rest connection exists for device: " + qtl_num)
91
+ # Updates the found devices dict
92
+ self.get_instance().update_device_dict(device_dict={"REST:" + ip_address: qtl_num})
93
+ # Check if module contains TCP connection
94
+ if '85' in properties_dict:
95
+ # Check the user specified connection type
96
+ if self.get_instance().target_conn == "all" or self.get_instance().target_conn == "tcp":
97
+ if properties_dict['85'] == "9760":
98
+ # print("TCP connection exists for device: " + qtl_num)
99
+ # Updates the found devices dict
100
+ self.get_instance().update_device_dict(device_dict={"TCP:" + ip_address: qtl_num})
101
+
102
+ def update_device_dict(self, device_dict):
103
+ """
104
+ Update the found devices dictionary.
105
+ """
106
+ self.get_instance().found_devices.update(device_dict)
107
+
108
+ def get_found_devices(self):
109
+ """
110
+ Get the found devices and perform ping check.
111
+ """
112
+ temp_dict = self.get_instance().found_devices
113
+ for key, value in list(temp_dict.items()):
114
+ result = ping(key[key.index(":") + 1:])
115
+ if not result or self.get_instance().target_conn not in key.lower():
116
+ del self.get_instance().found_devices[key]
117
+ print(str(self.get_instance().found_devices))
118
+ return self.get_instance().found_devices
119
+
120
+ def get_zeroconf(self):
121
+ """
122
+ Get the Zeroconf instance. If none exists, create one.
123
+ """
124
+ if self.get_instance().zeroconf is None:
125
+ self.get_instance().zeroconf = Zeroconf()
126
+ return self.get_instance().zeroconf
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quarchpy
3
- Version: 2.1.26
3
+ Version: 2.1.27.dev1
4
4
  Summary: This packpage offers Python support for Quarch Technology modules.
5
5
  Author: Quarch Technology ltd
6
6
  Author-email: support@quarch.com
@@ -2,13 +2,10 @@ quarchpy/LICENSE.rst,sha256=SmYK6o5Xs2xRaUwYT-HqNDRu9eygu6y9QwweXNttiRc,3690
2
2
  quarchpy/QuarchPy Function Listing.xlsx,sha256=NE68cZPn7b9P3wcnCsnQr3H6yBkt6D5S6dH6457X520,31245
3
3
  quarchpy/README.txt,sha256=-LbrJ5rCPGSxoBmvr9CxJVokQUDwZSjoHa43eN8bWck,980
4
4
  quarchpy/__init__.py,sha256=0aEaJ1Aduzm1g_1OvibCDm5j2PcZAh-OPdVWiXZwF_E,3090
5
- quarchpy/_version.py,sha256=uKPPbYGJhuvI06hojQEsU3vkHqRcSfGBb86tXnI1xSE,22
5
+ quarchpy/_version.py,sha256=WWjnvlkpr-SpOVTU3Sjn9-vb_HlOoYscltX3psRTbK8,27
6
+ quarchpy/_version.py.bak,sha256=uKPPbYGJhuvI06hojQEsU3vkHqRcSfGBb86tXnI1xSE,22
6
7
  quarchpy/connection.py,sha256=9lPIUP4LCWkFAedc8CWorDY-3ujdAA-cyeNkSBdIv9E,2226
7
8
  quarchpy/run.py,sha256=mRp9IGPs-wdGisKK1FG_9DciFx_V0LePH5mfkTPhsd4,9681
8
- quarchpy/__pycache__/__init__.cpython-311.pyc,sha256=2jWZMGK2L33nauwpbyFiYTKWM2vXKsTiRmwKXsz2eV8,5044
9
- quarchpy/__pycache__/_version.cpython-311.pyc,sha256=C_vV0pGgMlE7tYgkdAxEHi64AgwZQ_uU2Bk4xQyOAx0,193
10
- quarchpy/__pycache__/connection.cpython-311.pyc,sha256=Qdq86N73132xW-TWTIQmgCAXVPbO9DCVzIWdrQ3nV58,3647
11
- quarchpy/__pycache__/run.cpython-311.pyc,sha256=uHmT3imM-t2K1dPo0QRXXgNnSSiExrwfnoQf1YrqNu0,11330
12
9
  quarchpy/config_files/__init__.py,sha256=bP9FM5hjP0r7s8qmWqcsVjAfHM0B4XY7cz5sTpe2HDA,290
13
10
  quarchpy/config_files/quarch_config_parser.py,sha256=mjP-uO58hVlHm25ZAFjX9Zwhn8z0np4vveLNHtx8Bt4,28891
14
11
  quarchpy/config_files/Cable_Modules/QTL1253-01 - Mini SAS Module Config v3.5 c1.3.qfg,sha256=hJnFfjsqiNZXYWHx2kn43Gnr2xqmJth4GGVd8VKU5_k,4923
@@ -221,8 +218,6 @@ quarchpy/config_files/Switch_Modules/QTL1490-xx - SATA Keyed HS Module Config v4
221
218
  quarchpy/config_files/Switch_Modules/QTL1530-xx - 1-8 DP MUX Module Config v4.000.qfg,sha256=LXfFCsOhfq23zMMawLybV7TLq2-NgDzy7xuANsYykOw,2937
222
219
  quarchpy/config_files/Switch_Modules/QTL1564-xx - 12 Port Mini SAS HD MUX Module Config v4.000.qfg,sha256=BLxvMtnvzrnaltQ1MOfghE5iilYx0weQyhgHm5isEMc,3754
223
220
  quarchpy/config_files/Switch_Modules/QTL1584-xx - 1-4 ExpressCard MUX Module Config v4.000.qfg,sha256=SxUIw_hoWjGFD-WyQl57jNpjS5D1k4SqbGYINsydu_c,1520
224
- quarchpy/config_files/__pycache__/__init__.cpython-311.pyc,sha256=lbw-LoMbva8rrIeaOVHHtmNrsPqVuKwt9ornOaw9q-Q,483
225
- quarchpy/config_files/__pycache__/quarch_config_parser.cpython-311.pyc,sha256=LxxEH4oTD35PDz8MgjHhWiVcNCUL9g-eO8Yq8yuew5Y,28152
226
221
  quarchpy/connection_specific/StreamChannels.py,sha256=_xBEgDpTCeQue-bsv3fwO3aN1JPWvbuvK3ZwTgvXB4c,601
227
222
  quarchpy/connection_specific/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
223
  quarchpy/connection_specific/connection_QIS.py,sha256=pYnNYU32M5g_tInT8vjquWVNfeFLjAh2imIh2rl1TLc,84667
@@ -232,7 +227,8 @@ quarchpy/connection_specific/connection_Serial.py,sha256=j0KTxOX7c5rmu09s68sqOzH
232
227
  quarchpy/connection_specific/connection_TCP.py,sha256=hkKJC9QkopBaaWnWB9xz9LRlvcvGAwvz9w3RxRDXfgc,2427
233
228
  quarchpy/connection_specific/connection_Telnet.py,sha256=e5R6NIbyOJOhiRUtBg0S1tY4VGJXrFPhrJcfM9mJD2c,676
234
229
  quarchpy/connection_specific/connection_USB.py,sha256=zReNq-pFjcZN83pp8zE7XsCmM6KrVujVG1v2CdYb5oQ,26156
235
- quarchpy/connection_specific/mDNS.py,sha256=BHFI-5wbplNMvE9Xw9XQWKeAl37RdpOxYMJNeGteCT0,5000
230
+ quarchpy/connection_specific/mDNS.py,sha256=xZFX-tTQv50jAUP1QylS59dyfns_P3oGB-6YCnPLzw0,5728
231
+ quarchpy/connection_specific/mDNS.py.bak,sha256=BHFI-5wbplNMvE9Xw9XQWKeAl37RdpOxYMJNeGteCT0,5000
236
232
  quarchpy/connection_specific/QPS/Power-Studio-QuickStart.pdf,sha256=8ihSKl-8F7Bc_ndVd0cyN3RhkvXeKTK-tXA-xITiTr0,226994
237
233
  quarchpy/connection_specific/QPS/QuarchPowerStudio.properties.xml,sha256=o1SpNKFyGQ0oZBnn5vTnEF9ORSMSOI422yTMxoTRWhA,28486
238
234
  quarchpy/connection_specific/QPS/commandLineOptions.txt,sha256=dhLmE966icLLmjj25nSDMGJxKWldhNplx0DBUFxcrWg,661
@@ -325,15 +321,6 @@ quarchpy/connection_specific/QPS/resources/QuarchIcon_32x32.png,sha256=lAacFdUnz
325
321
  quarchpy/connection_specific/QPS/resources/QuarchIcon_64x64.png,sha256=5AKs5vpm0kppyBYUT6J3uDC88Jhd5b8bI2yuV2YvYRI,3589
326
322
  quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_DEFAULT.scf,sha256=chYHStobI-z8ZeNTtfyLoFECSX6QAANk3xYC9R5WLSA,6001
327
323
  quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_FULL.scf,sha256=cxAhAocxwSBWa4jaBlvIOjwUz7zfCb1V6nJVkOrLlGE,9946
328
- quarchpy/connection_specific/__pycache__/StreamChannels.cpython-311.pyc,sha256=G2_O55cKe85WPf6Mvwn8WtZdxwdZ8TuhZ0SeZqf6K3k,1970
329
- quarchpy/connection_specific/__pycache__/__init__.cpython-311.pyc,sha256=AhGe25_TW0OB6JcAHoAn2fpQhMH9P7TAuoxvdd-ib_4,192
330
- quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc,sha256=Bu0m09S1DCIRvhaSkgyKjr6wPEs3vvUNpfy_doAWNxU,82676
331
- quarchpy/connection_specific/__pycache__/connection_QPS.cpython-311.pyc,sha256=VGQelWBvAFWb-cTgch-KdGK4TQj8ARtvcKcNuAeae84,12340
332
- quarchpy/connection_specific/__pycache__/connection_ReST.cpython-311.pyc,sha256=dcXrfpHvw07EBxvs6U36LkeMaVqi9GmPeqDl-MeDqDw,2950
333
- quarchpy/connection_specific/__pycache__/connection_Serial.cpython-311.pyc,sha256=n78tzuCjLtrzPTSF8bGKUrOzuLMFHxzdYT6bHz1ZR6g,2863
334
- quarchpy/connection_specific/__pycache__/connection_TCP.cpython-311.pyc,sha256=Wa7JHkqJebkZ-4TrRoXWcNow5gBhE3xULLQK6ogsVHA,3024
335
- quarchpy/connection_specific/__pycache__/connection_USB.cpython-311.pyc,sha256=Hy5yNN6E5ebNos_w2awUGpLj55HyqwBARNssX4fnCyg,30314
336
- quarchpy/connection_specific/__pycache__/mDNS.cpython-311.pyc,sha256=gjd-kDx5Grr4wFtUBd249YeSVWo9ifM3OH1yWebsVdY,7659
337
324
  quarchpy/connection_specific/serial/__init__.py,sha256=2MXI5_UH-k_ebcv8Gx5LwIBTv4ysX3AyNt6RpYEeTTE,3165
338
325
  quarchpy/connection_specific/serial/rfc2217.py,sha256=n6Z6D2WrJg_GhGD-OB4jeaLuQcT6v3lFWnlmqVXBJXA,59444
339
326
  quarchpy/connection_specific/serial/rs485.py,sha256=O2YbxLMlziEX1N39WOukrlhMWcYzVwiP95FBhMmUIHc,3265
@@ -343,10 +330,6 @@ quarchpy/connection_specific/serial/serialposix.py,sha256=LUDorzZNdg2rpou_Ys0drl
343
330
  quarchpy/connection_specific/serial/serialutil.py,sha256=V-AeEMJyl8GvijaiildLRY8k-IOAZpW-YeBxHV2iDvg,21692
344
331
  quarchpy/connection_specific/serial/serialwin32.py,sha256=tMa-81Oh1c4g5nHf86v2eDnLKb7JHAG-vEQZfq2q_Jo,20087
345
332
  quarchpy/connection_specific/serial/win32.py,sha256=-GiHVB-QFrQfD4vHelhaEccwfW__6kC2S_46lIYLVsM,10853
346
- quarchpy/connection_specific/serial/__pycache__/__init__.cpython-311.pyc,sha256=43eWND-6gKD1De-XfTaOI-UYkQpYyyp8bP4A4IV05C4,3245
347
- quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-311.pyc,sha256=0g3Pn36Zj4yehh9r9wVCR3_cL7v9EHDRzo8ckMPDwFc,29273
348
- quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-311.pyc,sha256=wf5yYnBYgwtAfMAaBVgiVcObr9LvziZGibs9JbVQmpA,25057
349
- quarchpy/connection_specific/serial/__pycache__/win32.cpython-311.pyc,sha256=BuJcztdhTb76v32KPSSrn5YnzPKOOvBLZ9pD8_ka-CI,9535
350
333
  quarchpy/connection_specific/serial/threaded/__init__.py,sha256=EHay8pD__ePKaa-WvweNjWe9V1SUgZMefNnayVyiwRw,9272
351
334
  quarchpy/connection_specific/serial/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
352
335
  quarchpy/connection_specific/serial/tools/hexlify_codec.py,sha256=1lvd2TFWYUsYMRt7nsyw0VfHTRfl57Hl6kdCmNhMkC4,3637
@@ -357,10 +340,6 @@ quarchpy/connection_specific/serial/tools/list_ports_osx.py,sha256=omNNZ4yYAEQfQ
357
340
  quarchpy/connection_specific/serial/tools/list_ports_posix.py,sha256=EFZtHqrOGYoLpAp-2Qjfro3G9NlceFkghoEzGBoSko4,4358
358
341
  quarchpy/connection_specific/serial/tools/list_ports_windows.py,sha256=Y43XEmCQIHjqTts3HSt0RDIODIs4DwiikoeMFw-a2WQ,11119
359
342
  quarchpy/connection_specific/serial/tools/miniterm.py,sha256=tRUuxzukL2wIF8GWCK67DlhENZXfMcUXhdprUwpe0XQ,35085
360
- quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-311.pyc,sha256=9Bv37oN7Gia-9dQw-88vqhcPYGIij7z7VPH1Yr9ul1U,205
361
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-311.pyc,sha256=_CV3ssvQtORJExP-0yiCr6A2se2aA5lj0N1kYwCf1Zo,4580
362
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-311.pyc,sha256=XZEaxiPBlSWQVMaZAIa83bSYUz5-cSLj9eWH_7hXzvA,5141
363
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-311.pyc,sha256=bD7ClM21QWwjNC4u0YgkUY8UPbPmpELf2si-Sf_rNxs,12004
364
343
  quarchpy/connection_specific/serial/urlhandler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
365
344
  quarchpy/connection_specific/serial/urlhandler/protocol_alt.py,sha256=9appz9cI17w_6wPcKPDnSK340eiaG-iHBYDm91qAbxg,1803
366
345
  quarchpy/connection_specific/serial/urlhandler/protocol_hwgrep.py,sha256=nEU26Rjo4GhEXG2Q1zdy7shyb3_dgXZFF94qPblawsk,2950
@@ -383,32 +362,16 @@ quarchpy/debug/module_debug.py,sha256=OjfqANBQq-4S-r_pQlCutwEO3iyNAep3T_r0sb6ju0
383
362
  quarchpy/debug/simple_terminal.py,sha256=YkkPQWUuG8OofrX2lce3LoxWHbDQmeJ3g2goCqrrULo,2030
384
363
  quarchpy/debug/upgrade_quarchpy.py,sha256=Yt8K1JPhmPH85WwvELGgGugHBtzC8amp7Gr0YNkqwL0,4298
385
364
  quarchpy/debug/versionCompare.py,sha256=AkJxHKd6hsnXnWr-Pmo3tc2sekL9uKOvGhYksM1dgp0,2397
386
- quarchpy/debug/__pycache__/SystemTest.cpython-311.pyc,sha256=JFhSk4s_iQq7isfcqpsWMhrQr6aLc9Fjg3zXElPSBww,10761
387
- quarchpy/debug/__pycache__/__init__.cpython-311.pyc,sha256=cVIlvxrxqYynaPH7oUJ9l1LH9QG0gisvIRpVbqX6Khw,178
388
- quarchpy/debug/__pycache__/module_debug.cpython-311.pyc,sha256=EqWvin3m6KpIKDfLxpPnrydOEb0TX98MPmtqCoaBKqE,12301
389
- quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc,sha256=EKdFot8v6xHE7rkuXCopRb1yVhAa8566c3rWuNM2py0,2796
390
- quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc,sha256=yfmVcF1PLVf4molU-xVpOhJfGPP_S__U2mhSe9DwOcI,6004
391
- quarchpy/debug/__pycache__/versionCompare.cpython-311.pyc,sha256=JEkYcu7XuQSvpFrcoayCje3TyoaXe9EHc-ayhGncA4Q,2633
392
365
  quarchpy/device/__init__.py,sha256=quGTPdm5o0RsLBCwPLWA_LWMQjCgdkbh1MCcX89-rGU,559
393
366
  quarchpy/device/device.py,sha256=HEMhdfoDqyg3SUYKK2uuZeFB6VKjerld4J7f1SGk3CU,25461
394
367
  quarchpy/device/quarchArray.py,sha256=_8z6P1wCtIs2kkkAzNRc1YrT-NmGRvzd3btqa-Yl3Hc,2816
395
368
  quarchpy/device/quarchPPM.py,sha256=DnqkdxDjyu533RL2ZL0ISpe2nSXTkm4O6jFqAnZZf6g,3271
396
369
  quarchpy/device/quarchQPS.py,sha256=D6v0l-MwoABP3Lz5l3bnLJMfIpghAZZ319j4m5RRKvw,18780
397
370
  quarchpy/device/scanDevices.py,sha256=Lp1nEuztY7YdVFSZYUJtZ2XGaTjji7ird2H7fwQJRtw,29546
398
- quarchpy/device/__pycache__/__init__.cpython-311.pyc,sha256=FaNSKD6QlLF9XxEWk0lSLwp1G4ziej7st8D5R1O23c0,800
399
- quarchpy/device/__pycache__/device.cpython-311.pyc,sha256=kQRI98tbHzg1tc0Ypf3wOEfaIGfzIdBbrGDhKIDaGtU,26091
400
- quarchpy/device/__pycache__/quarchArray.cpython-311.pyc,sha256=jPSgFJHImZVDPINMNCvGpydPBCvLrxRCeq0RcyXPQXs,3847
401
- quarchpy/device/__pycache__/quarchPPM.cpython-311.pyc,sha256=hpIb2MPR9zCib21ceSXrpoHyLusAuWx3S-PnBIqGiCc,4836
402
- quarchpy/device/__pycache__/quarchQPS.cpython-311.pyc,sha256=ElfUhSZoBeHkN4Aj_uhJlkfTcY8RJYgGHWRhkHE_cIU,23300
403
- quarchpy/device/__pycache__/scanDevices.cpython-311.pyc,sha256=VVNv1eyGx9o6q16WndtviCUSTmPpd1tkU1oMceElJP4,33047
404
371
  quarchpy/disk_test/AbsDiskFinder.py,sha256=QhtekaSSKubikGM7aqZ916u7Cc22FLEB7CqGiEvdByc,377
405
372
  quarchpy/disk_test/DiskTargetSelection.py,sha256=BY3zc7mg7FPxEp9OB2yRkyYIHRwrAB6U0XrsSWZrKU4,925
406
373
  quarchpy/disk_test/__init__.py,sha256=3-LXyQMX5macnPaHc8J3mcJQ7faTInycD8-skQYyFbE,59
407
374
  quarchpy/disk_test/iometerDiskFinder.py,sha256=hdZpGbhzXRctI58bqhi3_ZVrmVtB03tIQNHgH-RZBxM,6986
408
- quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-311.pyc,sha256=0rEtYD0qP-5WV4l6026GcGrOw1iQ7hXaG-3nTFwEDfM,1051
409
- quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-311.pyc,sha256=f_Jgoi2u7fa_e5blVPLmBhTXRUpHX3oUcv59PHGU5Gg,953
410
- quarchpy/disk_test/__pycache__/__init__.cpython-311.pyc,sha256=QgnbvqvNukMQr-ruc5xgAl9tFjUbNOXrMPgmQSASUyQ,262
411
- quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-311.pyc,sha256=jc-ga2-VjOIlqB17BfdJSzHCCI005MHw2wA1rmtuofk,8169
412
375
  quarchpy/docs/CHANGES.rst,sha256=KSd2gxcar3LvlXfJ3lhzlTwe1Sep-P_AGVqeek0p8nU,8991
413
376
  quarchpy/docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
414
377
  quarchpy/docs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -521,40 +484,24 @@ quarchpy/fio/__init__.py,sha256=keB7UPgsLZ8PNdnM5UKdAVPW3PBMTz6vT0AfQaigGZ0,61
521
484
  quarchpy/fio/fioDiskFinder.py,sha256=BfQMvIVDJzhuvmu8hmjO0xOecZ1KkCAiL98FQTcQXqQ,2965
522
485
  quarchpy/fio/performanceClass.py,sha256=HuhKBIb6z2yaZUU8VeKCls0PR0u82aJvKFOqb-eoZH4,38530
523
486
  quarchpy/fio/test_performance_class.py,sha256=bjU8taCRWPdPL4hoDqZbdzBTKihOPTmqYCaI2ZZG_Xo,20793
524
- quarchpy/fio/__pycache__/FIO_interface.cpython-311.pyc,sha256=NRSjQJTmSBzxw4NvqfJsj6DtXcuIlKZzwvTUKK9XKVw,12016
525
- quarchpy/fio/__pycache__/__init__.cpython-311.pyc,sha256=ToxxKpcTRGQdw-cmXGC0HjbZRSt5fgWj1h7Voh1BJvY,261
526
487
  quarchpy/iometer/IometerTemplate.dat,sha256=BxaoPvJlAxpLgVt0y9T1jAisvZNggto9JlrVjqDifO4,2008
527
488
  quarchpy/iometer/__init__.py,sha256=mTPgmKsVUhvaXGqDq009vAGYZ0qrSf4W2QqWLhqGEVk,314
528
489
  quarchpy/iometer/gen_iometer_template.py,sha256=f0YM786dG4c1Bioq6zeclG83r8HBaffO2Pmt-hFDwkw,2163
529
490
  quarchpy/iometer/iometerFuncs.py,sha256=qc0GK2SiCUHU_7mGL0z35MyNCdTcfSEf2wR1zti6KDY,14178
530
- quarchpy/iometer/__pycache__/__init__.cpython-311.pyc,sha256=Rr_bEpMGbNM8sHccf0sLxgDIFrzs45L_kLj05QCiaIs,503
531
- quarchpy/iometer/__pycache__/gen_iometer_template.cpython-311.pyc,sha256=NPXAOYmoImqzRfYX4L8lPLxNrJJx___5hZbx1zHjcw4,2612
532
- quarchpy/iometer/__pycache__/iometerFuncs.cpython-311.pyc,sha256=TWT9ZtWwg5FFVE0thsQwIPJzogkKvUfYma0tniDOSvM,14056
533
491
  quarchpy/qis/StreamHeaderInfo.py,sha256=ynKRSnZPrRK6qtREbn4YQgweY-WWlP98-gl1YB1syh8,8150
534
492
  quarchpy/qis/__init__.py,sha256=QRVPy96G7RUx6ldofcD-xNN4NHeNjkasSu8DXkyRB0k,307
535
493
  quarchpy/qis/qisFuncs.py,sha256=sAstq4IxAZQCrAW9wz5KuIxkIrZib4BwPkopkiZunSY,10139
536
- quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-311.pyc,sha256=IG61yGMTz7xWPJC5datHFsel6X52RmnpUBity-ldEig,7552
537
- quarchpy/qis/__pycache__/__init__.cpython-311.pyc,sha256=x5qIeGI4IxRwxNAKoBqZlWDVxBQXcvC9ZPkBpxq2AuM,539
538
- quarchpy/qis/__pycache__/qisFuncs.cpython-311.pyc,sha256=ZYExbhJtxORq_urf2pq9GG1AIcQ0WOEDbRtudSjyf5k,12336
539
494
  quarchpy/qps/__init__.py,sha256=5urxSvqUWmonIrhyvrSQDpNtZubfVEU8JrqRmzm4wH0,303
540
495
  quarchpy/qps/qpsFuncs.py,sha256=YYV57e8dbbIa3obj80VKdgg7-cIFxTeol5E2ZQuAiUs,10850
541
496
  quarchpy/qps/qpsFuncs.py.bak,sha256=HyUglcfYZahkzb3Xn_HeRpA6LJc-jNF7sha2BYlAU5E,10809
542
- quarchpy/qps/__pycache__/__init__.cpython-311.pyc,sha256=jvjekvqLMOTNtBG8g578r1XeDKcVAYBxWn42V1BmHP0,534
543
- quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc,sha256=c6sLNiQOk2_-2KMpZV7RN9Vd1DSJjKm4KN_6L6oTCR8,13939
544
497
  quarchpy/user_interface/__init__.py,sha256=ix0icQvmKUTRgvfhXK3PxiDGyITkPYY-08hFjuhbupo,298
545
498
  quarchpy/user_interface/user_interface.py,sha256=fuyoX-J0O-3Kod-FngCk5dttVJViLfDIqcIOfxB1MV4,30128
546
- quarchpy/user_interface/__pycache__/__init__.cpython-311.pyc,sha256=lA2a4D0xvPix7_Y406z0avOo6pJqTtf2YdvIZuKOo_I,228
547
- quarchpy/user_interface/__pycache__/user_interface.cpython-311.pyc,sha256=lAzXXVnEK7xDYWYe76Hfj6Wm7ukrUlTaTPXSlAcuQus,33144
548
499
  quarchpy/utilities/BitManipulation.py,sha256=vLw2PF5z-d-2MY_yEU0l9FEBYTlCklM336XU2vPKAas,1016
549
500
  quarchpy/utilities/TestCenter.py,sha256=Andm9hBxIFU34snWc6uVGEVEqVbvF62Rh3czSx3kouc,4805
550
501
  quarchpy/utilities/TimeValue.py,sha256=nZUBT3nKICMy0zqz97fmF9sDy1h4aCdNIS7yXl0S3as,2157
551
502
  quarchpy/utilities/Version.py,sha256=i57qRgHwGSXf2wPVVNUZfG9Tu6f5hWxZLPy7XCw2WkQ,1578
552
503
  quarchpy/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
553
- quarchpy/utilities/__pycache__/TestCenter.cpython-311.pyc,sha256=FGOex9bcka0QAPi6KPhDlwjP2Mm_bcEqf0Prm7c3oWw,7283
554
- quarchpy/utilities/__pycache__/TimeValue.cpython-311.pyc,sha256=4n6jOCWaXVY0nEm2Mh8Z-Ig676r5NYj_kGB3eyF9Uts,2638
555
- quarchpy/utilities/__pycache__/Version.cpython-311.pyc,sha256=B72AQRhao4kM3FsZqJpS9n1m3YpHc50c5NniIq_t2Eg,2667
556
- quarchpy/utilities/__pycache__/__init__.cpython-311.pyc,sha256=10eqDIVemhcsF-iosD0LtfH5p5TwOUBrDikoTmvgv7E,182
557
- quarchpy-2.1.26.dist-info/METADATA,sha256=s62KqtON1KAAUXqH2dcIYukoErrVbGvnurDibwLBFF8,9837
558
- quarchpy-2.1.26.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
559
- quarchpy-2.1.26.dist-info/top_level.txt,sha256=Vc7qsvkVax7oeBaBy_e7kvJvqb_VAAJcW_MuDMmi5W8,9
560
- quarchpy-2.1.26.dist-info/RECORD,,
504
+ quarchpy-2.1.27.dev1.dist-info/METADATA,sha256=6OxkpFdSZKih87rqGp6vZiB_QBOkHERjCe0GBnOgLuI,9842
505
+ quarchpy-2.1.27.dev1.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
506
+ quarchpy-2.1.27.dev1.dist-info/top_level.txt,sha256=Vc7qsvkVax7oeBaBy_e7kvJvqb_VAAJcW_MuDMmi5W8,9
507
+ quarchpy-2.1.27.dev1.dist-info/RECORD,,
Binary file