Skip to main content

Python library for controlling Valon Synthesizer devices (V5015, V5007, V5008)

Project description

pyvalon

Python library for configuring Valon Synthesizer devices. Supports V5015, V5007, and V5008. The V5007/V5008 protocol implementation is a Python port of ValonSynth.

This repo is shipped as part of the eigsep-field release and pinned in its manifest.toml.

Install

pip install pyvalon

Or from a checkout, for development:

git clone https://github.com/EIGSEP/pyvalon
cd pyvalon
pip install -e .[dev]

Python API

from pyvalon import V5008

synth = V5008("/dev/ttyUSB0", baud=9600)
synth.SetRefSelect("external")
synth.SetFreq("A", 500.0)      # MHz
synth.SetRFLevel("A", 5)       # dBm
synth.Flash()                  # persist to NVM
synth.close()

V5007 and V5015 have analogous interfaces.

Command-line tools

Installing the package puts two console scripts on your PATH.

V5007 / V5008 — v5008

v5008 [--dev DEV] [--baud BAUD] [--synth {A,B}] [--freq FREQ]
      [--amp {-4,-1,2,5}] [--ref {external,internal}] [--label [LABEL]]
      [--status] [--flash] [--eigsep]

V5015 — v5015

v5015 [--dev DEV] [--baud BAUD] [--freq FREQ] [--amp AMP] [--ref REF]
      [--rfout RFOUT] [--pwr PWR] [--v]

Run either with -h for full argument help.

EIGSEP defaults

The V5008 CLI ships with an --eigsep shortcut that applies the experiment's standard configuration in one shot: external reference, synth A at 500 MHz, synth B at 250 MHz, 5 dBm output on both, then flashes to non-volatile memory:

v5008 --dev /dev/ttyUSB0 --eigsep

The defaults live in EIGSEP_DEFAULTS at the top of pyvalon.v5008 — edit there if the field configuration changes.

Development

pip install -e .[dev]
pytest

Releases are managed by release-please: merging conventional-commit PRs to master opens a release PR that bumps the version in pyproject.toml and .release-please-manifest.json, and publishes to PyPI once merged.

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

pyvalon-0.1.1.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

pyvalon-0.1.1-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file pyvalon-0.1.1.tar.gz.

File metadata

  • Download URL: pyvalon-0.1.1.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyvalon-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4f140f3ceef8089ba53c3065bb94404b02d7effd441535b28da54fca91ab1e52
MD5 8cfcf3e7a9c61f702a14eb0d3c855030
BLAKE2b-256 edc0d8e2323b965ff1de510c94363ab62f3832bad394abd2bf9524662a9a0693

See more details on using hashes here.

File details

Details for the file pyvalon-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyvalon-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyvalon-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eea211735e13d102d7a3f45fd39d8cd48c0f5bd554d22f83795bd5d3281688c6
MD5 ffc1f410bde594a33c2042f1da541ea9
BLAKE2b-256 c7e14f96843170bdcfa465eac6cb2f8ea8661c9c9338d00819a347331c53ace5

See more details on using hashes here.

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