ka9q-python v3.0.0
ka9q-python v3.0.0 π
Complete RadioD Feature Exposure
This major release provides comprehensive control over all ka9q-radio features through the Python interface. We've exposed 20 new control methods, covering everything from satellite tracking to spectrum analysis.
π What's New
20 New Control Methods
Satellite & Advanced Tuning
- π°οΈ
set_doppler()- Real-time Doppler tracking for satellites - π‘
set_first_lo()- Direct hardware tuner control
Signal Processing
- π
set_pll()- Phase-locked loop for carrier tracking - π
set_squelch()- SNR-based squelch with hysteresis - π»
set_envelope_detection()- AM envelope vs synchronous detection - ποΈ
set_independent_sideband()- ISB mode (USB/LSB to L/R) - πΆ
set_fm_threshold_extension()- Weak FM signal improvement
Audio & Output
- π
set_output_channels()- Mono/stereo control - π΅
set_output_encoding()- Format selection (PCM, Opus) - πΏ
set_opus_bitrate()- Opus quality control - π¦
set_packet_buffering()- Latency vs packet rate trade-off - π
set_destination()- Dynamic output routing
Filtering & Analysis
- ποΈ
set_filter2()- Secondary filter for selectivity - π
set_spectrum()- Spectrum analyzer configuration - π―
set_agc_threshold()- AGC activation tuning
System Control
- βοΈ
set_status_interval()- Status reporting rate - π
set_demod_type()- Dynamic mode switching - π»
set_rf_gain()/set_rf_attenuation()- RF hardware control - π¬
set_options()- Experimental features
π Documentation
New Guides:
- NEW_FEATURES.md - Detailed documentation with examples
- QUICK_REFERENCE.md - Quick lookup guide
- examples/advanced_features_demo.py - Working demo script
π‘ Example Use Cases
Satellite Tracking:
from ka9q import RadiodControl
control = RadiodControl("radiod.local")
control.set_doppler(
ssrc=12345,
doppler_hz=-5000,
doppler_rate_hz_per_sec=100
)Coherent AM Reception:
# Enable PLL for carrier tracking
control.set_pll(ssrc=12345, enable=True, bandwidth_hz=50)
control.set_envelope_detection(ssrc=12345, enable=False)ISB Mode (USB & LSB simultaneously):
control.set_independent_sideband(ssrc=12345, enable=True)
control.set_output_channels(ssrc=12345, channels=2)High-Quality Opus Streaming:
from ka9q.types import Encoding
control.set_output_encoding(ssrc=12345, encoding=Encoding.OPUS)
control.set_opus_bitrate(ssrc=12345, bitrate=128000)Spectrum Analysis:
control.set_spectrum(
ssrc=12345,
bin_bw_hz=100,
bin_count=512,
kaiser_beta=6.0
)β Complete Feature Coverage
This release provides comprehensive coverage of radiod's TLV command set:
β
All 35+ radiod commands now supported
β
Doppler tracking for satellite reception
β
PLL carrier tracking
β
SNR squelch with hysteresis
β
Independent sideband mode
β
FM threshold extension
β
Secondary filtering
β
Spectrum analyzer
β
Output encoding control
β
RF hardware controls
β
Experimental options
π Backward Compatibility
100% backward compatible - All existing code continues to work without modification. All changes are additive.
π¦ Installation
pip install ka9q==3.0.0Or upgrade:
pip install --upgrade ka9qπ§ͺ Testing
Run the demo script to see all new features:
python3 examples/advanced_features_demo.pyπ Full Documentation
- NEW_FEATURES.md - Complete feature documentation
- QUICK_REFERENCE.md - Quick reference with examples
- CHANGELOG.md - Detailed changelog
- RADIOD_FEATURES_SUMMARY.md - Implementation details
π Credits
Thanks to Phil Karn (KA9Q) for creating ka9q-radio and making its source code available for analysis.
π Issues & Feedback
Found a bug or have a feature request? Please open an issue on GitHub:
https://github.com/mijahauan/ka9q-python/issues
Full Changelog: https://github.com/mijahauan/ka9q-python/blob/main/CHANGELOG.md