Metadata-Version: 2.4
Name: myztrion
Version: 0.1.2
Summary: Myztrion is a modern Python toolkit for USB/Serial communication with Myztrion devices. It converts low-level packets into structured reports, supports async/sync callback dispatching, and enables practical control workflows for GPIO, PWM, ADC acquisition, and stepper motor motion. Built for makers and engineers who want a clean, reliable bridge between Python tooling and embedded hardware control.
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: pyserial
Requires-Dist: numpy
Requires-Dist: matplotlib

# Myztrion (organized)

Myztrion is a combined host-and-firmware project designed to make it easy to control an RP2040/Pico-based device from a computer using Python, while keeping the embedded firmware clean and maintainable. The repository is organized to clearly separate the Python “host” side (tools that run on your PC) from the C firmware that runs on the microcontroller, and to provide runnable examples that demonstrate typical workflows.

The overall goal is fast iteration: you can build and flash firmware, then immediately validate behavior from Python with repeatable scripts. This structure also supports packaging the Python host library for distribution (e.g., via pip), while keeping firmware development independent.

## Repository structure

- `myztrion/python/`  
  Python host library. This includes the main entry module (for example `Myztrion.py`) plus helper modules that implement the USB/Serial backend and any parsing/utilities required for communication. This is the code you import from your own Python scripts.

- `myztrion/firmware/`  
  C firmware sources for RP2040/Pico. This contains the Pico SDK project (CMake files, sources, headers, and any build scripts) that compiles into a UF2/ELF. This side defines the device protocol and the reports/commands the Python host will use.

- `examples/python/`  
  Example scripts intended to be run directly. These demonstrate basic connectivity, as well as specific features like GPIO sequencing, PWM usage, ADC sampling (including optional plotting workflows), and stepper control. The examples are also a convenient way to confirm that your environment is set up correctly.

## Running examples

From the repository root, you can run any example script directly. For example:

```bash
python3 examples/python/hello_world_myztrion.py
