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.0.tar.gz (12.3 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.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyvalon-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1ac171aedd51d442164ffa53d9852b972e5fcdf70b98fd6f272664c9e535eeac
MD5 fc8bb415f7b49bf89c7055096612ac5a
BLAKE2b-256 35778b34a46b0cc9435db6a332d8508c029ac0f96d6b904c80cc603cfe13c008

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvalon-0.1.0.tar.gz:

Publisher: release-please.yml on EIGSEP/pyvalon

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

File details

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

File metadata

  • Download URL: pyvalon-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyvalon-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c11c5d5627b58a5afd9f0fb7fea56ba292561a9dd493469caa7765ef3e32da9
MD5 7efdc298f83382e40c507eb1fae50bb5
BLAKE2b-256 c4293679a095957481d223cf2ab04a3889c100d8e9edbe8a81006cbe048ca03b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyvalon-0.1.0-py3-none-any.whl:

Publisher: release-please.yml on EIGSEP/pyvalon

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