herosdevices.hardware.windfreak¶
Drivers for Windfreak Technologies devices.
Module Contents¶
- class herosdevices.hardware.windfreak.SynthUSB(address: str, timeout: float = 1.0)[source]¶
Bases:
herosdevices.interfaces.atomiq.RFSource
,herosdevices.core.templates.SerialDeviceTemplate
Base class for Windfreak Synth USB RF generators.
Not for standalone use, use
herosdevice.device.windfreak.SynthUSB2
orherosdevice.device.windfreak.SynthUSB3
instead.- amplitude: float = 0¶
- freq_max: float = 6400000000.0¶
- freq_min: float = 12500000.0¶
- status¶
- frequency: float = 1000000.0¶
- phase: float = 0.0¶
- amp_max: float = 1.0¶
- amp_min: float = 0.0¶
- default_ramp_steps: int = 30¶
- blind: bool = False¶
- address¶
- connection¶
- class herosdevices.hardware.windfreak.SynthUSBII(address: str, timeout: float = 1.0)[source]¶
Bases:
SynthUSB
Windfreak SynthUSB2 RF generator driver.
- amp_max: float = 3¶
- amp_min: float = 0¶
- on: int¶
- high_rf: int¶
- amplitude: int¶
- frequency¶
- freq_max: float = 6400000000.0¶
- freq_min: float = 12500000.0¶
- status¶
- phase: float = 0.0¶
- default_ramp_steps: int = 30¶
- blind: bool = False¶
- address¶
- connection¶
- class herosdevices.hardware.windfreak.SynthUSBIII(address: str, timeout: float = 1.0)[source]¶
Bases:
SynthUSB
Windfreak SynthUSB3 RF generator driver.
- amp_max: float = 10¶
- amp_min: float = -50¶
- frequency¶
- amplitude¶
- doubler¶
- frequency_ramp_lower¶
- frequency_ramp_upper¶
- ramp_step_size¶
- ramp_step_time¶
- amplitude_ramp_lower¶
- amplitude_ramp_upper¶
- ramp_direction¶
- run_sweep¶
- sweep_cont¶
- ramp(duration: float, frequency_start: float = float('nan'), frequency_end: float = float('nan'), amplitude_start: float = float('nan'), amplitude_end: float = float('nan'), ramp_timestep: float = float('nan'), ramp_steps: int = -1) None [source]¶
Ramp frequency and amplitude over a given duration.
Parameters default to
-1
ornan
to indicate no change. If the start frequency/amplitude is set tonan
, the ramp starts from the last frequency/amplitude which was set. This method advances the timeline by duration- Parameters:
duration – ramp duration [s]
frequency_start – initial frequency [Hz]
frequency_end – end frequency [Hz]
amplitude_start – initial amplitude [0..1]
amplitude_end – end amplitude [0..1]
ramp_timesteps – time between steps in the ramp [s]
ramp_steps – number of steps the whole ramp should have. This takes precedence over ramp_timesteps
- abstractmethod arb(duration: float, samples_amp: list[float], samples_freq: list[float], samples_phase: list[float], repetitions: int = 1, prepare_only: bool = False, run_prepared: bool = False, transform_amp: collections.abc.Callable[[float], float] = lambda x: ..., transform_freq: collections.abc.Callable[[float], float] = lambda x: ..., transform_phase: collections.abc.Callable[[float], float] = lambda x: ...) Never [source]¶
Play Arbitrary Samples from a List.
This method is currently not implemented on the Windfreak SynthUSB3. The device would be capable of this and drivers can be extended.
- Parameters:
samples_amp – List of amplitude samples. If this list is empty (default), the amplitude is not modified.
samples_freq – List of frequency samples. If this list is empty (default), the frequency is not modified.
samples_phase – List of phase samples. If this list is empty (default), the phase is not modified.
duration – The time in which the whole sequence of samples should be played back [s].
repetitions – Number of times the sequence of all samples should be played. (default 1)
prepare_only – Only write the sequence to RAM, don’t play it.
run_prepared – Play arb sequence previously prepared with
prepare_only
.transform_amp – Function to transform amplitude samples, must take a single argument of type
float
and return a singlefloat
.transform_freq – Function to transform frequency samples (see
transform_amp
).transform_phase – Function to transform phase samples (see
transform_amp
).
- freq_max: float = 6400000000.0¶
- freq_min: float = 12500000.0¶
- status¶
- phase: float = 0.0¶
- default_ramp_steps: int = 30¶
- blind: bool = False¶
- address¶
- connection¶