diff --git a/frappy_psi/network_analysers/ZVL/ZVLNode.py b/frappy_psi/network_analysers/ZVL/ZVLNode.py index a7819e72..6cc6e1ac 100644 --- a/frappy_psi/network_analysers/ZVL/ZVLNode.py +++ b/frappy_psi/network_analysers/ZVL/ZVLNode.py @@ -42,7 +42,8 @@ class ZVLNode(fc.Readable): def acq(self): self.status = ('BUSY', 'acquiring') self.NA.set_freq_span(self.central_freq, self.freq_span) - self.value = self.NA.get_data()[1] + freq, vals = self.NA.get_data() + self.value = { 'frequencies': freq, 'magnitudes': vals } self.status = ('IDLE', 'idle') def write_calibration(self, f): diff --git a/frappy_psi/tnmr/OTFModule.py b/frappy_psi/tnmr/OTFModule.py index 164d484f..e7243544 100644 --- a/frappy_psi/tnmr/OTFModule.py +++ b/frappy_psi/tnmr/OTFModule.py @@ -76,7 +76,10 @@ class ProgrammedSequence(fc.Readable): pollinterval = fc.Parameter(default=1) # basic - title = fc.Parameter('title', fc.StringType(), default='Sequence', readonly=False) + sample = fc.Parameter('sample', fc.StringType(), default='', readonly=False) + comments = fc.Parameter('comments', fc.StringType(), default='', readonly=False) + nucleus = fc.Parameter('nucleus', fc.StringType(), default='', readonly=False) + sequence_data = fc.Parameter('sequence_config', fc.ArrayOf(fc.StructOf(pulse_width=fc.FloatRange(unit='usecs'), pulse_height=fc.FloatRange(unit='%'), delay_time=fc.FloatRange(unit='usecs'), @@ -108,7 +111,7 @@ class ProgrammedSequence(fc.Readable): self.ntnmr = te.TNMR() self.inited = True except Exception as e: - print(str(e), repr(e)) + traceback.print_exc() self.ntnmr = None self.inited = False return self.ntnmr @@ -136,18 +139,29 @@ class ProgrammedSequence(fc.Readable): def stop(self): try: - self.tnmr().get_instance().Abort + self.tnmr().get_instance().Abort() self.status = ('IDLE', 'ok - killed') except: + traceback.print_exc() pass ### READ/WRITE - - def write_title(self, t): - self.title = t + + def write_sample(self, t): + self.sample = t self.status = ('IDLE', 'ok - uncompiled') - return self.read_title() - + return self.read_sample() + + def write_comments(self, t): + self.comments = t + self.status = ('IDLE', 'ok - uncompiled') + return self.read_comments() + + def write_nucleus(self, t): + self.nucleus = t + self.status = ('IDLE', 'ok - uncompiled') + return self.read_nucleus() + def write_acquisition_time(self, t): self.acquisition_time = t self.status = ('IDLE', 'ok - uncompiled') @@ -245,6 +259,9 @@ class ProgrammedSequence(fc.Readable): self.compiled_parameters['acq_phase_cycle'] = self.acq_phase_cycle self.compiled_parameters['num_scans'] = self.read_num_scans() self.compiled_parameters['obs_freq'] = self.read_obs_freq() + self.compiled_parameters['comments'] = self.read_comments() + self.compiled_parameters['nucleus'] = self.read_nucleus() + self.compiled_parameters['sample'] = self.read_sample() # then, load the thing into TNMR self.tnmr().load_sequence(filename)