Controller for Windfreak SynthHD v2 RF Generator
Helper code to control Windfreak's SynthHD RF generator.
Installation
pip install qt3rfsynthcontrol
Usage
Determine the port
import qt3rfsynthcontrol
qt3rfsynthcontrol.discover_devices()
Will return a list of ports and information about devices connected to those ports. For example
[['COM3',
'Intel(R) Active Management Technology - SOL (COM3)',
'PCI\\VEN_8086&DEV_43E3&SUBSYS_0A541028&REV_11\\3&11583659&1&B3'],
['COM5',
'USB Serial Device (COM5)',
'USB VID:PID=0483:A3E5 SER=206A36705430 LOCATION=1-2:x.0'],
['COM6',
'USB Serial Device (COM6)',
'USB VID:PID=04D8:000A SER= LOCATION=1-8:x.0'],
['COM7',
'USB Serial Device (COM7)',
'USB VID:PID=239A:8014 SER=3B0D07C25831555020312E341A3214FF LOCATION=1-6:x.0']]
It is certainly not obvious to which USB port the Windfreak is connected. However, using the Windows Task Manager, as well as trial and error, should eventually reveal the correct serial port to use.
Connection to SynthHD
rf_synth = qt3rfsynthcontrol.QT3SynthHD('COM5')
Hardware Info
rf_synth.hw_info()
Current Signal Status
rf_synth.current_status()
Set Fixed Frequency
channel_A = 0
channel_B = 1
rf_synth.set_channel_fixed_output(channel_A, power = -5.0, frequency = 2870e6)
Set Up For Frequency Scan
Frequency scan can either be triggered externally (using the Quantum Composer Sapphire pulser, or other), or can run independent of any external control.
channel_A = 0
channel_B = 1
rf_synth.set_frequency_sweep(channel_A, power = -5.0, frequency_low = 2820e6,
frequency_high = 2920e6, n_steps = 101,
trigger_mode = 'single frequency step',
frequency_sample_time = 0.100)
See the function's documentation for further details
help(rf_synth.set_frequency_sweep)
Turn RF ON/OFF
The RF generation can be turned on and off with
channel_A = 0
channel_B = 1
rf_synth.rf_on(channel_A)
rf_sythh.rf_off(channel_A)
Windfreak.SynthHD
If you wish to use the windfreak-python SynthHD object instance directly, you
can obtain it from the property SynthHD. Usage of
windfreak-python is documented here.
windfreak_synthhd = rf_synth.SynthHD()
print(windfreak_synthhd[0].power)
print(windfreak_synthhd[0].frequency)
The documentation is a little sparse, however. The full set of commands are found in
It can take a little effort to match the python API with the description in the manual as
some of the windfreak-python API functions do not exactly match the function name in the manual.
For example sweep_single in windfreak-python is called sweep_run or run_sweep
in the programming manual.
LICENSE
Metadata
Release files for qt3rfsynthcontrol 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qt3rfsynthcontrol-1.0.1.tar.gz | 8.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qt3rfsynthcontrol-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.3 kB
Release files / qt3rfsynthcontrol-1.0.1.tar.gz
| Download URL | qt3rfsynthcontrol-1.0.1.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aca5a94d1c49cb4e79338a43ae807149d512a4d1449f56f41673b6b6c2d65318
|
|
BLAKE2b-256 checksum How to use checksums |
dc979badd1786fe16689b2e726949c05a12abf9178c5fc18115bdbbf90d175a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / qt3rfsynthcontrol-1.0.1-py3-none-any.whl
| Download URL | qt3rfsynthcontrol-1.0.1-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8ff02b43e7036f595e80176553a492e836c7c6a4b1cccdf79c87d104e6534157
|
|
BLAKE2b-256 checksum How to use checksums |
2d0e59d3077f541f4c01829eeef89c45fef03198dd7629a65eea8f818a02d057
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|