compile_sequencer_program#

AWGCore.compile_sequencer_program(sequencer_program: str | Sequence, **kwargs: str | int) Tuple[bytes, Dict[str, Any]][source]#

Compiles a sequencer program for the specific device.

Parameters:
  • sequencer_program (str | Sequence) – The sequencer program to compile.

  • kwargs (str | int) –

Keyword Arguments:
  • samplerate – Target sample rate of the sequencer. Only allowed/ necessary for HDAWG devices. Must correspond to the samplerate used by the device (device.system.clocks.sampleclock.freq()). If not specified the function will get the value itself from the device. It is recommended passing the samplerate if more than one sequencer code is uploaded in a row to speed up the execution time.

  • wavepath – path to directory with waveforms. Defaults to path used by LabOne UI or AWG Module.

  • waveforms – waveform CSV files separated by ‘;’

  • output – name of embedded ELF filename.

Returns:

Binary ELF data for sequencer. extra: Extra dictionary with compiler output.

Return type:

elf

Examples

>>> elf, compile_info = device.awgs[0].compile_sequencer_program(seqc)
>>> device.awgs[0].elf.data(elf)
>>> device.awgs[0].ready.wait_for_state_change(1)
>>> device.awgs[0].enable(True)
Raises:
  • RuntimeErrorsequencer_program is empty.

  • RuntimeError – If the compilation failed.

Parameters:
  • sequencer_program (str | Sequence) –

  • kwargs (str | int) –

Return type:

Tuple[bytes, Dict[str, Any]]

New in version 0.4.0.