Metadata-Version: 2.4
Name: protocol-validation-suite-swi3s-peripheral-validation-apis
Version: 26.7.6
Summary: SWI3S Python SDK
License: Proprietary
License-File: LICENSE
Author: Soliton Technologies
Requires-Python: >=3.12
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: grpcio (>=1.81.1)
Requires-Dist: protobuf (>=6.33.5)
Requires-Dist: protocol-validation-suite-framework-apis (>=26.7.1)
Requires-Dist: tabulate (>=0.9.0)
Description-Content-Type: text/markdown

# Soliton Protocol Validation Suite - SWI3S Peripheral Validation APIs

A Python SDK for automating the Soliton Protocol Validation Suite - "SWI3S Peripheral Validation Plugin".

This package provides a high-level Python interface for interacting with the Soliton "SWI3S Peripheral Validation Plugin" application for configuring, controlling, and automating SWI3S Peripheral Validation workflows through the Protocol Validation Suite (PVS).
The package exposes high-level Python APIs that communicate with the underlying SWI3S Peripheral Validation service using gRPC, enabling automated validation, protocol configuration, monitoring, and test execution.

## Features

* Python interface for SWI3S Peripheral Validation automation and validation
* gRPC-based communication with backend services
* High-level APIs for protocol configuration and execution
* Typed request and response models
* Integrated monitoring and acquisition support
* Example applications for quick integration

## Pre-requisite

* Protocol Validation Suite (PVS) application and SWI3S Peripheral Validation Plugin Installed. (If not please reach out to `pvs.support@solitontech.com`)
* Python 3.12 or later

## Python Dependencies Requirement

* grpcio
* protobuf
* protocol-validation-suite-framework-apis

All the above python dependencies are installed automatically when installing the package.

## Installation

```bash
pip install protocol-validation-suite-swi3s-peripheral-validation-apis
```

## Basic Usage

```python
from Protocol_Validation_Suite_SWI3S_Peripheral_APIs import SWI3SPeripheralAPIs

api = SWI3SPeripheralAPIs()

# Launch and connect to the service
api.launch_server()

# Execute required operations
# ...

# Close the connection
api.close_server()
```

Refer to the included example scripts for complete workflow demonstrations.

## Package Contents

### Protocol_Validation_Suite_SWI3S_Peripheral_APIs/

Contains:

* Core API implementation
* gRPC client wrappers
* Generated protobuf stubs
* Request and response models
* Utility modules

### Examples/

Contains sample scripts demonstrating common SWI3S Peripheral validation workflows.

## Architecture

This package acts as a Python client SDK that communicates with the underlying SWI3S Peripheral validation service through gRPC. Protocol validation logic, execution, and device interaction are handled by the backend service, while this package provides a simplified Python interface for automation and integration.

## Compatibility

| Component | Version |
| --------- | ------- |
| Python    | 3.12+   |
| grpcio    | 1.81.1+ |
| protobuf  | 6.33.5+ |
| tabulate  | 0.9.0+  |

## Main API Operations

| Method                                | Description                                |
| ------------------------------------- | ------------------------------------------ |
| `configure_swi3s_timing()`            | Configure SWI3S timing parameters          |
| `configure_bus_voltage()`             | Configure SWI3S bus voltage settings       |
| `swi3s_start()`                       | Start SWI3S communication                  |
| `swi3s_stop()`                        | Stop SWI3S communication                   |
| `configure_swi3s_transport_pattern()` | Configure SWI3S transport pattern settings |
| `swi3s_ping_get_status()`             | Send Get Status Ping commands              |
| `swi3s_read_setup()`                  | Configure SWI3S read operations            |
| `swi3s_write_a32()`                   | Write data to SWI3S registers              |
| `start_of_phase_marker()`             | Generate Start of Phase Marker operations  |
| `swi3s_announce_exit_dormant()`       | Announce device exit from dormant mode     |
| `swi3s_announce_sspa()`               | Announce SSPA configuration                |
| `swi3s_bus_reset()`                   | Perform SWI3S bus reset operations         |
| `swi3s_commit_dscr()`                 | Commit DSCR configuration                  |
| `swi3s_commit_sscr()`                 | Commit SSCR configuration                  |
| `swi3s_read_data()`                   | Read data from SWI3S devices               |
| `swi3s_start_audio()`                 | Start audio streaming                      |
| `swi3s_stop_audio()`                  | Stop audio streaming                       |
| `swi3s_write_unblock()`               | Send Write Unblock commands                |
| `i3s_monitor_setup()`                 | Configure I3S monitoring                   |
| `swi3s_monitoracq_start()`            | Start monitor acquisition                  |
| `swi3s_monitoracq_stop()`             | Stop monitor acquisition                   |

## Configuration Utilities

| Method                             | Description                                               |
| ---------------------------------- | --------------------------------------------------------- |
| `update_frame()`                   | Update frame configuration folders                        |
| `setup_configure_frame()`          | Generate and configure frame files and visualizer outputs |
| `setup_Configure_Source_payload()` | Configure source payload generation settings              |
| `setup_configure_Sink_Payload()`   | Configure sink payload settings                           |
| `extract_payload_data()` | Extract (and optionally decode) payload samples for one Data Port / Channel. |

For more detailed information , please refer the Soliton_SWI3S_Python_Automation_APIs_User_Manual.pdf

## License

**Proprietary**

Copyright © Soliton Technologies.

Redistribution, modification, or distribution of this package without prior authorization is prohibited.

