ssmdevices.software package¶
- class ssmdevices.software.IPerf2(resource: str = None, *, binary_path: Path | None = None, timeout: float = 1, server: bool = False, port: int = 5201, bind: str | None = None, format: None | k | m | g | K | M | G = None, time: float | None = None, number: int | None = None, interval: float | None = None, udp: bool = False, bit_rate: str | None = None, buffer_size: int | None = None, tcp_window_size: int | None = None, nodelay: bool | None = None, mss: int | None = None, bidirectional: bool = False, report_style: C | None = 'C')¶
Bases:
_IPerfBase
Run an instance of iperf to profile data transfer speed. It can operate as a server (listener) or client (sender), operating either in the foreground or as a background thread. When running as an iperf client (server=False).
- read_stdout()¶
retreive text from standard output, and parse into a pandas DataFrame if self.report_style is None
- class ssmdevices.software.IPerf2BoundPair(resource: str = None, *, binary_path: Path | None = None, timeout: float = 1, server: str | None = None, port: int = 5201, bind: str | None = None, format: None | k | m | g | K | M | G = None, time: float | None = None, number: int | None = None, interval: float | None = None, udp: bool = False, bit_rate: str | None = None, buffer_size: int | None = None, tcp_window_size: int | None = None, nodelay: bool | None = None, mss: int | None = None, bidirectional: bool = False, report_style: C | None = 'C', client: str | None = None)¶
Bases:
IPerf2
Configure and run an iperf client and a server pair on the host.
Outputs from to interfaces in order to ensure that data is routed between them, not through localhost or any other interface.
- class ssmdevices.software.IPerf3(resource: str = None, *, binary_path: Path | None = None, timeout: float = 1, server: bool = False, port: int = 5201, bind: str | None = None, format: None | k | m | g | K | M | G = None, time: float | None = None, number: int | None = None, interval: float | None = None, udp: bool = False, bit_rate: str | None = None, buffer_size: int | None = None, tcp_window_size: int | None = None, nodelay: bool | None = None, mss: int | None = None, reverse: bool = False, json: bool = False, zerocopy: bool = False)¶
Bases:
_IPerfBase
Run an instance of iperf3, collecting output data in a background thread. When running as an iperf client (server=False), The default value is the path that installs with 64-bit cygwin.
- class ssmdevices.software.QXDM(resource: int = 0, *, cache_path: str = 'temp', connection_timeout: float = 2)¶
Bases:
Win32ComDevice
QXDM software wrapper
- configure(config_path, min_acquisition_time=None)¶
Load the QXDM .dmc configuration file at the specified path, with adjustments that disable special file output modes like autosave, quicksave, and automatic segmenting based on time and file size.
- save(path=None, saveNm=None)¶
Stop the run and save the data in a file at the specified path. If path is None, autogenerate with self.cache_path and self.data_filename.
This method is threadsafe.
- Returns:
The absolute path to the data file
- start(wait=True)¶
Start acquisition, optionally waiting to return until new data enters the QXDM item store.
- class ssmdevices.software.WLANInfo(resource: str = None, *, binary_path: Path | None = None, timeout: float = 1, only_bssid: bool = False, interface: str | None = None)¶
Bases:
ShellBackend
Parse calls to netsh to get information about WLAN interfaces.
- ssmdevices.software.get_ipv4_address(resource)¶
Try to look up the IP address of a network interface by its name or MAC (physical) address.
If the interface does not exist, the medium is disconnected, or there is no IP address associated with the interface, raise ConnectionError.
- ssmdevices.software.network_interface_info(resource)¶
Try to look up the IP address of a network interface by its name or MAC (physical) address.
If the interface does not exist, the medium is disconnected, or there is no IP address associated with the interface, raise ConnectionError.