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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 473b4a8759392da62fa5263162df533d49459201b188ea5bb5e9926e432f8d6b |
|
MD5 | 7fa5cca192db78f1ec376a886869bb4a |
|
BLAKE2b-256 | 0c7ede90d282a44309308c97e871e704021146ae216808af19d407cb243a69fa |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d7492aa788f8ecede6188c8f565c3093f7535c6d25d28be85217eaa6acc0b87 |
|
MD5 | b4d2d3c0012b2001840d2fe3a27c259c |
|
BLAKE2b-256 | 51a03fea3f889e169e4dde76514ac289d231487296bb3541066e1f978ece6198 |