Create Cheat sheet authored by Sander Snoo's avatar Sander Snoo
Below are the frequently used methods of pulse-lib with the most common arguments. See other pages for exact definition of [optional] arguments.
# Configuration
TODO
# Segments
```Python
segment.add_block(start, stop, channels, amplitudes)
segment.add_ramp(start, stop, channels, v_start, v_stop)
segment.wait(time, reset_time=True)
segment.reset_time()
```
## all channels
```Python
segment[channel].wait(time, reset_time=True)
segment[channel].reset_time()
```
## Pulse channel
```Python
segment[channel].add_block(start, stop, amplitude)
segment[channel].add_ramp_ss(start, stop, v_start, v_stop)
segment[channel].add_sin(start, stop, amplitude, frequency, phase)
segment[channel].add_custom_pulse(start, stop, amplitude, custom_func, **kwargs)
segment[channel].add_custom_pulse_v2(start, stop, amplitude, custom_func, **kwargs)
def custom_func(duration, sample_rate, amplitude, kwarg1, kwarg2):
...
def custom_func_v2(t: np.ndarray, duration, amplitude, kwarg1, kwarg2):
...
```
Notes:
* `add_block(start, -1, amplitude)` adds a block pulse till the end of the segment. It can be used to set an offset for a longer duration, and eventually reset it after one or more `reset_time` calls.
* `add_sin` is not intended for qubit driving. Use a qubit channel.
## Qubit channel
```Python
segment[channel].add_MW_pulse(start, stop, amplitude, frequency, phase)
segment[channel].add_chirp(start, stop, start_frequency, stop_frequency, amplitude)
segment[channel].add_phase_shift(t, phase)
segment[channel].add_phase_correction(t, phase)
segment[channel].reset_phase(t)
```
## Marker channel
TODO
## Acquisition
TODO