def _run(self): """Acquire data.""" try: # try to run the acquisition from start_up to shut_down self.state = 'run' self.apply_parameters() ha.PulseGenerator().Night() ha.Microwave().setOutput(self.mwA_power, self.mwA_frequency) ha.MicrowaveD().setOutput(self.mwB_power, self.mwB_frequency) tagger = ha.TimeTagger.Pulsed(self.n_bins, int(np.round(self.bin_width * 1000)), 1, 0, 2, 3) tagger.setMaxCounts(self.sweeps_per_point) ha.PulseGenerator().Sequence(self.sequence) ha.RFSource().setMode() while True: if self.thread.stop_request.isSet(): break t_start = time.time() for i, fi in enumerate(self.frequencies): # ESR: #ha.Microwave().setOutput(self.mw_power,fi) ha.RFSource().setOutput(self.rf_power, fi) tagger.clear() while not tagger.ready(): time.sleep(1.1 * self.seconds_per_point) self.count_data[i, :] += tagger.getData()[0] self.trait_property_changed('count_data', self.count_data) self.run_time += time.time() - t_start del tagger ha.PulseGenerator().Light() ha.Microwave().setOutput(None, self.mwA_frequency) ha.MicrowaveD().setOutput(None, self.mwB_frequency) ha.RFSource().setOutput(None, self.rf_begin) finally: # if anything fails, recover self.state = 'idle' ha.PulseGenerator().Light()
def shut_down(self): ha.PulseGenerator().Light() ha.Microwave().setOutput(None, self.mw_frequency) ha.RFSource().setOutput(None, self.rf_frequency)
def start_up(self): ha.PulseGenerator().Night() ha.Microwave().setOutput(self.mw_power, self.mw_frequency) ha.RFSource().setOutput(self.rf_power, self.rf_frequency) ha.RFSource().setMode()