3.1.3. qupulse._program.tabor¶
- class qupulse._program.tabor.ParsedProgram(advanced_sequencer_table, sequencer_tables, waveforms, volatile_parameter_positions)¶
Bases:
tuple
Create new instance of ParsedProgram(advanced_sequencer_table, sequencer_tables, waveforms, volatile_parameter_positions)
- property advanced_sequencer_table¶
Alias for field number 0
- property sequencer_tables¶
Alias for field number 1
- property volatile_parameter_positions¶
Alias for field number 3
- property waveforms¶
Alias for field number 2
- class qupulse._program.tabor.PlottableProgram(segments, sequence_tables, advanced_sequence_table)[source]¶
Bases:
object
- classmethod from_read_data(waveforms, sequence_tables, advanced_sequence_table)[source]¶
- Return type
- class qupulse._program.tabor.PositionalEntry(position, element_number, repetition_count, jump_flag)¶
Bases:
tuple
Entry in sequencing or advanced sequencer table as uploaded with :SEQ:DEFor :ASEQ:DEF
Create new instance of PositionalEntry(position, element_number, repetition_count, jump_flag)
- property element_number¶
Alias for field number 1
- property jump_flag¶
Alias for field number 3
- property position¶
Alias for field number 0
- property repetition_count¶
Alias for field number 2
- class qupulse._program.tabor.TableDescription(repetition_count, element_id, jump_flag)¶
Bases:
tuple
Entry in sequencing or advanced sequencer table but with an element ‘reference’ instead ofthe hardware bound ‘number’
Create new instance of TableDescription(repetition_count, element_id, jump_flag)
- property element_id¶
Alias for field number 1
- property jump_flag¶
Alias for field number 2
- property repetition_count¶
Alias for field number 0
- class qupulse._program.tabor.TableEntry(repetition_count, element_number, jump_flag)¶
Bases:
tuple
Entry in sequencing or advanced sequencer table as uploaded to the AWG withdownload_adv_seq_table or download_sequencer_table
Create new instance of TableEntry(repetition_count, element_number, jump_flag)
- property element_number¶
Alias for field number 1
- property jump_flag¶
Alias for field number 2
- property repetition_count¶
Alias for field number 0
- class qupulse._program.tabor.TaborProgram(program, device_properties, channels, markers, amplitudes, offsets, voltage_transformations, sample_rate, mode=None, repetition_mode='infinite')[source]¶
Bases:
qupulse.hardware.awgs.base.ProgramEntry
- Implementations notes concerning indices / position
index: zero based index in internal data structure f.i. the waveform list
position: ?
no/number: one based index on device
Args: loop: channels: markers: amplitudes: offsets: voltage_transformations: sample_rate: waveforms: These waveforms are sampled and stored in _waveforms. If None the waveforms are extracted from loop
- property channels: Tuple[Optional[Union[str, int]], Optional[Union[str, int]]]¶
- get_advanced_sequencer_table()[source]¶
Advanced sequencer table that can be used via the download_adv_seq_table pytabor command
- Return type
- property markers: Tuple[Optional[Union[str, int]], Optional[Union[str, int]]]¶
- class qupulse._program.tabor.TaborSegment(*, data)[source]¶
Bases:
object
Represents one segment of two channels on the device. Convenience class. The data is stored in native format
- CHANNEL_MASK = 16383¶
- MARKER_A_MASK = 16384¶
- MARKER_B_MASK = 32768¶
- QUANTUM = 16¶
- ZERO_VAL = 8192¶
- property ch_a¶
- property ch_b¶
- property native: numpy.ndarray¶
You must not change native (data or shape)
- Return type
- Returns
An array with shape (n_quanta, 2, 16)
- class qupulse._program.tabor.TaborSequencing(value)[source]¶
Bases:
enum.Enum
An enumeration.
- ADVANCED = 2¶
- SINGLE = 1¶
- qupulse._program.tabor.make_combined_wave(segments, destination_array=None)[source]¶
Combine multiple segments to one binary blob for bulk upload. Better implementation of pytabor.make_combined_wave.
- Parameters
segments (
List
[TaborSegment
]) –destination_array –
- Return type
- Returns
1 d array for upload to instrument
- qupulse._program.tabor.prepare_program_for_advanced_sequence_mode(program, min_seq_len, max_seq_len)[source]¶
This function tries to bring the program in a form, where the sequence tables’ lengths are valid.
- Parameters
- Raises
TaborException – if a sequence table that is too long cannot be shortened or a sequence table that is to short cannot be enlarged.