Skip to main content

Async Python library for Tonewinner AV processors over RS232 serial

Project description

tonewinner-rs232

Async Python library to control Tonewinner AV processors over RS232 serial, built on serialx.

Supports the AT-500 specifically, other models should work but haven't been tested. Please open an issue if you encounter problems with other models.

Installation

pip install tonewinner-rs232

Requires Python 3.12+.

Quick start

import asyncio
from tonewinner_rs232 import TonewinnerReceiver

async def main():
    receiver = TonewinnerReceiver("/dev/ttyUSB0")

    # Establish a connection
    await receiver.connect()

    # Query the receiver's current state
    await receiver.query_state()

    print(f"Power: {receiver.state.power}")
    print(f"Volume: {receiver.state.volume}")
    print(f"Source: {receiver.state.source_name}")

    await receiver.power_off()
    await receiver.disconnect()

asyncio.run(main())

Features

  • Async API built on serialx
  • Full state query and real-time state updates
  • Event subscription for state changes
  • Power, volume, mute, input source, and sound mode control
  • Automatic framing of the ##...* Tonewinner RS232 protocol
  • Built-in CLI for testing

CLI

Just prints current state at the moment.

python -m tonewinner_rs232 /dev/ttyUSB0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tonewinner_rs232-1.0.0.tar.gz (26.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tonewinner_rs232-1.0.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file tonewinner_rs232-1.0.0.tar.gz.

File metadata

  • Download URL: tonewinner_rs232-1.0.0.tar.gz
  • Upload date:
  • Size: 26.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tonewinner_rs232-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f3105b82761f5e911f5a8adf8613aef285ecf6d31e8a9f2d0c2a79cefdc69f7f
MD5 35a52aa0d802ff7eb87bda6bd14b3ef2
BLAKE2b-256 3c39c7556c137d573362b552ea286d207d0a5cd97428fbf9c5ca2965cc667ab5

See more details on using hashes here.

Provenance

The following attestation bundles were made for tonewinner_rs232-1.0.0.tar.gz:

Publisher: publish.yaml on emma-sg/tonewinner-rs232

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tonewinner_rs232-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tonewinner_rs232-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d356438d1665a97c13fdd96af89f306cfd705f3a9d858efe9249d20995116189
MD5 c6265277851688b981c4e598b225e29b
BLAKE2b-256 db22dc94e76be45d75e4172d990dfd8e1b74a19bda4efd37f50872f150914a3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tonewinner_rs232-1.0.0-py3-none-any.whl:

Publisher: publish.yaml on emma-sg/tonewinner-rs232

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page