quarchpy 2.1.20.dev3__py2.py3-none-any.whl → 2.1.22__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.
- quarchpy/.idea/.name +1 -1
- quarchpy/.idea/modules.xml +1 -0
- quarchpy/.idea/quarchpy.iml +4 -1
- quarchpy/.idea/workspace.xml +231 -21
- quarchpy/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/__pycache__/_version.cpython-311.pyc +0 -0
- quarchpy/__pycache__/connection.cpython-311.pyc +0 -0
- quarchpy/__pycache__/run.cpython-311.pyc +0 -0
- quarchpy/_version.py +1 -1
- quarchpy/config_files/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/config_files/__pycache__/quarch_config_parser.cpython-311.pyc +0 -0
- quarchpy/connection_specific/QPS/qis/qis.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/{CInterface-1.7.8.jar → CInterface-1.8.0.jar} +0 -0
- quarchpy/connection_specific/QPS/{qps_lib/QuarchCommon-0.2.9.jar → qis/qis_lib/QuarchCommon-0.2.12.jar} +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jmdns-3.5.9.jar +0 -0
- quarchpy/connection_specific/QPS/qis/resources/filters/iec_filters.xml +0 -9
- quarchpy/connection_specific/QPS/qps.jar +0 -0
- quarchpy/connection_specific/QPS/{qis/qis_lib/QuarchCommon-0.2.9.jar → qps_lib/QuarchCommon-0.2.12.jar} +0 -0
- quarchpy/connection_specific/QPS/qps_lib/{qis-1.40.jar → qis-1.41.jar} +0 -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.scf +144 -0
- quarchpy/connection_specific/QPS/scriptCommands.txt +2 -2
- quarchpy/connection_specific/__pycache__/StreamChannels.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_QPS.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_ReST.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_Serial.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_TCP.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_Telnet.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_USB.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_mDNS.cpython-311.pyc +0 -0
- quarchpy/connection_specific/connection_QIS.py +8 -3
- quarchpy/connection_specific/serial/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/rfc2217.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/rs485.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialcli.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialjava.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialposix.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/win32.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/threaded/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/hexlify_codec.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_linux.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_osx.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_posix.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/miniterm.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_alt.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_hwgrep.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_loop.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_rfc2217.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_socket.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_spy.cpython-311.pyc +0 -0
- quarchpy/connection_specific/usb_libs/MS32/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/usb_libs/MS64/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/libusb1.cpython-311.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/usb1.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/SystemTest.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/__main__.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/module_debug.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/versionCompare.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/device.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/quarchArray.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/quarchPPM.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/quarchQPS.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/scanDevices.cpython-311.pyc +0 -0
- quarchpy/device/scanDevices.py +1 -1
- quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-311.pyc +0 -0
- quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-311.pyc +0 -0
- quarchpy/disk_test/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-311.pyc +0 -0
- quarchpy/docs/CHANGES.rst +10 -0
- quarchpy/docs/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/docs/__pycache__/conf.cpython-311.pyc +0 -0
- 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/CHANGES.html +142 -116
- quarchpy/docs/_build/html/_sources/CHANGES.rst.txt +20 -1
- quarchpy/docs/_build/html/_static/alabaster.css +9 -14
- quarchpy/docs/_build/html/_static/basic.css +1 -1
- quarchpy/docs/_build/html/_static/pygments.css +1 -1
- quarchpy/docs/_build/html/genindex.html +33 -11
- quarchpy/docs/_build/html/index.html +65 -62
- quarchpy/docs/_build/html/objects.inv +0 -0
- quarchpy/docs/_build/html/py-modindex.html +11 -7
- quarchpy/docs/_build/html/readme.html +6 -7
- quarchpy/docs/_build/html/search.html +6 -7
- quarchpy/docs/_build/html/searchindex.js +1 -1
- quarchpy/docs/_build/html/source/changelog.html +201 -171
- quarchpy/docs/_build/html/source/licenses.html +6 -7
- quarchpy/docs/_build/html/source/modules.html +7 -8
- quarchpy/docs/_build/html/source/quarchpy.calibration.html +6 -7
- quarchpy/docs/_build/html/source/quarchpy.config_files.html +6 -7
- quarchpy/docs/_build/html/source/quarchpy.connection_specific.html +9 -8
- quarchpy/docs/_build/html/source/quarchpy.debug.html +6 -7
- quarchpy/docs/_build/html/source/quarchpy.device.html +81 -12
- quarchpy/docs/_build/html/source/quarchpy.disk_test.html +6 -7
- quarchpy/docs/_build/html/source/quarchpy.fio.html +34 -9
- quarchpy/docs/_build/html/source/quarchpy.html +18 -8
- quarchpy/docs/_build/html/source/quarchpy.iometer.html +6 -7
- quarchpy/docs/_build/html/source/quarchpy.qis.html +23 -28
- quarchpy/docs/_build/html/source/quarchpy.qps.html +8 -9
- quarchpy/docs/_build/html/source/quarchpy.user_interface.html +15 -8
- quarchpy/docs/_build/html/source/quarchpy.utilities.html +6 -7
- quarchpy/docs/_build/html/source/readme.html +6 -7
- quarchpy/fio/__pycache__/FIO_interface.cpython-311.pyc +0 -0
- quarchpy/fio/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/fio/__pycache__/fioDiskFinder.cpython-311.pyc +0 -0
- quarchpy/fio/__pycache__/performanceClass.cpython-311.pyc +0 -0
- quarchpy/fio/__pycache__/test_performance_class.cpython-311.pyc +0 -0
- quarchpy/iometer/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/iometer/__pycache__/gen_iometer_template.cpython-311.pyc +0 -0
- quarchpy/iometer/__pycache__/iometerFuncs.cpython-311.pyc +0 -0
- quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-311.pyc +0 -0
- quarchpy/qis/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/qis/__pycache__/qisFuncs.cpython-311.pyc +0 -0
- quarchpy/qis/qisFuncs.py +4 -3
- quarchpy/qps/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc +0 -0
- quarchpy/qps/qpsFuncs.py +3 -1
- quarchpy/user_interface/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/user_interface/__pycache__/user_interface.cpython-311.pyc +0 -0
- quarchpy/user_interface/user_interface.py +17 -1
- quarchpy/utilities/__pycache__/BitManipulation.cpython-311.pyc +0 -0
- quarchpy/utilities/__pycache__/TestCenter.cpython-311.pyc +0 -0
- quarchpy/utilities/__pycache__/TimeValue.cpython-311.pyc +0 -0
- quarchpy/utilities/__pycache__/Version.cpython-311.pyc +0 -0
- quarchpy/utilities/__pycache__/__init__.cpython-311.pyc +0 -0
- {quarchpy-2.1.20.dev3.dist-info → quarchpy-2.1.22.dist-info}/METADATA +11 -1
- {quarchpy-2.1.20.dev3.dist-info → quarchpy-2.1.22.dist-info}/RECORD +162 -155
- quarchpy/.idea/inspectionProfiles/Project_Default.xml +0 -26
- quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.7.04.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/QuarchCommon-0.2.6.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/commons-csv-1.8.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/commons-lang3-3.2.1.jar +0 -0
- quarchpy/connection_specific/QPS/qis/resources/filters/filters.csv +0 -1004
- quarchpy/connection_specific/QPS/qis/resources/filters/iec_filters.xml.bak +0 -26
- quarchpy/connection_specific/QPS/qps_lib/QuarchCommon-0.2.6.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/commons-lang3-3.12.0.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/jfxtras-labs-8.0-r6.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/opencsv-5.9.jar +0 -0
- quarchpy/connection_specific/QPS/qps_lib/qis-1.39.jar +0 -0
- quarchpy/connection_specific/connection_QIS.py.bak +0 -1738
- quarchpy/debug/TextScanIP.py +0 -11
- quarchpy/device/device.py.bak +0 -504
- quarchpy/device/quarchPPM.py.bak +0 -67
- quarchpy/device/quarchQPS.py.bak +0 -396
- quarchpy/device/scanDevices.py.bak +0 -661
- quarchpy/docs/CHANGES.rst.bak +0 -364
- quarchpy/qps/qpsFuncs.py.bak +0 -231
- quarchpy/user_interface/user_interface.py.bak +0 -749
- quarchpy/utilities/TestCenter.py.bak +0 -150
- {quarchpy-2.1.20.dev3.dist-info → quarchpy-2.1.22.dist-info}/WHEEL +0 -0
- {quarchpy-2.1.20.dev3.dist-info → quarchpy-2.1.22.dist-info}/top_level.txt +0 -0
quarchpy/docs/CHANGES.rst.bak
DELETED
@@ -1,364 +0,0 @@
|
|
1
|
-
====================
|
2
|
-
Changelog (Quarchpy)
|
3
|
-
====================
|
4
|
-
Quarchpy
|
5
|
-
--------
|
6
|
-
*QuarchPy is a python package designed to provide an easy-to-use API which will work seamlessly over any connection option: USB, Serial and LAN. With it, you can create your own scripts for controlling Quarch devices - without having to worry about the low-level code involved with communication.*
|
7
|
-
|
8
|
-
*The package contains all prerequisites needed as a single PyPI project, which can be installed from the python online repository using PIP. This makes it easy to install and update, while also providing you with full access to the source code if you want to make changes or additions.*
|
9
|
-
|
10
|
-
*QuarchPy can also communicate to the device via QIS (Quarch Instrument Server), QPS (Quarch Power Studio), or simply using Python scripts. Both QIS and QPS are included with the QuarchPy Package - they are ready to use (Java and drivers may also be needed).*
|
11
|
-
|
12
|
-
|
13
|
-
Change Log
|
14
|
-
----------
|
15
|
-
|
16
|
-
2.1.19
|
17
|
-
------
|
18
|
-
- Imporoved QIS streaming
|
19
|
-
- Bug fixes
|
20
|
-
- Added zeroconf, numpy and pandas as requirements
|
21
|
-
|
22
|
-
2.1.17
|
23
|
-
------
|
24
|
-
- Improved QIS QPS launching on Linux sytems
|
25
|
-
- System debug for linux systems
|
26
|
-
|
27
|
-
2.1.16
|
28
|
-
------
|
29
|
-
- FIO mb/s parsing
|
30
|
-
- Improved QIS QPS launching
|
31
|
-
|
32
|
-
2.1.15
|
33
|
-
------
|
34
|
-
- minor bug fix
|
35
|
-
|
36
|
-
2.1.14
|
37
|
-
------
|
38
|
-
- minor bug fixes and logging improvements.
|
39
|
-
|
40
|
-
2.1.13
|
41
|
-
------
|
42
|
-
- New QPS v1.36
|
43
|
-
- New QIS v1.39
|
44
|
-
- minor bug fixes and logging improvements.
|
45
|
-
|
46
|
-
2.1.12
|
47
|
-
------
|
48
|
-
- New QPS v1.35
|
49
|
-
- New QIS v1.38
|
50
|
-
- minor bug fixes and removal of depracated code.
|
51
|
-
|
52
|
-
2.1.11
|
53
|
-
------
|
54
|
-
- New QPS v1.32
|
55
|
-
- New QIS v1.37
|
56
|
-
- quarchpy.run module_debug added for checking state of module and DUT
|
57
|
-
|
58
|
-
2.1.10
|
59
|
-
------
|
60
|
-
- New QPS v1.29
|
61
|
-
- New QIS v1.33
|
62
|
-
|
63
|
-
2.1.8
|
64
|
-
-----
|
65
|
-
- New QPS v1.28
|
66
|
-
|
67
|
-
2.1.7
|
68
|
-
-----
|
69
|
-
- New QPS v1.27
|
70
|
-
- New QIS v1.32
|
71
|
-
|
72
|
-
2.1.6
|
73
|
-
-----
|
74
|
-
- New QPS v1.26
|
75
|
-
- New QIS v1.31
|
76
|
-
|
77
|
-
2.1.5
|
78
|
-
-----
|
79
|
-
- New QPS v1.24
|
80
|
-
|
81
|
-
2.1.4
|
82
|
-
-----
|
83
|
-
- New QPS v1.23
|
84
|
-
- New QIS v1.29
|
85
|
-
|
86
|
-
2.1.3
|
87
|
-
-----
|
88
|
-
- New QPS v1.22
|
89
|
-
- modules on the network can now be connected to using conType:QTLNumber eg. TCP:QTL1999-02-001.
|
90
|
-
- fixed QIS not closing with QPS when launch with by QPS
|
91
|
-
- closeConnection added to QIS api
|
92
|
-
- display table formats multiline items and handles empty cells
|
93
|
-
|
94
|
-
2.1.2
|
95
|
-
-----
|
96
|
-
- QPS v1.20
|
97
|
-
- QIS v1.19
|
98
|
-
|
99
|
-
2.1.1
|
100
|
-
-----
|
101
|
-
- Seperation of QIS module scan and QIS select device
|
102
|
-
- Added getQuarchDevice which is a wrapper around quarchDevice that allows connections to sub-devices in array controllers over all connection types
|
103
|
-
- Version compare updated to use __version__ rather than pkg_resources
|
104
|
-
- Seperated the SystenTest (debug_info) into seperate parts with flags to allow the user to skip certain parts. This allows the test to be run without user interaction of selecting a module.
|
105
|
-
|
106
|
-
|
107
|
-
2.1.0
|
108
|
-
-----
|
109
|
-
- logging improvements
|
110
|
-
- usb locked devices fix for CentOS, Ubuntu, and Fedora
|
111
|
-
|
112
|
-
2.0.22
|
113
|
-
------
|
114
|
-
- Calibration and QCS removed from quarchpy and are not in their own packages
|
115
|
-
- New command "python -m quarchpy.run debug -usbfix" sets USB rules to fix quarch modules appearing as locked devices on Linux OS
|
116
|
-
|
117
|
-
2.0.21
|
118
|
-
------
|
119
|
-
- new QIS v1.23
|
120
|
-
|
121
|
-
2.0.20
|
122
|
-
------
|
123
|
-
- New modules added to calibration, wiring prompt added, logging improvements
|
124
|
-
- Fixes for PAM streaming using QIS
|
125
|
-
- Added Quarchpy.run list_drives
|
126
|
-
- Improved communication for connection_QPS
|
127
|
-
- Improved QCS debugging
|
128
|
-
- Reworked QCS drive detection for upcoming custom drive detection
|
129
|
-
- "quarchpy.run list_drives" command added
|
130
|
-
|
131
|
-
|
132
|
-
2.0.19
|
133
|
-
------
|
134
|
-
- QPS v1.17
|
135
|
-
- Quarchpy run terminal runs the simple python terminal to talk to modules
|
136
|
-
- Scan Specific IP address for Quarch module via QIS/QPS added
|
137
|
-
- Updated performance class for new QCS tests
|
138
|
-
- Fixed Centos QCS drive selection bug
|
139
|
-
- Improved QCS connection classes
|
140
|
-
- Improved features for QCS
|
141
|
-
- Minor bug fixes
|
142
|
-
|
143
|
-
2.0.18
|
144
|
-
------
|
145
|
-
- QPS 1.13
|
146
|
-
- Iomenter drive location bugfix
|
147
|
-
- Units added to stats export from QPS
|
148
|
-
- Changed QCS tests to work off of a python format
|
149
|
-
- Updated drive detection in QCS
|
150
|
-
- Updated communication to TLS
|
151
|
-
|
152
|
-
2.0.16
|
153
|
-
------
|
154
|
-
- QPS 1.11
|
155
|
-
|
156
|
-
2.0.15
|
157
|
-
------
|
158
|
-
- QIS v1.19.03 and QPS 1.10.12
|
159
|
-
- Updated debug info test
|
160
|
-
- Snapshots and stats from QPS functions added
|
161
|
-
- Calibration updates
|
162
|
-
|
163
|
-
2.0.14
|
164
|
-
------
|
165
|
-
- QPS annotations through quarchpy improvements
|
166
|
-
|
167
|
-
2.0.13
|
168
|
-
------
|
169
|
-
- Python2 bug fixes
|
170
|
-
- UI tidy up
|
171
|
-
- New custom annotations and comments QPS API
|
172
|
-
|
173
|
-
2.0.12
|
174
|
-
------
|
175
|
-
- Fixed issue with array module scan over UDP outside of subnet
|
176
|
-
- Bug fix for HD connection via USB in linux
|
177
|
-
- Added headless launch of QIS
|
178
|
-
- Added Shinx auto documentation
|
179
|
-
- Fixed issue with USB command response timeout in longer QCS tests
|
180
|
-
- Fixed issue where UDP locate parser was using the legacy header, not the quarch fields
|
181
|
-
- Improved qurchpy.run oarsing and help generation
|
182
|
-
- Fixed syntax warnings for string literal comparisons
|
183
|
-
- Calibration wait for specific module uptime and report file updates
|
184
|
-
|
185
|
-
2.0.11
|
186
|
-
------
|
187
|
-
- Improved list selection for devices
|
188
|
-
- Fixed bug when scanning for devices within an Array
|
189
|
-
- Module detection fixes for QCS and PAM/Rev-B HD
|
190
|
-
- Clean up of calibration switchbox code and user logging
|
191
|
-
|
192
|
-
2.0.10
|
193
|
-
------
|
194
|
-
- QCS server logging cleaned up
|
195
|
-
- Additional platform tests added to debug_info test
|
196
|
-
- Cleaned up print() statements and replaced with logging calls
|
197
|
-
- Help message added to quarchpy.run command
|
198
|
-
- Module detection fixes for QCS
|
199
|
-
- Improved calibration prompts
|
200
|
-
- Added initial calibration stubs for the PAM
|
201
|
-
- QCS improvements to linux drive enumeration tests
|
202
|
-
|
203
|
-
2.0.9
|
204
|
-
-----
|
205
|
-
- Significant QCS additions including power testing
|
206
|
-
- Added remote switchbox to calibration utility
|
207
|
-
- Various minor bug fixes and improvements to calibration utility
|
208
|
-
|
209
|
-
2.0.8
|
210
|
-
-----
|
211
|
-
- Added readme.md for PyPi description
|
212
|
-
- Fixed bug in QIS when checking if QIS is running
|
213
|
-
- Various minor additions for QCS
|
214
|
-
|
215
|
-
2.0.7
|
216
|
-
-----
|
217
|
-
- Changes since 2.0.2
|
218
|
-
- Minor bug fixes
|
219
|
-
- Calibration Changes
|
220
|
-
- QIS folder gone, QIS now in QPS only
|
221
|
-
- Run package added
|
222
|
-
- Update quarchpy added
|
223
|
-
- SystemTest improvements
|
224
|
-
- UI changes, input validation, smart port select
|
225
|
-
|
226
|
-
2.0.2
|
227
|
-
-----
|
228
|
-
- UI Package added
|
229
|
-
- Connection over TCP for python added
|
230
|
-
- Logging on devices
|
231
|
-
- Drive test core added
|
232
|
-
|
233
|
-
2.0.0
|
234
|
-
-----
|
235
|
-
- Major folder restructure
|
236
|
-
- Added test center support
|
237
|
-
- Detected streaming devices
|
238
|
-
- Added latest qps1.09 and qis
|
239
|
-
- Minor bug fixes
|
240
|
-
|
241
|
-
1.8.0
|
242
|
-
-----
|
243
|
-
|
244
|
-
- Tab to white space convert
|
245
|
-
- Updated __init__ file to co-allign with python practices
|
246
|
-
- Updated project structure
|
247
|
-
- Added documents for changes and Script Locations
|
248
|
-
- Disk selection update
|
249
|
-
- Compatibility with Python 3 and Linux Improved!
|
250
|
-
|
251
|
-
1.7.6
|
252
|
-
-----
|
253
|
-
|
254
|
-
- Fixes bug with usb connection
|
255
|
-
|
256
|
-
1.7.5
|
257
|
-
-----
|
258
|
-
- Fixed USB DLL Compatibility
|
259
|
-
- Fixed potential path issues with Qis and Qps open
|
260
|
-
|
261
|
-
1.7.4
|
262
|
-
-----
|
263
|
-
|
264
|
-
- Updated to QPS 1.08
|
265
|
-
|
266
|
-
1.7.3
|
267
|
-
-----
|
268
|
-
|
269
|
-
- Additional Bug Fixes
|
270
|
-
|
271
|
-
1.7.2
|
272
|
-
-----
|
273
|
-
|
274
|
-
- Bug fixing timings for QIS (LINUX + WINDOWS)
|
275
|
-
|
276
|
-
1.7.1
|
277
|
-
-----
|
278
|
-
|
279
|
-
- Updated FIO for use with Linux and to allow arguments without values
|
280
|
-
- Fixes path problem on Linux
|
281
|
-
- Fixes FIO on Linux
|
282
|
-
|
283
|
-
1.7.0
|
284
|
-
-----
|
285
|
-
|
286
|
-
- Improved compatability with Windows and Ubuntu
|
287
|
-
|
288
|
-
1.6.1
|
289
|
-
------
|
290
|
-
|
291
|
-
- Updating USB Scan
|
292
|
-
- Adding functionality to specify OS bit architecture (windows)
|
293
|
-
|
294
|
-
1.6.0
|
295
|
-
-----
|
296
|
-
- custom $scan IP
|
297
|
-
- fixes QIS detection
|
298
|
-
- implements custom separator for stream files
|
299
|
-
- Bug fix - QIS Load
|
300
|
-
|
301
|
-
1.5.4
|
302
|
-
-----
|
303
|
-
|
304
|
-
- Updating README and LICENSE
|
305
|
-
|
306
|
-
1.5.2
|
307
|
-
-----
|
308
|
-
|
309
|
-
- Bug Fix - Case sensitivity issue with devices
|
310
|
-
|
311
|
-
1.5.1
|
312
|
-
-----
|
313
|
-
|
314
|
-
- Additional Bug Fixes
|
315
|
-
|
316
|
-
1.5.0
|
317
|
-
-----
|
318
|
-
|
319
|
-
- Integration with FIO
|
320
|
-
- Additional QPS functionality
|
321
|
-
- Added device search timeout
|
322
|
-
|
323
|
-
1.4.1
|
324
|
-
-----
|
325
|
-
|
326
|
-
- Fixed the wmi error when importing quarchpy.
|
327
|
-
|
328
|
-
1.4.0
|
329
|
-
---
|
330
|
-
|
331
|
-
- Integration with QPS
|
332
|
-
- supports Iometer testing
|
333
|
-
- Additional fixes for wait times
|
334
|
-
|
335
|
-
1.3.4
|
336
|
-
-----
|
337
|
-
|
338
|
-
- Implemented resampling and a better way to launch QIS from the script.
|
339
|
-
|
340
|
-
1.3.3
|
341
|
-
-----
|
342
|
-
|
343
|
-
- Implements isQisRunning
|
344
|
-
- Implements qisInterface
|
345
|
-
- Changes startLocalQIS to startLocalQis
|
346
|
-
- Fixes a bug in QIS interface listDevices that didn't allow it to work with Python 3
|
347
|
-
|
348
|
-
1.3.2
|
349
|
-
-----
|
350
|
-
|
351
|
-
- Bug Fix running QIS locally
|
352
|
-
|
353
|
-
1.3.1
|
354
|
-
-----
|
355
|
-
|
356
|
-
- Implements startLocalQIS
|
357
|
-
- Packs QIS v1.6 - fixes the bugs with QIS >v1.6 and multiple modules
|
358
|
-
- Updates quarchPPM (connection_specific)
|
359
|
-
- Compatible with x6 PPM QIS stream.
|
360
|
-
|
361
|
-
1.2.0
|
362
|
-
-----
|
363
|
-
|
364
|
-
- Changes to object model
|
quarchpy/qps/qpsFuncs.py.bak
DELETED
@@ -1,231 +0,0 @@
|
|
1
|
-
import os, sys
|
2
|
-
import datetime
|
3
|
-
import time, platform
|
4
|
-
from quarchpy.qis import isQisRunning, startLocalQis
|
5
|
-
from quarchpy.connection_specific.connection_QIS import QisInterface
|
6
|
-
from quarchpy.connection_specific.connection_QPS import QpsInterface
|
7
|
-
from quarchpy.user_interface import *
|
8
|
-
import subprocess
|
9
|
-
import logging
|
10
|
-
|
11
|
-
|
12
|
-
def isQpsRunning(host='127.0.0.1', port=9822, timeout=0):
|
13
|
-
'''
|
14
|
-
This func will return true if QPS is running with a working QIS connection. This is becuase
|
15
|
-
'''
|
16
|
-
myQps=None
|
17
|
-
logging.debug("Checking if QPS is running")
|
18
|
-
start = time.time()
|
19
|
-
while True:
|
20
|
-
try:
|
21
|
-
myQps = QpsInterface(host, port)
|
22
|
-
break
|
23
|
-
except Exception as e:
|
24
|
-
logging.debug("Error when making QPS interface. QPS may not be running.")
|
25
|
-
logging.debug(e)
|
26
|
-
if (time.time() - start) > timeout:
|
27
|
-
break
|
28
|
-
if myQps is None:
|
29
|
-
logging.debug("QPS is not running")
|
30
|
-
return False
|
31
|
-
|
32
|
-
logging.debug("Checking if QPS reports a QIS connection") # "$qis status" returns connected if it has ever had a QIS connection.
|
33
|
-
answer=0
|
34
|
-
counter=0
|
35
|
-
while True:
|
36
|
-
answer = myQps.sendCmdVerbose(cmd="$qis status")
|
37
|
-
if answer.lower()=="connected":
|
38
|
-
logging.debug("QPS Running With QIS Connected")
|
39
|
-
break
|
40
|
-
else:
|
41
|
-
logging.debug("QPS Running QIS NOT found. Waiting and retrying.")
|
42
|
-
time.sleep(0.5)
|
43
|
-
counter += 1
|
44
|
-
if counter > 5:
|
45
|
-
logging.debug("QPS Running QIS NOT found after "+str(counter)+" attempts.")
|
46
|
-
return False
|
47
|
-
|
48
|
-
logging.debug("Checking if QPS/QIS comms are running")
|
49
|
-
start = time.time()
|
50
|
-
while True:
|
51
|
-
try:
|
52
|
-
answer = myQps.sendCmdVerbose(cmd="$list")
|
53
|
-
break
|
54
|
-
except:
|
55
|
-
pass
|
56
|
-
if (time.time() - start) > timeout:
|
57
|
-
break
|
58
|
-
|
59
|
-
# check for a 1 showing the first module to be displayed, or a no module/device error message.
|
60
|
-
if answer[0] == "1" or "no device" in str(answer).lower() or "no module" in str(answer).lower():
|
61
|
-
logging.debug("QPS and QIS are running and responding with valid $list info")
|
62
|
-
return True
|
63
|
-
else:
|
64
|
-
logging.debug("QPS did not return expected output from $list")
|
65
|
-
logging.debug("$list: " + str(answer))
|
66
|
-
return False
|
67
|
-
|
68
|
-
|
69
|
-
def startLocalQps(keepQisRunning=False, args=[]):
|
70
|
-
if keepQisRunning:
|
71
|
-
if not isQisRunning():
|
72
|
-
startLocalQis()
|
73
|
-
temp =""
|
74
|
-
args = temp.join(args)
|
75
|
-
|
76
|
-
QpsPath = os.path.dirname(os.path.abspath(__file__))
|
77
|
-
QpsPath, junk = os.path.split(QpsPath)
|
78
|
-
QpsPath = os.path.join(QpsPath, "connection_specific", "QPS", "qps.jar")
|
79
|
-
|
80
|
-
current_direc = os.getcwd()
|
81
|
-
|
82
|
-
os.chdir(os.path.dirname(QpsPath))
|
83
|
-
|
84
|
-
command = "-jar \"" + QpsPath + "\""
|
85
|
-
|
86
|
-
currentOs = platform.system()
|
87
|
-
|
88
|
-
if currentOs in "Windows":
|
89
|
-
if "-logging=ON" not in str(args):
|
90
|
-
command = "start /high /b javaw -Djava.awt.headless=true " + command + " " + str(args)
|
91
|
-
else:
|
92
|
-
command = "java " + command + " " + str(args)
|
93
|
-
# command = "start /high /b javaw -Djava.awt.headless=true " + command + " " + str(args) # Running application with this method seems to prevent QPS from logging to terminal
|
94
|
-
# command = command + " -ccs=HIDE" # note: multiple -ccs options ignored
|
95
|
-
os.system(command)
|
96
|
-
elif currentOs in "Linux":
|
97
|
-
command = command + "-ccs=HIDE"
|
98
|
-
if sys.version_info[0] < 3:
|
99
|
-
os.popen2("java " + command + " 2>&1")
|
100
|
-
else:
|
101
|
-
os.popen("java " + command + " 2>&1")
|
102
|
-
else: # default to Windows
|
103
|
-
command = "start /high /b javaw -Djava.awt.headless=true " + command + " " + str(args)
|
104
|
-
command = command + " -ccs=HIDE"
|
105
|
-
os.system(command)
|
106
|
-
|
107
|
-
while not isQpsRunning():
|
108
|
-
time.sleep(0.3)
|
109
|
-
pass
|
110
|
-
|
111
|
-
os.chdir(current_direc)
|
112
|
-
|
113
|
-
|
114
|
-
def closeQps(host='127.0.0.1', port=9822):
|
115
|
-
myQps = QpsInterface(host, port)
|
116
|
-
myQps.sendCmdVerbose("$shutdown")
|
117
|
-
del myQps
|
118
|
-
time.sleep(1) #needed as calling "isQpsRunning()" will throw an error if it ties to connect while shutdown is in progress.
|
119
|
-
|
120
|
-
def GetQpsModuleSelection(QpsConnection, favouriteOnly=True, additionalOptions=['rescan', 'all con types', 'ip scan'], scan=True):
|
121
|
-
favourite = favouriteOnly
|
122
|
-
ip_address = None
|
123
|
-
while True:
|
124
|
-
printText("QPS scanning for devices")
|
125
|
-
tableHeaders = ["Module"]
|
126
|
-
# Request a list of all USB and LAN accessible power modules
|
127
|
-
if ip_address == None:
|
128
|
-
devList = QpsConnection.getDeviceList(scan=scan)
|
129
|
-
else:
|
130
|
-
devList = QpsConnection.getDeviceList(scan=scan, ipAddress=ip_address)
|
131
|
-
if "no device" in devList[0].lower() or "no module" in devList[0].lower():
|
132
|
-
favourite = False # If no device found conPref wont match and will bugout
|
133
|
-
|
134
|
-
# Removes rest devices
|
135
|
-
devList = [x for x in devList if "rest" not in x]
|
136
|
-
message = "Select a quarch module"
|
137
|
-
|
138
|
-
if (favourite):
|
139
|
-
index = 0
|
140
|
-
sortedDevList = []
|
141
|
-
conPref = ["USB", "TCP", "SERIAL", "REST", "TELNET"]
|
142
|
-
while len(sortedDevList) != len(devList):
|
143
|
-
for device in devList:
|
144
|
-
if conPref[index] in device.upper():
|
145
|
-
sortedDevList.append(device)
|
146
|
-
index += 1
|
147
|
-
devList = sortedDevList
|
148
|
-
|
149
|
-
# new dictionary only containing one favourite connection to each device.
|
150
|
-
favConDevList = []
|
151
|
-
index = 0
|
152
|
-
for device in sortedDevList:
|
153
|
-
if (favConDevList == [] or not device.split("::")[1] in str(favConDevList)):
|
154
|
-
favConDevList.append(device)
|
155
|
-
devList = favConDevList
|
156
|
-
|
157
|
-
if User_interface.instance != None and User_interface.instance.selectedInterface == "testcenter":
|
158
|
-
tempString = ""
|
159
|
-
for module in devList:
|
160
|
-
tempString+=module+"="+module+","
|
161
|
-
devList = tempString[0:-1]
|
162
|
-
|
163
|
-
|
164
|
-
myDeviceID = listSelection(title=message, message=message, selectionList=devList,
|
165
|
-
additionalOptions=additionalOptions, nice=True, tableHeaders=tableHeaders, indexReq=True)
|
166
|
-
|
167
|
-
if myDeviceID in 'rescan':
|
168
|
-
ip_address = None
|
169
|
-
favourite = True
|
170
|
-
continue
|
171
|
-
elif myDeviceID in 'all con types':
|
172
|
-
printText('Displaying all conection types...')
|
173
|
-
favourite = False
|
174
|
-
continue
|
175
|
-
elif myDeviceID in 'ip scan':
|
176
|
-
ip_address = requestDialog("Please input IP Address of the module you would like to connect to: ")
|
177
|
-
favourite = False
|
178
|
-
continue
|
179
|
-
else:
|
180
|
-
return myDeviceID
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
'''
|
186
|
-
Legacy function to handle old scripts which call an adjustTime function to get QPS format time.
|
187
|
-
This is now done in the QPS module level, so this function returns a integer linux millisecond value
|
188
|
-
as per the old one
|
189
|
-
'''
|
190
|
-
|
191
|
-
|
192
|
-
def legacyAdjustTime(timestamp):
|
193
|
-
return timestamp
|
194
|
-
|
195
|
-
|
196
|
-
'''
|
197
|
-
Simple function to convert a timestamp or Python datetime object into QPS format time
|
198
|
-
QPS requires time in mS with no decimal point, so this is converted here
|
199
|
-
'''
|
200
|
-
|
201
|
-
|
202
|
-
def toQpsTimeStamp(timestamp):
|
203
|
-
"""
|
204
|
-
DEPRICATED - QPS expects time passed as a sring and error hadling is done in QPS.
|
205
|
-
Returns the parameter passed as a valid qps timestamp
|
206
|
-
Assumes
|
207
|
-
|
208
|
-
# 1620817118182 - ACCEPTED value for QPS - Milliseconds, 13 chars
|
209
|
-
|
210
|
-
# 1620817126 - time.time() Value - Seconds
|
211
|
-
|
212
|
-
:param int/float/datetime: Timestamp, mS
|
213
|
-
:return: int : QPS valid time, mS
|
214
|
-
"""
|
215
|
-
|
216
|
-
# Python datetime object
|
217
|
-
if (type(timestamp) is datetime):
|
218
|
-
newTime = time.mktime(timestamp.timetuple())
|
219
|
-
return int(newTime * 1000)
|
220
|
-
# If numeric, assume standard unix time in milliseconds
|
221
|
-
elif (type(timestamp) is float or type(timestamp) is int):
|
222
|
-
return int(timestamp)
|
223
|
-
else:
|
224
|
-
# Try if its a numeric value string first (assumed to be milliseconds)
|
225
|
-
try:
|
226
|
-
timestamp = float(timestamp)
|
227
|
-
return int(timestamp)
|
228
|
-
# Fall back to assuming a standard format time string
|
229
|
-
except:
|
230
|
-
newTime = time.mktime(datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S:%f").timetuple())
|
231
|
-
return int(newTime * 1000)
|