herosdevices.hardware.windfreak - Heros Devices 0.5.5 documentation

Skip to content
Back to top
View this page

# herosdevices.hardware.windfreak

Drivers for Windfreak Technologies devices.

## Module Contents

class herosdevices.hardware.windfreak.SynthUSB(address: str, timeout: float = 1.0)

  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` or `herosdevice.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)

  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)

  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

    Ramp frequency and amplitude over a given duration.

    Parameters default to `-1` or `nan` to indicate no change. If the start frequency/amplitude is set to `nan`, 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

    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 single `float`.

      - 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