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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ac171aedd51d442164ffa53d9852b972e5fcdf70b98fd6f272664c9e535eeac
|
|
| MD5 |
fc8bb415f7b49bf89c7055096612ac5a
|
|
| BLAKE2b-256 |
35778b34a46b0cc9435db6a332d8508c029ac0f96d6b904c80cc603cfe13c008
|
Provenance
The following attestation bundles were made for pyvalon-0.1.0.tar.gz:
Publisher:
release-please.yml on EIGSEP/pyvalon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvalon-0.1.0.tar.gz -
Subject digest:
1ac171aedd51d442164ffa53d9852b972e5fcdf70b98fd6f272664c9e535eeac - Sigstore transparency entry: 1359836100
- Sigstore integration time:
-
Permalink:
EIGSEP/pyvalon@df7951b525bce56044fe0851c592e341730e7ae4 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/EIGSEP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@df7951b525bce56044fe0851c592e341730e7ae4 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c11c5d5627b58a5afd9f0fb7fea56ba292561a9dd493469caa7765ef3e32da9
|
|
| MD5 |
7efdc298f83382e40c507eb1fae50bb5
|
|
| BLAKE2b-256 |
c4293679a095957481d223cf2ab04a3889c100d8e9edbe8a81006cbe048ca03b
|
Provenance
The following attestation bundles were made for pyvalon-0.1.0-py3-none-any.whl:
Publisher:
release-please.yml on EIGSEP/pyvalon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyvalon-0.1.0-py3-none-any.whl -
Subject digest:
6c11c5d5627b58a5afd9f0fb7fea56ba292561a9dd493469caa7765ef3e32da9 - Sigstore transparency entry: 1359836123
- Sigstore integration time:
-
Permalink:
EIGSEP/pyvalon@df7951b525bce56044fe0851c592e341730e7ae4 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/EIGSEP
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@df7951b525bce56044fe0851c592e341730e7ae4 -
Trigger Event:
push
-
Statement type: