pyepr.hardware.Bruker_AWG.BrukerAWG =================================== .. py:class:: pyepr.hardware.Bruker_AWG.BrukerAWG(config_file) Bases: :py:obj:`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_file** : dict The path to a YAML configuration file. :Attributes: **bg_thread: None or threading.Thread** If a background thread is needed, it is stored here. .. !! processed by numpydoc !! .. py:attribute:: api .. py:attribute:: spec_config .. py:attribute:: bridge_config .. py:attribute:: temp_dir :value: b'.' .. py:attribute:: d0 .. py:attribute:: bg_thread :value: None .. py:attribute:: bg_data :value: None .. py:attribute:: cur_exp :value: None .. py:attribute:: tuning :value: False .. py:attribute:: pool .. py:attribute:: savename :value: '' .. py:attribute:: savefolder :value: '' .. py:attribute:: setup_flag :value: False .. py:method:: connect(d0=None) .. py:method:: setup(d0=None) .. py:method:: acquire_dataset(**kwargs) Acquires the dataset. .. !! processed by numpydoc !! .. py:method:: _launch_complex_thread(sequence, axID=1, tune=True) .. py:method:: launch(sequence, savename, start=True, tune=True, MPFU_overwrite=None, update_pulsespel=True, reset_bg_data=True, reset_cur_exp=True, IFgain=None, **kwargs) Launches the experiment and initialises autosaving. :Parameters: **sequence** : Sequence The sequence to be launched **savename** : str The savename for this measurement. A timestamp will be added to the value. .. !! processed by numpydoc !! .. py:method:: tune_rectpulse(*, tp, freq, 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: **tp** : float Pulse length in ns **freq** : float Central frequency of this pulse in GHz **B** : float 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 .. !! processed by numpydoc !! .. py:method:: tune_pulse(pulse, mode, freq, B, reptime, shots=400, tp=12) Tunes a single pulse a range of methods. :Parameters: **pulse** : Pulse The Pulse object in need of tuning. **mode** : str The method to be used. **freq** : float The local oscilator frequency in GHz **B** : float Magnetic B0 field position in Gauss **reptime** : us Shot repetion time in us. **shots: int** The number of shots **tp: float** The length of the pi/2 pulse used for Hahn Echo, by default 12 ns. The pi pulse will be twice the length :Returns: Tunned Pulse: Pulse The returned pulse object that is now tunned. .. !! processed by numpydoc !! .. py:method:: phasetune_pulse(pulse) .. py:method:: isrunning() .. py:method:: terminate(now=False) Terminates the experiment immediately. .. !! processed by numpydoc !! .. py:method:: terminate_at(criterion, test_interval=2, keep_running=True, verbosity=0, autosave=True) Terminates the experiment upon a specific condition being satisified. :Parameters: **criterion** : _type_ The criteria to be tested. **test_interval** : int, optional How often should the criteria be tested in minutes, by default 10. **keep_running** : bool, optional If True, an error will not be raised if the experiment finishes before the criteria is met, by default True. **verbosity** : int, optional The verbosity level, by default 0. **autosave** : bool, optional If True, the data will be autosaved, by default True. .. !! processed by numpydoc !! .. py:method:: calc_d0() This creates an initial guess for d0. A better estimate can only be found after the field sweep. .. !! processed by numpydoc !! .. py:method:: calc_d0_from_Hahn_Echo(B=None, freq=None)