rf-bench-drivers-yaesu
Yaesu FT-891 radio driver for bench automation. Part of the rf-bench-drivers family of
packages that share the rf_bench.* namespace.
This package provides a Hamlib rigctld TCP client for the Yaesu FT-891 transceiver,
with an API intentionally compatible with the IC-7300 driver (rf-bench-drivers-icom)
for drop-in substitution in automated test scripts.
Hardware requirements
- Yaesu FT-891 connected via USB-B cable to the host PC
- Hamlib 4.x installed (
sudo apt install libhamlib-utilsor build from source) - rigctld running before any test starts:
rigctld -m 1036 -r /dev/ttyUSB0 -s 38400 &
The FT-891's CAT baud rate is set in Menu 031 (CAT RATE); factory default is 38400.
The -s flag must match the menu setting.
If you are also running an IC-7300 on port 4532, run the FT-891 rigctld on a different port:
rigctld -m 1036 -r /dev/ttyUSB1 -s 38400 -t 4533 &
Then connect with FT891("localhost", 4533).
Installation
pip install rf-bench-drivers-yaesu
No external dependencies — uses only the Python standard library (socket, math, time).
Usage
from rf_bench.yaesu import FT891, PREAMP_OFF, PREAMP_AMP1
# Connect (defaults to localhost:4532)
rig = FT891()
# Core interface — identical to IC7300
rig.set_frequency(14_200_000) # Hz
rig.set_mode("usb") # 'usb','lsb','cw','cwr','am','fm','rtty'
rig.set_agc("slow") # 'off','fast','mid','slow'
strength = rig.get_strength() # raw Hamlib STRENGTH value
strength = rig.get_strength_settled(settle_s=0.5, samples=3)
rig.set_rf_gain(1.0) # 0.0–1.0
mode, passband = rig.get_mode() # e.g. ('USB', 2400)
freq = rig.get_frequency() # Hz
rig.close()
# Context manager
with FT891() as rig:
rig.set_frequency(7_100_000)
print(rig.get_strength_settled())
# FT-891-specific: preamp / IPO control
rig.set_preamp(PREAMP_OFF) # IPO engaged — preamp bypassed (strong-signal tests)
rig.set_preamp(PREAMP_AMP1) # AMP1 active (~10 dB gain, MDS/sensitivity tests)
level = rig.get_preamp() # 0 = IPO/off, 1 = AMP1
# FT-891-specific: front-end attenuator
rig.set_att(0) # off
rig.set_att(6) # 6 dB
rig.set_att(12) # 12 dB
att = rig.get_att()
AGC caveat
set_agc("off") is not a true bypass on the FT-891. Hamlib maps AGC=0 to the
slowest AGC time constant. The FT-891 has no hardware AGC-off path. For absolute
signal level measurements, use set_agc("slow") combined with set_rf_gain() and
verify linearity empirically.
This differs from the IC-7300, where set_agc("off") engages a true hardware bypass.
STRENGTH scale
The Hamlib STRENGTH value returned by get_strength() / get_strength_settled() is
specific to the FT-891 + Hamlib version combination and is not directly comparable
to IC-7300 readings. Run a separate S-meter calibration sweep to map STRENGTH to dBm
for each rig.
Related packages
| Package | Namespace | Description |
|---|---|---|
rf-bench-drivers-icom |
rf_bench.icom |
Icom IC-7300 driver |
rf-bench-drivers-siglent |
rf_bench.siglent |
Siglent instrument drivers (SSA, SDG, SDS, SDM, SPD) |
rf-bench-utils |
rf_bench.utils |
RF math utilities (power conversion, noise, IP3, etc.) |
License
GPL-3.0-or-later. See LICENSE.
Metadata
Release files for rf-bench-drivers-yaesu 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rf_bench_drivers_yaesu-0.1.0.tar.gz | 19.0 kB | Without provenance | Details for rf_bench_drivers_yaesu-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rf_bench_drivers_yaesu-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for rf_bench_drivers_yaesu-0.1.0-py3-none-any.whl |
Total release size: 38.7 kB
Release files / rf_bench_drivers_yaesu-0.1.0.tar.gz
| Download URL | rf_bench_drivers_yaesu-0.1.0.tar.gz |
|---|---|
| Size | 19.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58e089cbce08bf0ec7150cccddcdebc80b73a384cef732cd4f686d3e8576914e
|
|
BLAKE2b-256 checksum How to use checksums |
60f7c74910eb67391ed96169c72092acb3997eb19a0017100974e24f38952757
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Release files / rf_bench_drivers_yaesu-0.1.0-py3-none-any.whl
| Download URL | rf_bench_drivers_yaesu-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0c305877f9cdfa63b2b884ce100344fb30df1b16d70848c0585cb3b6527262b6
|
|
BLAKE2b-256 checksum How to use checksums |
784c25005160393d548cfc744830d20405482e35e67cea666255a6fcf1c152e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Security for rf-bench-drivers-yaesu 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.