示例#1
0
    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()
示例#2
0
 def shut_down(self):
     ha.PulseGenerator().Light()
     ha.Microwave().setOutput(None, self.mw_frequency)
     ha.RFSource().setOutput(None, self.rf_frequency)
示例#3
0
 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()