quarchpy 2.1.10.dev4__py3-none-any.whl → 2.1.10.dev6__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/_version.py +1 -1
- quarchpy/config_files/Power_Margining/~-c/QTL1824-01 - Power Margining Module V2 - Triggering v4.000.qfg +81 -0
- quarchpy/config_files/Power_Margining/~-c/QTL1824-01 - Power Margining Module V2 - Triggering v4.200.qfg +82 -0
- quarchpy/config_files/Power_Margining/~-c/QTL1824-01 - Power Margining Module V2 - Triggering v4.202.qfg +88 -0
- quarchpy/config_files/Power_Margining/~-c/QTL1824-01 - Power Margining Module V2 - Triggering v4.210.qfg +89 -0
- quarchpy/config_files/Power_Margining/~-c/QTL1824-01 - Power Margining Module V2 - Triggering v4.211.qfg +122 -0
- quarchpy/config_files/Power_Margining/~-c/QTL1824-03 - Power Margining Module V2 - Triggering v4.213.qfg +122 -0
- quarchpy/config_files/Power_Margining/~-c/QTL1847-01 - Power Margining Module V2 v4.213.qfg +122 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1455-02 - Power Margining Module v4.101.qfg +79 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1455-02 - Power Margining Module v4.200.qfg +81 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1455-02 - Power Margining Module v4.201.qfg +83 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1455-02 - Test Power Margining Module v4.004.qfg +74 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1658-01 - Power Margining Module w. Triggering v4.101.qfg +79 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1658-01 - Power Margining Module w. Triggering v4.200.qfg +81 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1658-01 - Power Margining Module w. Triggering v4.201.qfg +83 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.105.qfg +79 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.200.qfg +81 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.201.qfg +83 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1730-01 - 3v3 Power Margining Module v4.105.qfg +79 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1730-01 - 3v3 Power Margining Module v4.200.qfg +81 -0
- quarchpy/config_files/Power_Margining/~-m/QTL1730-01 - 3v3 Power Margining Module v4.201.qfg +83 -0
- quarchpy/config_files/Power_Margining/~~c/QTL1824-01 - Power Margining Module V2 - Triggering v4.000.qfg +81 -0
- quarchpy/config_files/Power_Margining/~~c/QTL1824-01 - Power Margining Module V2 - Triggering v4.200.qfg +82 -0
- quarchpy/config_files/Power_Margining/~~c/QTL1824-01 - Power Margining Module V2 - Triggering v4.202.qfg +88 -0
- quarchpy/config_files/Power_Margining/~~c/QTL1824-01 - Power Margining Module V2 - Triggering v4.210.qfg +89 -0
- quarchpy/config_files/Power_Margining/~~c/QTL1824-01 - Power Margining Module V2 - Triggering v4.211.qfg +122 -0
- quarchpy/config_files/Power_Margining/~~c/QTL1824-03 - Power Margining Module V2 - Triggering v4.213.qfg +122 -0
- quarchpy/config_files/Power_Margining/~~c/QTL1847-01 - Power Margining Module V2 v4.213.qfg +122 -0
- quarchpy/config_files/Power_Margining/~~d/QTL1944-xx - HD Power Module v5.000.qfg +124 -0
- quarchpy/config_files/Power_Margining/~~d/QTL1944-xx - HD Power Module v5.003.qfg +125 -0
- quarchpy/config_files/Power_Margining/~~d/QTL1995-xx - x6 HD Power Module v5.002.qfg +123 -0
- quarchpy/config_files/Power_Margining/~~d/QTL1995-xx - x6 HD Power Module v5.003.qfg +124 -0
- quarchpy/config_files/Power_Margining/~~d/QTL1999-xx - Single HD Power Module v5.002.qfg +123 -0
- quarchpy/config_files/Power_Margining/~~d/QTL1999-xx - Single HD Power Module v5.003.qfg +124 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1455-02 - Power Margining Module v4.101.qfg +79 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1455-02 - Power Margining Module v4.200.qfg +81 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1455-02 - Power Margining Module v4.201.qfg +83 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1455-02 - Test Power Margining Module v4.004.qfg +74 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1658-01 - Power Margining Module w. Triggering v4.101.qfg +79 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1658-01 - Power Margining Module w. Triggering v4.200.qfg +81 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1658-01 - Power Margining Module w. Triggering v4.201.qfg +83 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.105.qfg +79 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.200.qfg +81 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1727-01 - 3v3 Power Margining Module w. Triggering v4.201.qfg +83 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1730-01 - 3v3 Power Margining Module v4.105.qfg +79 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1730-01 - 3v3 Power Margining Module v4.200.qfg +81 -0
- quarchpy/config_files/Power_Margining/~~m/QTL1730-01 - 3v3 Power Margining Module v4.201.qfg +83 -0
- quarchpy/config_files/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/config_files/__pycache__/quarch_config_parser.cpython-38.pyc +0 -0
- quarchpy/config_files/quarch_config_parser.py +4 -0
- quarchpy/config_files/quarch_config_parser.py.bak +6 -2
- quarchpy/config_files/~_pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/config_files/~_pycache__/quarch_config_parser.cpython-38.pyc +0 -0
- quarchpy/connection_specific/QPS/qis/Comms.properties.xml +102 -0
- quarchpy/connection_specific/QPS/qis/help.txt +1 -2
- quarchpy/connection_specific/QPS/qis/hs_err_pid128840.log +346 -0
- quarchpy/connection_specific/QPS/qis/qis.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.4.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jna-platform.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/jna.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.2.0-linux-arm.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.2.0-linux-x86.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.2.0-linux-x86_64.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.2.0-osx-x86.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.2.0-osx-x86_64.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.2.0-windows-x86.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/libusb4java-1.2.0-windows-x86_64.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/netty-all-4.0.37.Final.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/swingx-all-1.6.4.jar +0 -0
- quarchpy/connection_specific/QPS/qis/qis_lib/usb4java-1.2.0.jar +0 -0
- quarchpy/connection_specific/QPS/qis/~icense/LGPL.txt +167 -0
- quarchpy/connection_specific/QPS/qis/~icense/LICENSE.txt +202 -0
- quarchpy/connection_specific/QPS/qis/~icense/NOTICE.txt +143 -0
- quarchpy/connection_specific/QPS/qps.jar +0 -0
- quarchpy/connection_specific/QPS/scriptCommands.txt +175 -1034
- quarchpy/connection_specific/QPS/~eviceconfig/QTL1995-02.XML +280 -0
- quarchpy/connection_specific/QPS/~eviceconfig/QTL1999-02.XML +292 -0
- quarchpy/connection_specific/QPS/~eviceconfig/QTL2312-01.XML +193 -0
- quarchpy/connection_specific/QPS/~eviceconfig/default.xml +292 -0
- quarchpy/connection_specific/QPS/~icense/LGPL.txt +167 -0
- quarchpy/connection_specific/QPS/~icense/LICENSE.txt +202 -0
- quarchpy/connection_specific/QPS/~icense/Material-Icons-license.txt +51 -0
- quarchpy/connection_specific/QPS/~icense/Material-Icons.txt +1 -0
- quarchpy/connection_specific/QPS/~icense/NOTICE.txt +143 -0
- quarchpy/connection_specific/QPS/~icense/Netty-license.txt +143 -0
- quarchpy/connection_specific/QPS/~icense/argparse4j-license.txt +25 -0
- quarchpy/connection_specific/QPS/~icense/controlsfx-license.txt +26 -0
- quarchpy/connection_specific/QPS/~icense/usb4java-license.txt +167 -0
- quarchpy/connection_specific/__pycache__/StreamChannels.cpython-38.pyc +0 -0
- quarchpy/connection_specific/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_QIS.cpython-38.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_QPS.cpython-38.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_ReST.cpython-38.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_Serial.cpython-38.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_TCP.cpython-38.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_Telnet.cpython-38.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_USB.cpython-38.pyc +0 -0
- quarchpy/connection_specific/connection_QIS.py +8 -33
- quarchpy/connection_specific/connection_QPS.py +0 -1
- quarchpy/connection_specific/connection_ReST.py +15 -0
- quarchpy/connection_specific/serial/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/rfc2217.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/rfc2217.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/rs485.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/rs485.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialcli.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialcli.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialjava.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialjava.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialposix.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialposix.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-39.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-39.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/win32.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/win32.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/win32.cpython-39.pyc +0 -0
- quarchpy/connection_specific/serial/threaded/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/threaded/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/hexlify_codec.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/hexlify_codec.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-39.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-39.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_linux.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_linux.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_osx.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_osx.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_posix.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_posix.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-39.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/miniterm.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/miniterm.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_alt.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_alt.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_hwgrep.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_hwgrep.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_loop.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_loop.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_rfc2217.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_rfc2217.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_socket.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_socket.cpython-38.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_spy.cpython-37.pyc +0 -0
- quarchpy/connection_specific/serial/urlhandler/__pycache__/protocol_spy.cpython-38.pyc +0 -0
- quarchpy/connection_specific/usb_libs/MS32/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/connection_specific/usb_libs/MS32/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/connection_specific/usb_libs/MS64/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/connection_specific/usb_libs/MS64/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/libusb1.cpython-37.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/libusb1.cpython-38.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/usb1.cpython-37.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/usb1.cpython-38.pyc +0 -0
- quarchpy/debug/__pycache__/SystemTest.cpython-37.pyc +0 -0
- quarchpy/debug/__pycache__/SystemTest.cpython-38.pyc +0 -0
- quarchpy/debug/__pycache__/SystemTest.cpython-39.pyc +0 -0
- quarchpy/debug/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/debug/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/debug/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/debug/__pycache__/__main__.cpython-37.pyc +0 -0
- quarchpy/debug/__pycache__/__main__.cpython-38.pyc +0 -0
- quarchpy/debug/__pycache__/simple_terminal.cpython-37.pyc +0 -0
- quarchpy/debug/__pycache__/simple_terminal.cpython-38.pyc +0 -0
- quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-37.pyc +0 -0
- quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-38.pyc +0 -0
- quarchpy/debug/__pycache__/versionCompare.cpython-37.pyc +0 -0
- quarchpy/debug/__pycache__/versionCompare.cpython-38.pyc +0 -0
- quarchpy/debug/__pycache__/versionCompare.cpython-39.pyc +0 -0
- quarchpy/debug/simple_terminal.py +1 -2
- quarchpy/device/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/device/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/device/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/device/__pycache__/device.cpython-37.pyc +0 -0
- quarchpy/device/__pycache__/device.cpython-38.pyc +0 -0
- quarchpy/device/__pycache__/device.cpython-39.pyc +0 -0
- quarchpy/device/__pycache__/quarchArray.cpython-37.pyc +0 -0
- quarchpy/device/__pycache__/quarchArray.cpython-38.pyc +0 -0
- quarchpy/device/__pycache__/quarchArray.cpython-39.pyc +0 -0
- quarchpy/device/__pycache__/quarchPPM.cpython-37.pyc +0 -0
- quarchpy/device/__pycache__/quarchPPM.cpython-38.pyc +0 -0
- quarchpy/device/__pycache__/quarchPPM.cpython-39.pyc +0 -0
- quarchpy/device/__pycache__/quarchQPS.cpython-37.pyc +0 -0
- quarchpy/device/__pycache__/quarchQPS.cpython-38.pyc +0 -0
- quarchpy/device/__pycache__/quarchQPS.cpython-39.pyc +0 -0
- quarchpy/device/__pycache__/scanDevices.cpython-37.pyc +0 -0
- quarchpy/device/__pycache__/scanDevices.cpython-38.pyc +0 -0
- quarchpy/device/__pycache__/scanDevices.cpython-39.pyc +0 -0
- quarchpy/device/device.py +16 -67
- quarchpy/device/quarchArray.py +1 -1
- quarchpy/device/quarchPPM.py +1 -1
- quarchpy/device/quarchQPS.py +30 -36
- quarchpy/device/scanDevices.py +85 -92
- quarchpy/disk_test/DiskTargetSelection.py +2 -1
- quarchpy/docs/CHANGES.rst +0 -7
- quarchpy/docs/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/docs/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/docs/__pycache__/conf.cpython-37.pyc +0 -0
- quarchpy/docs/__pycache__/conf.cpython-38.pyc +0 -0
- quarchpy/docs/_build/html/_static/jquery-3.5.1.js +10872 -0
- quarchpy/docs/_build/html/_static/underscore-1.13.1.js +2042 -0
- quarchpy/fio/__pycache__/FIO_interface.cpython-37.pyc +0 -0
- quarchpy/fio/__pycache__/FIO_interface.cpython-38.pyc +0 -0
- quarchpy/fio/__pycache__/FIO_interface.cpython-39.pyc +0 -0
- quarchpy/fio/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/fio/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/fio/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/fio/__pycache__/fioDiskFinder.cpython-37.pyc +0 -0
- quarchpy/fio/__pycache__/fioDiskFinder.cpython-38.pyc +0 -0
- quarchpy/fio/__pycache__/fioDiskFinder.cpython-39.pyc +0 -0
- quarchpy/fio/__pycache__/performanceClass.cpython-37.pyc +0 -0
- quarchpy/fio/__pycache__/performanceClass.cpython-38.pyc +0 -0
- quarchpy/fio/__pycache__/test_performance_class.cpython-37.pyc +0 -0
- quarchpy/fio/__pycache__/test_performance_class.cpython-38.pyc +0 -0
- quarchpy/iometer/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/iometer/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/iometer/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/iometer/__pycache__/gen_iometer_template.cpython-38.pyc +0 -0
- quarchpy/iometer/__pycache__/iometerFuncs.cpython-37.pyc +0 -0
- quarchpy/iometer/__pycache__/iometerFuncs.cpython-38.pyc +0 -0
- quarchpy/iometer/__pycache__/iometerFuncs.cpython-39.pyc +0 -0
- quarchpy/iometer/iometerFuncs.py +36 -53
- quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-38.pyc +0 -0
- quarchpy/qis/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/qis/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/qis/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/qis/__pycache__/qisFuncs.cpython-37.pyc +0 -0
- quarchpy/qis/__pycache__/qisFuncs.cpython-38.pyc +0 -0
- quarchpy/qis/__pycache__/qisFuncs.cpython-39.pyc +0 -0
- quarchpy/qps/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/qps/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/qps/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/qps/__pycache__/qpsFuncs.cpython-37.pyc +0 -0
- quarchpy/qps/__pycache__/qpsFuncs.cpython-38.pyc +0 -0
- quarchpy/qps/__pycache__/qpsFuncs.cpython-39.pyc +0 -0
- quarchpy/user_interface/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/user_interface/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/user_interface/__pycache__/__init__.cpython-39.pyc +0 -0
- quarchpy/user_interface/__pycache__/user_interface.cpython-37.pyc +0 -0
- quarchpy/user_interface/__pycache__/user_interface.cpython-38.pyc +0 -0
- quarchpy/user_interface/__pycache__/user_interface.cpython-39.pyc +0 -0
- quarchpy/user_interface/user_interface.py +1 -1
- quarchpy/utilities/__pycache__/BitManipulation.cpython-37.pyc +0 -0
- quarchpy/utilities/__pycache__/BitManipulation.cpython-38.pyc +0 -0
- quarchpy/utilities/__pycache__/TestCenter.cpython-37.pyc +0 -0
- quarchpy/utilities/__pycache__/TestCenter.cpython-38.pyc +0 -0
- quarchpy/utilities/__pycache__/TestCenter.cpython-39.pyc +0 -0
- quarchpy/utilities/__pycache__/TimeValue.cpython-38.pyc +0 -0
- quarchpy/utilities/__pycache__/__init__.cpython-37.pyc +0 -0
- quarchpy/utilities/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/utilities/__pycache__/__init__.cpython-39.pyc +0 -0
- {quarchpy-2.1.10.dev4.dist-info → quarchpy-2.1.10.dev6.dist-info}/METADATA +1 -8
- {quarchpy-2.1.10.dev4.dist-info → quarchpy-2.1.10.dev6.dist-info}/RECORD +271 -73
- quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-38.pyc +0 -0
- quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-38.pyc +0 -0
- quarchpy/disk_test/__pycache__/__init__.cpython-38.pyc +0 -0
- quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-38.pyc +0 -0
- {quarchpy-2.1.10.dev4.dist-info → quarchpy-2.1.10.dev6.dist-info}/WHEEL +0 -0
- {quarchpy-2.1.10.dev4.dist-info → quarchpy-2.1.10.dev6.dist-info}/top_level.txt +0 -0
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
quarchpy/iometer/iometerFuncs.py
CHANGED
@@ -5,7 +5,6 @@ This contains useful functions for Iometer automation with Quarch tools
|
|
5
5
|
########### VERSION HISTORY ###########
|
6
6
|
|
7
7
|
13/08/2018 - Andy Norrie - First version, based on initial work from Pedro Leao
|
8
|
-
20/02/2023 - Matt Holsey - Updating for App note overhaul, improving documentation
|
9
8
|
'''
|
10
9
|
|
11
10
|
'''
|
@@ -24,7 +23,6 @@ import datetime
|
|
24
23
|
import socket
|
25
24
|
import csv
|
26
25
|
import mmap
|
27
|
-
from quarchpy.iometer.gen_iometer_template import generate_iometer_template
|
28
26
|
|
29
27
|
try:
|
30
28
|
# for Python 2.x
|
@@ -67,20 +65,14 @@ def followResultsFile (theFile):
|
|
67
65
|
continue
|
68
66
|
yield line
|
69
67
|
|
68
|
+
'''
|
69
|
+
This function follows the data accumulating from Iometer, in the instant results file, and
|
70
|
+
processes it into QPS, adding annotationsa and custom channel data points as needed.
|
70
71
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
This currently assumes that custom channels have been created for IOPS, Data and Response
|
77
|
-
|
78
|
-
:param testName:
|
79
|
-
:param myStream:
|
80
|
-
:param userCallbacks:
|
81
|
-
:return:
|
82
|
-
"""
|
83
|
-
|
72
|
+
This currently assumes that custom channels have been created for IOPS, Data and Response
|
73
|
+
'''
|
74
|
+
def processIometerInstResults(testName, myStream, userCallbacks):
|
75
|
+
|
84
76
|
# Wait for the file to exist
|
85
77
|
while(os.path.isfile("insttestfile.csv") == False):
|
86
78
|
pass
|
@@ -107,7 +99,6 @@ def processIometerInstResults(testName, myStream, userCallbacks):
|
|
107
99
|
"RESPONSE": 0,
|
108
100
|
}
|
109
101
|
|
110
|
-
# Loop through the lines generate from iometer output
|
111
102
|
for dataLine in resultsIterator:
|
112
103
|
f = StringIO (dataLine.decode ('utf-8'))
|
113
104
|
lineCount = lineCount + 1
|
@@ -126,8 +117,7 @@ def processIometerInstResults(testName, myStream, userCallbacks):
|
|
126
117
|
|
127
118
|
if (fileSection == 1):
|
128
119
|
timeStamp = csvData[0][0]
|
129
|
-
|
130
|
-
# Call start of test callback
|
120
|
+
|
131
121
|
if "TEST_START" in userCallbacks:
|
132
122
|
userCallbacks["TEST_START"](myStream, timeStamp, testDescrip)
|
133
123
|
|
@@ -164,7 +154,6 @@ def processIometerInstResults(testName, myStream, userCallbacks):
|
|
164
154
|
resultsMap["IOPS"] = sum_all_threads1
|
165
155
|
resultsMap["DATA_RATE"] = sum_all_threads2
|
166
156
|
resultsMap["RESPONSE_TIME"] = sum_all_threads3
|
167
|
-
# Call data callback
|
168
157
|
if "TEST_RESULT" in userCallbacks:
|
169
158
|
userCallbacks["TEST_RESULT"] (myStream, prevTimeStamp, resultsMap)
|
170
159
|
|
@@ -200,7 +189,6 @@ def processIometerInstResults(testName, myStream, userCallbacks):
|
|
200
189
|
|
201
190
|
if (fileSection == 4):
|
202
191
|
timeStamp = csvData[0][0]
|
203
|
-
# Call end of test callback
|
204
192
|
if "TEST_END" in userCallbacks:
|
205
193
|
userCallbacks["TEST_END"](myStream, timeStamp, testDescrip)
|
206
194
|
|
@@ -208,17 +196,12 @@ def processIometerInstResults(testName, myStream, userCallbacks):
|
|
208
196
|
resultsFile.close ()
|
209
197
|
|
210
198
|
return
|
211
|
-
|
199
|
+
|
200
|
+
'''
|
201
|
+
Scans the given path for .conf files (ioMeter template files) and
|
202
|
+
creates .icf files with the correct host and drive target information in place
|
203
|
+
'''
|
212
204
|
def generateIcfFromConf(confPath, driveInfo, managerName=socket.gethostname()):
|
213
|
-
"""
|
214
|
-
Scans the given path for .conf files (ioMeter template files) and
|
215
|
-
creates .icf files with the correct host and drive target information in place
|
216
|
-
|
217
|
-
:param confPath: String - Path to /conf
|
218
|
-
:param driveInfo: Dictionary - Dict with 3 keys: NAME, DRIVE, FW_REV
|
219
|
-
:param managerName: String - String of the current system name
|
220
|
-
:return: N/A
|
221
|
-
"""
|
222
205
|
|
223
206
|
configFiles = []
|
224
207
|
fileCount = 0
|
@@ -241,6 +224,7 @@ def generateIcfFromConf(confPath, driveInfo, managerName=socket.gethostname()):
|
|
241
224
|
fileData = openFile.read ()
|
242
225
|
openFile.close ()
|
243
226
|
|
227
|
+
|
244
228
|
# Create the string modifications needed to set the correct target
|
245
229
|
if driveInfo["FW_REV"]:
|
246
230
|
newStr = str(driveInfo["DRIVE"]) + ": \"" + str(driveInfo["NAME"]) + " " + str(driveInfo["FW_REV"]) + "\""
|
@@ -259,24 +243,28 @@ def generateIcfFromConf(confPath, driveInfo, managerName=socket.gethostname()):
|
|
259
243
|
# Write the text out to the final ICF file
|
260
244
|
openFile = open (icfFilePath, 'a+')
|
261
245
|
openFile.write (fileData)
|
246
|
+
|
247
|
+
s = mmap.mmap(openFile.fileno(), 0, access=mmap.ACCESS_READ)
|
248
|
+
pos_start = s.find(str.encode('Assigned access specs'))
|
249
|
+
pos_end = s.find(str.encode('End assigned access specs'))
|
250
|
+
if pos_start != -1:
|
251
|
+
config_list.append(s[pos_start+21:pos_end-1])
|
252
|
+
|
262
253
|
openFile.close ()
|
263
254
|
|
264
255
|
# Increment file counter
|
265
256
|
fileCount = fileCount + 1
|
266
257
|
|
258
|
+
return fileCount, config_list
|
267
259
|
|
260
|
+
|
261
|
+
'''
|
262
|
+
Takes a CSV data dictionary and creates an .icf file at the given path. DriveInfo and optional manager name are
|
263
|
+
used to specify the target and host within the file
|
264
|
+
'''
|
268
265
|
def generateIcfFromCsvLineData(csvData, icfFilePath, driveInfo, managerName=socket.gethostname()):
|
269
|
-
|
270
|
-
Takes a CSV data dictionary and creates an .icf file at the given path. DriveInfo and optional manager name are
|
271
|
-
used to specify the target and host within the file
|
272
|
-
|
273
|
-
:param csvData: Dictionary - Row read from CSV
|
274
|
-
:param icfFilePath: String - File path for the new file
|
275
|
-
:param driveInfo: Dictionary - Dict with 3 keys: NAME, DRIVE, FW_REV
|
276
|
-
:param managerName: String - Name of System
|
277
|
-
"""
|
266
|
+
|
278
267
|
|
279
|
-
# Creating a temporary file
|
280
268
|
templateFilePath = os.path.dirname(os.path.abspath(__file__)) + "\\IometerTemplate.dat"
|
281
269
|
csvTestName = None
|
282
270
|
csvWorkers = None
|
@@ -300,18 +288,13 @@ def generateIcfFromCsvLineData(csvData, icfFilePath, driveInfo, managerName=sock
|
|
300
288
|
|
301
289
|
# Delete any old icf file with the same name
|
302
290
|
if os.path.exists(icfFilePath):
|
303
|
-
os.remove(icfFilePath)
|
304
|
-
|
305
|
-
# If the iometer template is missing, generate a new one
|
306
|
-
if not os.path.exists(templateFilePath):
|
307
|
-
generate_iometer_template()
|
291
|
+
os.remove(icfFilePath)
|
308
292
|
|
309
|
-
# Open the template file
|
293
|
+
# Open the template file
|
310
294
|
openFile = open (templateFilePath)
|
311
295
|
fileData = openFile.readlines ()
|
312
296
|
openFile.close ()
|
313
|
-
|
314
|
-
# Grabbing segments from template file
|
297
|
+
|
315
298
|
workerData = fileData[51:72]
|
316
299
|
workerData = "".join(workerData)
|
317
300
|
fileData = fileData[:51]
|
@@ -369,15 +352,15 @@ def generateIcfFromCsvLineData(csvData, icfFilePath, driveInfo, managerName=sock
|
|
369
352
|
# Write the text out to the final ICF file
|
370
353
|
openFile = open (icfFilePath, 'a+')
|
371
354
|
openFile.write (fileData + finalString)
|
372
|
-
openFile.close ()
|
373
355
|
|
356
|
+
openFile.close ()
|
374
357
|
|
375
358
|
|
359
|
+
'''
|
360
|
+
Reads the given CSV file which must be formatter for Iometer .icf data (One header, no blank rows).
|
361
|
+
Reads the data into a dictionary
|
362
|
+
'''
|
376
363
|
def readIcfCsvLineData(csvFileName, csvFileLine):
|
377
|
-
"""
|
378
|
-
Reads the given CSV file which must be formatter for Iometer .icf data (One header, no blank rows).
|
379
|
-
Reads the data into a dictionary
|
380
|
-
"""
|
381
364
|
csvFilePath = os.getcwd() + "\\" + csvFileName
|
382
365
|
# Open the file
|
383
366
|
with open(csvFilePath, 'rt') as csvFile:
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: quarchpy
|
3
|
-
Version: 2.1.10.
|
3
|
+
Version: 2.1.10.dev6
|
4
4
|
Summary: This packpage offers Python support for Quarch Technology modules.
|
5
5
|
Home-page: UNKNOWN
|
6
6
|
Author: Quarch Technology ltd
|
@@ -35,13 +35,6 @@ Quarchpy
|
|
35
35
|
Change Log
|
36
36
|
----------
|
37
37
|
|
38
|
-
2.1.11
|
39
|
-
------
|
40
|
-
- New QPS v1.31
|
41
|
-
- New QIS v1.34
|
42
|
-
|
43
|
-
2.1.10
|
44
|
-
------
|
45
38
|
|
46
39
|
2.1.8
|
47
40
|
-----
|