pyepr.hardware.Bruker_AWG.BrukerAWG

class pyepr.hardware.Bruker_AWG.BrukerAWG(config_file)

Bases: pyepr.classes.Interface

Represents the interface for connecting to AWG based Bruker ELEXSYS-II Spectrometers.

An interface for connecting to AWG based Bruker ELEXSYS-II Spectrometers.

Parameters:
config_filestr

The path to a YAML configuration file.

Attributes:
bg_thread: None or threading.Thread

If a background thread is needed, it is stored here.

Parameters:

config_file (str)

api
spec_config
bridge_config
temp_dir
d0
bg_thread = None
bg_data = None
cur_exp = None
tuning = False
pool
savename = ''
savefolder
setup_flag = False
connect(d0=None)
Return type:

None

setup(d0=None)
acquire_dataset()

Acquires the dataset.

_launch_complex_thread(sequence, axID=1, tune=True)
launch(sequence, savename, start=True, tune=True, MPFU_overwrite=None, update_pulsespel=True, reset_bg_data=True, reset_cur_exp=True, **kwargs)

Launches the experiment and initialises autosaving.

Parameters:
sequenceSequence

The sequence to be launched

savenamestr

The savename for this measurement. A timestamp will be added to the value.

Parameters:
tune_rectpulse(*, tp, LO, B, reptime, shots=400)

Generates a rectangular pi and pi/2 pulse of the given length at the given field position. This value is stored in the pulse cache.

Parameters:
tpfloat

Pulse length in ns

LOfloat

Central frequency of this pulse in GHz

Bfloat

Magnetic B0 field position in Gauss

reptime: float

Shot repetion time in us.

shots: int

The number of shots

Returns:
p90: RectPulse

A tuned rectangular pi/2 pulse of length tp

p180: RectPulse

A tuned rectangular pi pulse of length tp

tune_pulse(pulse, mode, LO, B, reptime, shots=400)

Tunes a single pulse a range of methods.

Parameters:
pulsePulse

The Pulse object in need of tuning.

modestr

The method to be used.

LOfloat

The local oscilator frequency in GHz

Bfloat

Magnetic B0 field position in Gauss

reptimeus

Shot repetion time in us.

shots: int

The number of shots

Returns:
Tunned Pulse: Pulse

The returned pulse object that is now tunned.

isrunning()
Return type:

bool

terminate(now=False)

Terminates the experiment immediately.

Return type:

None

calc_d0()

This creates an initial guess for d0. A better estimate can only be found after the field sweep.

calc_d0_from_Hahn_Echo(B=None, LO=None)