WaveBudget

Contents

WaveBudget#

class pulserver.ir.WaveBudget[source]#

Bases: object

What a playout’s waveform memory affords the waves.

A property of the playout, not of the sequence: the C library’s pulseg_wave_budget. convert() lays the waves out for it, and a playout refuses a cache laid out for another budget.

Attributes:
  • max_samples (int) – Samples each gradient axis holds for waves.

  • raster_us (float) – The playout’s gradient raster, in µs per sample.

  • load_us_per_sample (float) – Time to sample and load one sample on one axis, in µs; 0 leaves the loading unchecked.

  • headroom (float) – Share of the playout’s time its loading may take.

  • slots (int) – Slots per segment position a streamed layout rings through, at least 2: one more than the segment instances the loading may run ahead of the playout.

Raises:

ValueError – If the raster or the headroom is not positive, the memory or the load rate is negative, or there are fewer than two slots.

Attributes