Skip to main content

A Python library for OSC communication with the Ponoor Step-series devices.

Project description

A Python library for OSC communication with the Ponoor Step-series devices.

Welcome to python-step-series, a Python library to stupidly simplify communication with ponoor’s Step-series devices.

To get started, follow the simple example below or read the documentation to truly see what this library has to offer.

Installation

There are multiple ways to install python-step-series. The easiest way is from PyPI (coming soon):

pip install python-step-series

Or you can install from source. See the Contributing guide for more information on how to do that.

python-step-series requires Python >=3.7.

First-steps Example

from stepseries.commands import GetVersion, SetDestIP
from stepseries.step400 import STEP400
from stepseries.responses import OSCResponse, Version

def default_handler(message: OSCResponse) -> None:
    print("Message received:", message)

def version_handler(message: Version) -> None:
    print("Firmware:")
    print(" - Name:", message.firmware_name)
    print(" - Version:", message.firmware_version)
    print(" - Compiled:", message.compile_date)

if __name__ == '__main__':
    # Configurations that should be changed
    dip_switch_id = 0  # Should match what is set on the device
    local_ip_address = "10.1.21.56"  # The ip address of the device
    local_port = 50000
    server_address = "0.0.0.0"  # The address of the server; should always be 0.0.0.0 (the local machine)
    server_port = 50100

    # Create a device instance using the configurations above
    # This does two things: creates a communication interface and starts up an OSC endpoint for
    # the device to communicate with
    device = STEP400(dip_switch_id, local_ip_address, local_port, server_address, server_port)

    # Register a default handler for messages
    # Typically, these are used to log events and print to stdout
    # It is recommended to instead register 'filtered' handlers if
    # you want to parse the message (like the one below)
    device.on(None, default_handler)

    # Register a handler just for version info
    device.on(Version, version_handler)

    # Enable communication with the device
    device.set(SetDestIP())

    # Get the current version of the firmware
    version: Version = device.get(GetVersion())

Making Changes & Contributing

Any ideas on how to improve this library are welcome. Please see the Contributing guide for a full run-down on how to contribute to this project as well as some tips for making sure your idea is added.

We thank you in-advance for your contributions.

Note

This project has been set up using PyScaffold 4.1.1. For details and usage information on PyScaffold see https://pyscaffold.org/.

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

python-step-series-0.0.1.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

python_step_series-0.0.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file python-step-series-0.0.1.tar.gz.

File metadata

  • Download URL: python-step-series-0.0.1.tar.gz
  • Upload date:
  • Size: 40.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for python-step-series-0.0.1.tar.gz
Algorithm Hash digest
SHA256 473b4a8759392da62fa5263162df533d49459201b188ea5bb5e9926e432f8d6b
MD5 7fa5cca192db78f1ec376a886869bb4a
BLAKE2b-256 0c7ede90d282a44309308c97e871e704021146ae216808af19d407cb243a69fa

See more details on using hashes here.

File details

Details for the file python_step_series-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: python_step_series-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for python_step_series-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3d7492aa788f8ecede6188c8f565c3093f7535c6d25d28be85217eaa6acc0b87
MD5 b4d2d3c0012b2001840d2fe3a27c259c
BLAKE2b-256 51a03fea3f889e169e4dde76514ac289d231487296bb3541066e1f978ece6198

See more details on using hashes here.

Supported by

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